diff options
author | Haibo Huang <hhb@google.com> | 2020-11-18 15:37:31 -0800 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2020-11-18 15:37:31 -0800 |
commit | 6c94c6bafeee5322a4502f48fd53bf0269f144cc (patch) | |
tree | 62e1173064643de076d5710596b3cd6d390f4d00 /tests/proper_unpin.rs | |
parent | cd6b1713c13e53065c66512d3ba0a578bbf22830 (diff) | |
download | pin-project-6c94c6bafeee5322a4502f48fd53bf0269f144cc.tar.gz |
Upgrade rust/crates/pin-project to 1.0.2
Test: make
Change-Id: Ia85e48e7fd669c568d9abc6a68934b8cfdb13f09
Diffstat (limited to 'tests/proper_unpin.rs')
-rw-r--r-- | tests/proper_unpin.rs | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/tests/proper_unpin.rs b/tests/proper_unpin.rs index ce2a6c8..8873572 100644 --- a/tests/proper_unpin.rs +++ b/tests/proper_unpin.rs @@ -16,16 +16,30 @@ pub mod default { assert_not_unpin!(Inner<PhantomPinned>); #[pin_project] - struct Foo<T, U> { + struct Struct<T, U> { #[pin] f1: Inner<T>, f2: U, } - assert_unpin!(Foo<(), ()>); - assert_unpin!(Foo<(), PhantomPinned>); - assert_not_unpin!(Foo<PhantomPinned, ()>); - assert_not_unpin!(Foo<PhantomPinned, PhantomPinned>); + assert_unpin!(Struct<(), ()>); + assert_unpin!(Struct<(), PhantomPinned>); + assert_not_unpin!(Struct<PhantomPinned, ()>); + assert_not_unpin!(Struct<PhantomPinned, PhantomPinned>); + + #[pin_project(project = EnumProj, project_ref = EnumProjRef)] + enum Enum<T, U> { + V1 { + #[pin] + f1: Inner<T>, + f2: U, + }, + } + + assert_unpin!(Enum<(), ()>); + assert_unpin!(Enum<(), PhantomPinned>); + assert_not_unpin!(Enum<PhantomPinned, ()>); + assert_not_unpin!(Enum<PhantomPinned, PhantomPinned>); #[pin_project] struct TrivialBounds { @@ -36,13 +50,13 @@ pub mod default { assert_not_unpin!(TrivialBounds); #[pin_project] - struct Bar<'a, T, U> { + struct PinRef<'a, T, U> { #[pin] f1: &'a mut Inner<T>, f2: U, } - assert_unpin!(Bar<'_, PhantomPinned, PhantomPinned>); + assert_unpin!(PinRef<'_, PhantomPinned, PhantomPinned>); } pub mod cfg { @@ -105,16 +119,16 @@ pub mod not_unpin { } #[pin_project(!Unpin)] - struct Foo<T, U> { + struct Struct<T, U> { #[pin] inner: Inner<T>, other: U, } - assert_not_unpin!(Foo<(), ()>); - assert_not_unpin!(Foo<(), PhantomPinned>); - assert_not_unpin!(Foo<PhantomPinned, ()>); - assert_not_unpin!(Foo<PhantomPinned, PhantomPinned>); + assert_not_unpin!(Struct<(), ()>); + assert_not_unpin!(Struct<(), PhantomPinned>); + assert_not_unpin!(Struct<PhantomPinned, ()>); + assert_not_unpin!(Struct<PhantomPinned, PhantomPinned>); #[pin_project(!Unpin)] struct TrivialBounds { @@ -125,11 +139,11 @@ pub mod not_unpin { assert_not_unpin!(TrivialBounds); #[pin_project(!Unpin)] - struct Bar<'a, T, U> { + struct PinRef<'a, T, U> { #[pin] inner: &'a mut Inner<T>, other: U, } - assert_not_unpin!(Bar<'_, (), ()>); + assert_not_unpin!(PinRef<'_, (), ()>); } |