Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[derive(Debug)]
- struct Cell<T>{value: T}
- impl<T> Cell<T> {
- fn set(&self, v: T) {
- use std::ptr;
- let p = &self.value as *const _ as *mut _;
- unsafe {
- ptr::write(p, v);
- }
- }
- }
- fn evil<'a>(c: &Cell<&'a i32>) {
- let drop_value = 42;
- c.set(&drop_value);
- }
- fn main() {
- let c = Cell { value: &10 };
- evil(&c);
- println!("{:?}", c);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement