@@ -114,11 +114,17 @@ pub unsafe fn replace<T>(dest: *mut T, mut src: T) -> T {
114
114
/// # Safety
115
115
///
116
116
/// Beyond accepting a raw pointer, this is unsafe because it semantically
117
- /// moves the value out of `src` without preventing further usage of `src`.
118
- /// If `T` is not `Copy`, then care must be taken to ensure that the value at
119
- /// `src` is not used before the data is overwritten again (e.g. with `write`,
120
- /// `zero_memory`, or `copy_memory`). Note that `*src = foo` counts as a use
121
- /// because it will attempt to drop the value previously at `*src`.
117
+ /// moves the value out of `src` without preventing further usage of `src`. If
118
+ /// `T` is not [`Copy`], then care must be taken to ensure that the value at
119
+ /// `src` is not used before the data is overwritten again (e.g. with
120
+ /// [`write`], [`zero_memory`], or [`copy_memory`]). Note that `*src = foo`
121
+ /// counts as a use because it will attempt to drop the value previously at
122
+ /// `*src`.
123
+ ///
124
+ /// [`Copy`]: ../marker/trait.Copy.html
125
+ /// [`write`]: fn.write.html
126
+ /// [`zero_memory`]: fn.zero_memory.html
127
+ /// [`copy_memory`]: fn.copy_memory.html
122
128
///
123
129
/// # Examples
124
130
///
@@ -206,11 +212,17 @@ pub unsafe fn write<T>(dst: *mut T, src: T) {
206
212
/// # Safety
207
213
///
208
214
/// Beyond accepting a raw pointer, this is unsafe because it semantically
209
- /// moves the value out of `src` without preventing further usage of `src`.
210
- /// If `T` is not `Copy`, then care must be taken to ensure that the value at
211
- /// `src` is not used before the data is overwritten again (e.g. with `write`,
212
- /// `zero_memory`, or `copy_memory`). Note that `*src = foo` counts as a use
213
- /// because it will attempt to drop the value previously at `*src`.
215
+ /// moves the value out of `src` without preventing further usage of `src`. If
216
+ /// `T` is not [`Copy`], then care must be taken to ensure that the value at
217
+ /// `src` is not used before the data is overwritten again (e.g. with
218
+ /// [`write`], [`zero_memory`], or [`copy_memory`]). Note that `*src = foo`
219
+ /// counts as a use because it will attempt to drop the value previously at
220
+ /// `*src`.
221
+ ///
222
+ /// [`Copy`]: ../marker/trait.Copy.html
223
+ /// [`write`]: fn.write.html
224
+ /// [`zero_memory`]: fn.zero_memory.html
225
+ /// [`copy_memory`]: fn.copy_memory.html
214
226
///
215
227
/// # Examples
216
228
///
0 commit comments