]>
Commit | Line | Data |
---|---|---|
416331ca XL |
1 | // run-pass |
2 | ||
0bf4aa26 | 3 | #![allow(dead_code)] |
ea8adc8c XL |
4 | struct Foo<'a>(&'a u8); |
5 | ||
6 | fn foo(x: &u8) -> Foo<'_> { | |
7 | Foo(x) | |
3b2f2976 XL |
8 | } |
9 | ||
ea8adc8c XL |
10 | fn foo2(x: &'_ u8) -> Foo<'_> { |
11 | Foo(x) | |
3b2f2976 XL |
12 | } |
13 | ||
ea8adc8c XL |
14 | fn foo3(x: &'_ u8) -> Foo { |
15 | Foo(x) | |
3b2f2976 XL |
16 | } |
17 | ||
ea8adc8c XL |
18 | fn foo4(_: Foo<'_>) {} |
19 | ||
20 | struct Foo2<'a, 'b> { | |
21 | a: &'a u8, | |
22 | b: &'b u8, | |
23 | } | |
24 | fn foo5<'b>(foo: Foo2<'_, 'b>) -> &'b u8 { | |
25 | foo.b | |
26 | } | |
3b2f2976 | 27 | |
ea8adc8c XL |
28 | fn main() { |
29 | let x = &5; | |
30 | let _ = foo(x); | |
31 | let _ = foo2(x); | |
32 | let _ = foo3(x); | |
33 | foo4(Foo(x)); | |
34 | let _ = foo5(Foo2 { | |
35 | a: x, | |
36 | b: &6, | |
37 | }); | |
223e47cc | 38 | } |