aboutsummaryrefslogtreecommitdiff
path: root/tests/drop_order.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drop_order.rs')
-rw-r--r--tests/drop_order.rs50
1 files changed, 26 insertions, 24 deletions
diff --git a/tests/drop_order.rs b/tests/drop_order.rs
index 1931b68..1557188 100644
--- a/tests/drop_order.rs
+++ b/tests/drop_order.rs
@@ -38,12 +38,14 @@ struct TupleUnpinned<'a>(D<'a>, D<'a>);
#[pin_project(project_replace = EnumProj)]
enum Enum<'a> {
+ #[allow(dead_code)] // false positive that fixed in Rust 1.38
StructPinned {
#[pin]
f1: D<'a>,
#[pin]
f2: D<'a>,
},
+ #[allow(dead_code)] // false positive that fixed in Rust 1.38
StructUnpinned {
f1: D<'a>,
f2: D<'a>,
@@ -60,9 +62,9 @@ fn struct_pinned() {
}
{
let c = Cell::new(0);
- let mut _x = StructPinned { f1: D(&c, 1), f2: D(&c, 2) };
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(StructPinned { f1: D(&c, 3), f2: D(&c, 4) });
+ let mut x = StructPinned { f1: D(&c, 1), f2: D(&c, 2) };
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(StructPinned { f1: D(&c, 3), f2: D(&c, 4) });
}
}
@@ -74,9 +76,9 @@ fn struct_unpinned() {
}
{
let c = Cell::new(0);
- let mut _x = StructUnpinned { f1: D(&c, 1), f2: D(&c, 2) };
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(StructUnpinned { f1: D(&c, 3), f2: D(&c, 4) });
+ let mut x = StructUnpinned { f1: D(&c, 1), f2: D(&c, 2) };
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(StructUnpinned { f1: D(&c, 3), f2: D(&c, 4) });
}
}
@@ -88,9 +90,9 @@ fn tuple_pinned() {
}
{
let c = Cell::new(0);
- let mut _x = TuplePinned(D(&c, 1), D(&c, 2));
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(TuplePinned(D(&c, 3), D(&c, 4)));
+ let mut x = TuplePinned(D(&c, 1), D(&c, 2));
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(TuplePinned(D(&c, 3), D(&c, 4)));
}
}
@@ -102,9 +104,9 @@ fn tuple_unpinned() {
}
{
let c = Cell::new(0);
- let mut _x = TupleUnpinned(D(&c, 1), D(&c, 2));
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(TupleUnpinned(D(&c, 3), D(&c, 4)));
+ let mut x = TupleUnpinned(D(&c, 1), D(&c, 2));
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(TupleUnpinned(D(&c, 3), D(&c, 4)));
}
}
@@ -116,9 +118,9 @@ fn enum_struct() {
}
{
let c = Cell::new(0);
- let mut _x = Enum::StructPinned { f1: D(&c, 1), f2: D(&c, 2) };
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(Enum::StructPinned { f1: D(&c, 3), f2: D(&c, 4) });
+ let mut x = Enum::StructPinned { f1: D(&c, 1), f2: D(&c, 2) };
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(Enum::StructPinned { f1: D(&c, 3), f2: D(&c, 4) });
}
{
@@ -127,9 +129,9 @@ fn enum_struct() {
}
{
let c = Cell::new(0);
- let mut _x = Enum::StructUnpinned { f1: D(&c, 1), f2: D(&c, 2) };
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(Enum::StructUnpinned { f1: D(&c, 3), f2: D(&c, 4) });
+ let mut x = Enum::StructUnpinned { f1: D(&c, 1), f2: D(&c, 2) };
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(Enum::StructUnpinned { f1: D(&c, 3), f2: D(&c, 4) });
}
}
@@ -141,9 +143,9 @@ fn enum_tuple() {
}
{
let c = Cell::new(0);
- let mut _x = Enum::TuplePinned(D(&c, 1), D(&c, 2));
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(Enum::TuplePinned(D(&c, 3), D(&c, 4)));
+ let mut x = Enum::TuplePinned(D(&c, 1), D(&c, 2));
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(Enum::TuplePinned(D(&c, 3), D(&c, 4)));
}
{
@@ -152,8 +154,8 @@ fn enum_tuple() {
}
{
let c = Cell::new(0);
- let mut _x = Enum::TupleUnpinned(D(&c, 1), D(&c, 2));
- let _y = Pin::new(&mut _x);
- let _z = _y.project_replace(Enum::TupleUnpinned(D(&c, 3), D(&c, 4)));
+ let mut x = Enum::TupleUnpinned(D(&c, 1), D(&c, 2));
+ let y = Pin::new(&mut x);
+ let _z = y.project_replace(Enum::TupleUnpinned(D(&c, 3), D(&c, 4)));
}
}