#[cfg(test)]
mod tests {
#[test]
fn test() {
use std::{cell, rc};
let a = rc::Rc::new(cell::RefCell::new(1));
let p1 = &a as *const _;
let p2 = &a.borrow() as *const _;
let mut p3 = &a.borrow() as *const _;
println!("{:?}", p1);
println!("{:?}", p2);
println!("{:?}", p3);
p3 = &a.borrow() as *const _;
println!("{:?}", p3);
println!("{:?}", a.as_ptr());
println!(
"{:?}",
&*a.borrow() as *const _
);
assert!(std::ptr::eq(
a.as_ptr(),
&*a.borrow()
));
let a = cell::RefCell::new(1);
let p1 = &a as *const _;
let p2 = &a.borrow() as *const _;
let mut p3 = &a.borrow() as *const _;
println!("{:?}", p1);
println!("{:?}", p2);
println!("{:?}", p3);
p3 = &a.borrow() as *const _;
println!("{:?}", p3);
let p4 = &a as *const _;
println!("{:?}", p4);
let tmp = a.as_ptr();
let p5 = &*a.borrow() as *const _;
println!("{:?}", p5);
println!("{:?}", tmp);
let tmp = a.borrow();
println!("{:?}", &*tmp as *const _);
}
}