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