blob: 575dfafe15efc4dc9e17b07011560a114d027133 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
// Test that the compiler checks that arbitrary region bounds declared
// in the trait must be satisfied on the impl. Issue #20890.
trait Foo<'a> {
type Value: 'a;
fn dummy(&'a self) {}
}
impl<'a> Foo<'a> for &'a i16 {
// OK.
type Value = &'a i32;
}
impl<'a> Foo<'static> for &'a i32 {
type Value = &'a i32;
//~^ ERROR the type `&'a i32` does not fulfill the required lifetime
}
impl<'a, 'b> Foo<'b> for &'a i64 {
type Value = &'a i32;
//~^ ERROR the type `&'a i32` does not fulfill the required lifetime
}
fn main() {}
|