]>
Commit | Line | Data |
---|---|---|
92a42be0 SL |
1 | pub trait MakeRef<'a> { |
2 | type Ref; | |
3 | } | |
4 | impl<'a, T: 'a> MakeRef<'a> for T { | |
5 | type Ref = &'a T; | |
6 | } | |
223e47cc | 7 | |
92a42be0 SL |
8 | pub trait MakeRef2 { |
9 | type Ref2; | |
10 | } | |
11 | impl<'a, T: 'a> MakeRef2 for T { | |
12 | //~^ ERROR the lifetime parameter `'a` is not constrained | |
13 | type Ref2 = <T as MakeRef<'a>>::Ref; | |
14 | } | |
15 | ||
16 | fn foo() -> <String as MakeRef2>::Ref2 { &String::from("foo") } | |
17 | ||
18 | fn main() { | |
19 | println!("{}", foo()); | |
20 | } |