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