use std::ops::Deref; | |
use std::pin::Pin; | |
struct Whatever<T>(T); | |
impl<T> Deref for Whatever<T> { | |
type Target = T; | |
fn deref(&self) -> &T { | |
&self.0 | |
} | |
} | |
struct A; | |
impl Drop for Pin<Whatever<A>> { | |
//~^ ERROR the `Drop` trait may only be implemented for local structs, enums, and unions | |
fn drop(&mut self) {} | |
} | |
fn main() { | |
let x = Pin::new(Whatever(1.0f32)); | |
} |