diff options
Diffstat (limited to 'src/test/compile-fail/regions-close-object-into-object-1.rs')
-rw-r--r-- | src/test/compile-fail/regions-close-object-into-object-1.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/test/compile-fail/regions-close-object-into-object-1.rs b/src/test/compile-fail/regions-close-object-into-object-1.rs index 7a0e3cf4611..7bbce7dad53 100644 --- a/src/test/compile-fail/regions-close-object-into-object-1.rs +++ b/src/test/compile-fail/regions-close-object-into-object-1.rs @@ -11,13 +11,16 @@ #![feature(box_syntax)] #![allow(warnings)] -trait A<T> {} +use std::marker::PhantomFn; + +trait A<T> : PhantomFn<(Self,T)> { } struct B<'a, T>(&'a (A<T>+'a)); -trait X {} +trait X : ::std::marker::MarkerTrait {} + impl<'a, T> X for B<'a, T> {} -fn f<'a, T, U>(v: Box<A<T>+'static>) -> Box<X+'static> { +fn f<'a, T:'static, U>(v: Box<A<T>+'static>) -> Box<X+'static> { box B(&*v) as Box<X> //~ ERROR `*v` does not live long enough } |