mirror of https://github.com/rust-lang/rust
28 lines
532 B
Rust
28 lines
532 B
Rust
#![warn(unused_lifetimes, redundant_lifetimes)]
|
|
|
|
pub trait X {
|
|
type Y<'a: 'static>; //~ WARN unnecessary lifetime parameter `'a`
|
|
}
|
|
|
|
impl X for () {
|
|
type Y<'a> = &'a ();
|
|
//~^ ERROR lifetime bound not satisfied
|
|
}
|
|
|
|
struct B<'a, T: for<'r> X<Y<'r> = &'r ()>> {
|
|
f: <T as X>::Y<'a>,
|
|
//~^ ERROR lifetime bound not satisfied
|
|
}
|
|
|
|
struct C<'a, T: X> {
|
|
f: <T as X>::Y<'a>,
|
|
//~^ ERROR lifetime bound not satisfied
|
|
}
|
|
|
|
struct D<'a> {
|
|
f: <() as X>::Y<'a>,
|
|
//~^ ERROR lifetime bound not satisfied
|
|
}
|
|
|
|
fn main() {}
|