summaryrefslogtreecommitdiffstats
path: root/src/test/ui/variance/variance-issue-20533.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/variance/variance-issue-20533.rs')
-rw-r--r--src/test/ui/variance/variance-issue-20533.rs43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/ui/variance/variance-issue-20533.rs b/src/test/ui/variance/variance-issue-20533.rs
deleted file mode 100644
index a2459f873..000000000
--- a/src/test/ui/variance/variance-issue-20533.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// Regression test for issue #20533. At some point, only 1 out of the
-// 3 errors below were being reported.
-
-use std::marker::PhantomData;
-
-fn foo<'a, T>(_x: &'a T) -> PhantomData<&'a ()> {
- PhantomData
-}
-
-struct Wrap<T>(T);
-
-fn bar<'a, T>(_x: &'a T) -> Wrap<PhantomData<&'a ()>> {
- Wrap(PhantomData)
-}
-
-struct Baked<'a>(PhantomData<&'a ()>);
-
-fn baz<'a, T>(_x: &'a T) -> Baked<'a> {
- Baked(PhantomData)
-}
-
-struct AffineU32(u32);
-
-fn main() {
- {
- let a = AffineU32(1);
- let x = foo(&a);
- drop(a); //~ ERROR cannot move out of `a`
- drop(x);
- }
- {
- let a = AffineU32(1);
- let x = bar(&a);
- drop(a); //~ ERROR cannot move out of `a`
- drop(x);
- }
- {
- let a = AffineU32(1);
- let x = baz(&a);
- drop(a); //~ ERROR cannot move out of `a`
- drop(x);
- }
-}