#![allow(unused_variables)] fn main() { use std::rc::Rc; use std::ptr; let strong = Rc::new("hello".to_owned()); let weak = Rc::downgrade(&strong); assert!(ptr::eq(&* strong, weak.as_ptr())); assert_eq!("hello", unsafe { &* weak.as_ptr() }); drop(strong); }