pub fn get_mut(this: &mut Self) -> Option<&mut T> {
        if Rc::is_unique(this) { unsafe { Some(Rc::get_mut_unchecked(this)) } } else { None }
    }
Makes a mutable reference into the given `Rc`.

If there are other `Rc` pointers to the same allocation, then `make_mut` will
[`clone`] the inner value to a new allocation to ensure unique ownership.  This is also
referred to as clone-on-write.

If there are no other `Rc` pointers to this allocation, then [`Weak`]
pointers to this allocation will be disassociated.

See also [`get_mut`], which will fail rather than cloning.

[`clone`]: Clone::clone
[`get_mut`]: Rc::get_mut

# Examples

```
use std::rc::Rc;

let mut data = Rc::new(5);

*Rc::make_mut(&mut data) += 1;        // Won't clone anything
let mut other_data = Rc::cl
benchmarks/haystacks/code/rust-library.rs