diff options
author | Joel Galenson <jgalenson@google.com> | 2021-05-27 17:00:46 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-05-27 17:00:46 +0000 |
commit | 5dbc7a39961945cd9d065d0a9fdc25711376574f (patch) | |
tree | a2808291a9d00789d7f23e0e6bc9e133aace307a /tests/pinned_drop.rs | |
parent | 3a092f9e543f72e7ee1abc39a7cf49d8d96b25fe (diff) | |
parent | a5c0a13309164da22025014778cf4d794aec96a6 (diff) | |
download | pin-project-5dbc7a39961945cd9d065d0a9fdc25711376574f.tar.gz |
Upgrade rust/crates/pin-project to 1.0.7 am: c95dc51644 am: b845c5fd84 am: fcb335e6ca am: a5c0a13309
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/pin-project/+/1713049
Change-Id: Ie859a9fc877c4ed769bf408a396e775cb361898b
Diffstat (limited to 'tests/pinned_drop.rs')
-rw-r--r-- | tests/pinned_drop.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/pinned_drop.rs b/tests/pinned_drop.rs index 9e7287d..785cea3 100644 --- a/tests/pinned_drop.rs +++ b/tests/pinned_drop.rs @@ -262,3 +262,23 @@ fn inside_macro() { mac!(1); } + +pub mod self_path { + use super::*; + + #[pin_project(PinnedDrop)] + pub struct S<T: Unpin>(T); + + fn f() {} + + #[pinned_drop] + impl<T: Unpin> PinnedDrop for self::S<T> { + fn drop(mut self: Pin<&mut Self>) { + self::f(); + let _: self::S<()> = self::S(()); + let _: self::S<Pin<&mut Self>> = self::S(self.as_mut()); + let self::S(()) = self::S(()); + let self::S(&mut Self(_)) = self::S(&mut *self); + } + } +} |