• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use std::pin::Pin;
2 
3 use pin_project::{pin_project, pinned_drop};
4 
5 #[pin_project] //~ ERROR E0119
6 struct Foo<T, U> {
7     #[pin]
8     f1: T,
9     f2: U,
10 }
11 
12 impl<T, U> Drop for Foo<T, U> {
drop(&mut self)13     fn drop(&mut self) {}
14 }
15 
16 #[pin_project(PinnedDrop)] //~ ERROR E0119
17 struct Bar<T, U> {
18     #[pin]
19     f1: T,
20     f2: U,
21 }
22 
23 #[pinned_drop]
24 impl<T, U> PinnedDrop for Bar<T, U> {
drop(self: Pin<&mut Self>)25     fn drop(self: Pin<&mut Self>) {}
26 }
27 
28 impl<T, U> Drop for Bar<T, U> {
drop(&mut self)29     fn drop(&mut self) {}
30 }
31 
main()32 fn main() {}
33