///
/// # Safety
///
- /// `copy_nonoverlapping` is unsafe because it dereferences a raw pointer.
- /// The caller must ensure that `src` points to a valid sequence of type
- /// `T`.
- ///
- /// # Undefined Behavior
- ///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * The region of memory which begins at `src` and has a length of
/// `count * size_of::<T>()` bytes must be valid (but may or may not be
/// initialized).
///
+ /// * The two regions of memory must *not* overlap.
+ ///
/// * `src` must be properly aligned.
///
/// * `dst` must be properly aligned.
///
- /// * The two regions of memory must *not* overlap.
+ /// Additionally, if `T` is not [`Copy`], only the region at `src` *or* the
+ /// region at `dst` can be used or dropped after calling
+ /// `copy_nonoverlapping`. `copy_nonoverlapping` creates bitwise copies of
+ /// `T`, regardless of whether `T: Copy`, which can result in undefined
+ /// behavior if both copies are used.
///
- /// Additionally, if `T` is not [`Copy`](../marker/trait.Copy.html), only
- /// the region at `src` *or* the region at `dst` can be used or dropped
- /// after calling `copy_nonoverlapping`. `copy_nonoverlapping` creates
- /// bitwise copies of `T`, regardless of whether `T: Copy`, which can result
- /// in undefined behavior if both copies are used.
+ /// [`Copy`]: ../marker/trait.Copy.html
///
/// # Examples
///
///
/// # Safety
///
- /// `copy` is unsafe because it dereferences a raw pointer. The caller must
- /// ensure that `src` points to a valid sequence of type `T`.
- ///
- /// # Undefined Behavior
- ///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * The region of memory which begins at `src` and has a length of
///
/// # Safety
///
- /// `write_bytes` is unsafe because it dereferences a raw pointer. The
- /// caller must ensure that the poiinter points to a valid value of type `T`.
- ///
- /// # Undefined Behavior
- ///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * The region of memory which begins at `dst` and has a length of
///
/// # Safety
///
-/// `drop_in_place` is unsafe because it dereferences a raw pointer. The caller
-/// must ensure that the pointer points to a valid value of type `T`.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `to_drop` must point to valid memory.
///
/// # Safety
///
-/// `swap` is unsafe because it dereferences a raw pointer. The caller must
-/// ensure that both pointers point to valid values of type `T`.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `x` and `y` must point to valid, initialized memory.
/// operates on raw pointers instead of references. When references are
/// available, [`mem::replace`] should be preferred.
///
-/// # Safety
-///
-/// `replace` is unsafe because it dereferences a raw pointer. The caller
-/// must ensure that the pointer points to a valid value of type `T`.
-///
/// [`mem::replace`]: ../mem/fn.replace.html
///
-/// # Undefined Behavior
+/// # Safety
///
/// Behavior is undefined if any of the following conditions are violated:
///
///
/// # Safety
///
-/// `read` is unsafe because it dereferences a raw pointer. The caller
-/// must ensure that the pointer points to a valid value of type `T`.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `src` must point to valid, initialized memory.
///
/// # Safety
///
-/// `read_unaligned` is unsafe because it dereferences a raw pointer. The caller
-/// must ensure that the pointer points to a valid value of type `T`.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `src` must point to valid, initialized memory.
///
/// # Safety
///
-/// `write` is unsafe because it dereferences a raw pointer.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `dst` must point to valid memory.
///
/// # Safety
///
-/// `write_unaligned` is unsafe because it dereferences a raw pointer.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `dst` must point to valid memory.
///
/// # Safety
///
-/// `read_volatile` is unsafe because it dereferences a raw pointer. The caller
-/// must ensure that the pointer points to a valid value of type `T`.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `src` must point to valid, initialized memory.
///
/// # Safety
///
-/// `write_volatile` is unsafe because it dereferences a raw pointer.
-///
-/// # Undefined Behavior
-///
/// Behavior is undefined if any of the following conditions are violated:
///
/// * `dst` must point to valid memory.