rust/tests/ui/traits/object/supertrait-lifetime-bound.rs

15 lines
308 B
Rust
Raw Normal View History

2022-01-31 21:11:23 -06:00
trait Foo: 'static { }
2022-01-31 21:11:23 -06:00
trait Bar<T>: Foo { }
2022-01-31 21:11:23 -06:00
fn test1<T: ?Sized + Bar<S>, S>() { }
2022-01-31 21:11:23 -06:00
fn test2<'a>() {
// Here: the type `dyn Bar<&'a u32>` references `'a`,
// and so it does not outlive `'static`.
test1::<dyn Bar<&'a u32>, _>();
2022-04-01 12:13:25 -05:00
//~^ ERROR lifetime may not live long enough
}
2022-01-31 21:11:23 -06:00
fn main() { }