@@ -132,7 +132,6 @@ pub use intrinsics::transmute;
132132/// [uninit]: fn.uninitialized.html
133133/// [clone]: ../clone/trait.Clone.html
134134/// [swap]: fn.swap.html
135- /// [FFI]: ../../book/first-edition/ffi.html
136135/// [box]: ../../std/boxed/struct.Box.html
137136/// [leak]: ../../std/boxed/struct.Box.html#method.leak
138137/// [into_raw]: ../../std/boxed/struct.Box.html#method.into_raw
@@ -479,7 +478,7 @@ pub const fn needs_drop<T>() -> bool {
479478///
480479/// This has the same effect as allocating space with
481480/// [`mem::uninitialized`][uninit] and then zeroing it out. It is useful for
482- /// [ FFI] sometimes, but should generally be avoided.
481+ /// FFI sometimes, but should generally be avoided.
483482///
484483/// There is no guarantee that an all-zero byte-pattern represents a valid value of
485484/// some type `T`. If `T` has a destructor and the value is destroyed (due to
@@ -490,7 +489,6 @@ pub const fn needs_drop<T>() -> bool {
490489/// many of the same caveats.
491490///
492491/// [uninit]: fn.uninitialized.html
493- /// [FFI]: ../../book/first-edition/ffi.html
494492/// [ub]: ../../reference/behavior-considered-undefined.html
495493///
496494/// # Examples
@@ -514,11 +512,9 @@ pub unsafe fn zeroed<T>() -> T {
514512/// **This is incredibly dangerous and should not be done lightly. Deeply
515513/// consider initializing your memory with a default value instead.**
516514///
517- /// This is useful for [ FFI] functions and initializing arrays sometimes,
515+ /// This is useful for FFI functions and initializing arrays sometimes,
518516/// but should generally be avoided.
519517///
520- /// [FFI]: ../../book/first-edition/ffi.html
521- ///
522518/// # Undefined behavior
523519///
524520/// It is [undefined behavior][ub] to read uninitialized memory, even just an
@@ -689,10 +685,9 @@ pub fn replace<T>(dest: &mut T, mut src: T) -> T {
689685/// While this does call the argument's implementation of [`Drop`][drop],
690686/// it will not release any borrows, as borrows are based on lexical scope.
691687///
692- /// This effectively does nothing for
693- /// [types which implement `Copy`](../../book/first-edition/ownership.html#copy-types),
694- /// e.g. integers. Such values are copied and _then_ moved into the function,
695- /// so the value persists after this function call.
688+ /// This effectively does nothing for types which implement `Copy`, e.g.
689+ /// integers. Such values are copied and _then_ moved into the function, so the
690+ /// value persists after this function call.
696691///
697692/// This function is not magic; it is literally defined as
698693///
0 commit comments