@@ -1940,32 +1940,32 @@ impl<T: ?Sized + fmt::Display> fmt::Display for RefMut<'_, T> {
19401940/// The precise Rust aliasing rules are somewhat in flux, but the main points are not contentious: 
19411941/// 
19421942/// - If you create a safe reference with lifetime `'a` (either a `&T` or `&mut T` reference), then 
1943- /// you must not access the data in any way that contradicts that reference for the remainder of 
1944- /// `'a`. For example, this means that if you take the `*mut T` from an `UnsafeCell<T>` and cast it 
1945- /// to an `&T`, then the data in `T` must remain immutable (modulo any `UnsafeCell` data found 
1946- /// within `T`, of course) until that reference's lifetime expires. Similarly, if you create a `&mut  
1947- /// T` reference that is released to safe code, then you must not access the data within the 
1948- /// `UnsafeCell` until that reference expires. 
1943+ ///    you must not access the data in any way that contradicts that reference for the remainder of 
1944+ ///    `'a`. For example, this means that if you take the `*mut T` from an `UnsafeCell<T>` and cast it 
1945+ ///    to an `&T`, then the data in `T` must remain immutable (modulo any `UnsafeCell` data found 
1946+ ///    within `T`, of course) until that reference's lifetime expires. Similarly, if you create a 
1947+ ///   `&mut  T` reference that is released to safe code, then you must not access the data within the 
1948+ ///    `UnsafeCell` until that reference expires. 
19491949/// 
19501950/// - For both `&T` without `UnsafeCell<_>` and `&mut T`, you must also not deallocate the data 
1951- /// until the reference expires. As a special exception, given an `&T`, any part of it that is 
1952- /// inside an `UnsafeCell<_>` may be deallocated during the lifetime of the reference, after the 
1953- /// last time the reference is used (dereferenced or reborrowed). Since you cannot deallocate a part 
1954- /// of what a reference points to, this means the memory an `&T` points to can be deallocated only if 
1955- /// *every part of it* (including padding) is inside an `UnsafeCell`. 
1951+ ///    until the reference expires. As a special exception, given an `&T`, any part of it that is 
1952+ ///    inside an `UnsafeCell<_>` may be deallocated during the lifetime of the reference, after the 
1953+ ///    last time the reference is used (dereferenced or reborrowed). Since you cannot deallocate a part 
1954+ ///    of what a reference points to, this means the memory an `&T` points to can be deallocated only if 
1955+ ///    *every part of it* (including padding) is inside an `UnsafeCell`. 
19561956/// 
1957- ///      However, whenever a `&UnsafeCell<T>` is constructed or dereferenced, it must still point to 
1957+ /// However, whenever a `&UnsafeCell<T>` is constructed or dereferenced, it must still point to 
19581958/// live memory and the compiler is allowed to insert spurious reads if it can prove that this 
19591959/// memory has not yet been deallocated. 
19601960/// 
19611961/// To assist with proper design, the following scenarios are explicitly declared legal 
19621962/// for single-threaded code: 
19631963/// 
19641964/// 1. A `&T` reference can be released to safe code and there it can co-exist with other `&T` 
1965- /// references, but not with a `&mut T` 
1965+ ///     references, but not with a `&mut T` 
19661966/// 
19671967/// 2. A `&mut T` reference may be released to safe code provided neither other `&mut T` nor `&T` 
1968- /// co-exist with it. A `&mut T` must always be unique. 
1968+ ///     co-exist with it. A `&mut T` must always be unique. 
19691969/// 
19701970/// Note that whilst mutating the contents of an `&UnsafeCell<T>` (even while other 
19711971/// `&UnsafeCell<T>` references alias the cell) is 
0 commit comments