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 | |
} |