///
/// [`Copy`]: crate::marker::Copy
/// [`read`]: crate::ptr::read
-/// [read-ownership]: ../ptr/fn.read.html#ownership-of-the-returned-value
-/// [valid]: ../ptr/index.html#safety
+/// [read-ownership]: crate::ptr::read
+/// [valid]: crate::ptr
///
/// # Examples
///
///
/// [`Copy`]: crate::marker::Copy
/// [`read`]: crate::ptr::read
-/// [read-ownership]: ../ptr/fn.read.html#ownership-of-the-returned-value
-/// [valid]: ../ptr/index.html#safety
+/// [read-ownership]: crate::ptr::read
+/// [valid]: crate::ptr
///
/// # Examples
///
/// Note that even if the effectively copied size (`count * size_of::<T>()`) is
/// `0`, the pointer must be non-NULL and properly aligned.
///
-/// [valid]: ../ptr/index.html#safety
+/// [valid]: crate::ptr
///
/// # Examples
///