rust/tests/ui/drop/drop-foreign-fundamental.rs

24 lines
393 B
Rust
Raw Normal View History

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