diff options
Diffstat (limited to 'src/test/ui/regions/regions-trait-variance.rs')
-rw-r--r-- | src/test/ui/regions/regions-trait-variance.rs | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/test/ui/regions/regions-trait-variance.rs b/src/test/ui/regions/regions-trait-variance.rs deleted file mode 100644 index 94ffb85c9..000000000 --- a/src/test/ui/regions/regions-trait-variance.rs +++ /dev/null @@ -1,44 +0,0 @@ -// Issue #12470. - -trait X { - fn get_i(&self) -> isize; -} - -struct B { - i: isize -} - -impl X for B { - fn get_i(&self) -> isize { - self.i - } -} - -impl Drop for B { - fn drop(&mut self) { - println!("drop"); - } -} - -struct A<'r> { - p: &'r (dyn X + 'r) -} - -fn make_a(p: &dyn X) -> A { - A{p:p} -} - -fn make_make_a<'a>() -> A<'a> { - - let b: Box<B> = Box::new(B { - i: 1, - }); - - let bb: &B = &*b; - make_a(bb) //~ ERROR cannot return value referencing local data `*b` -} - -fn main() { - let a = make_make_a(); - println!("{}", a.p.get_i()); -} |