mirror of https://github.com/rust-lang/rust
23 lines
440 B
Rust
23 lines
440 B
Rust
// Test that a nominal type (like `Foo<'a>`) outlives `'b` if its
|
|
// arguments (like `'a`) outlive `'b`.
|
|
//
|
|
// Rule OutlivesNominalType from RFC 1214.
|
|
|
|
|
|
#![allow(dead_code)]
|
|
|
|
mod variant_struct_type {
|
|
struct Foo<T> {
|
|
x: fn(T)
|
|
}
|
|
trait Trait<'a, 'b> {
|
|
type Out;
|
|
}
|
|
impl<'a, 'b> Trait<'a, 'b> for usize {
|
|
type Out = &'a Foo<&'b i32>; //~ ERROR reference has a longer lifetime
|
|
}
|
|
}
|
|
|
|
|
|
fn main() { }
|