| use std::pin::Pin; | |
| use std::marker::PhantomPinned; | |
| #[derive(Debug)] | |
| struct Test { | |
| _marker: PhantomPinned, | |
| } | |
| impl Test { | |
| fn new() -> Self { | |
| Test { | |
| _marker: PhantomPinned, // This makes our type `!Unpin` | |
| } | |
| } | |
| } | |
| fn dummy(_: &mut Test) {} | |
| pub fn main() { | |
| let mut test1 = Test::new(); | |
| let mut test1 = unsafe { Pin::new_unchecked(&mut test1) }; | |
| dummy(test1.get_mut()); //~ ERROR E0277 | |
| } |