1 | // See ./pinned_drop-expanded.rs for generated code. |
---|---|
2 | |
3 | #![allow(dead_code)] |
4 | |
5 | use std::pin::Pin; |
6 | |
7 | use pin_project::{pin_project, pinned_drop}; |
8 | |
9 | #[pin_project(PinnedDrop)] |
10 | pub struct Struct<'a, T> { |
11 | was_dropped: &'a mut bool, |
12 | #[pin] |
13 | field: T, |
14 | } |
15 | |
16 | #[pinned_drop] |
17 | impl<T> PinnedDrop for Struct<'_, T> { |
18 | fn drop(self: Pin<&mut Self>) { |
19 | **self.project().was_dropped = true; |
20 | } |
21 | } |
22 | |
23 | fn main() {} |
24 |