]> git.proxmox.com Git - rustc.git/blob - src/test/ui/underscore-lifetimes.rs
New upstream version 1.49.0+dfsg1
[rustc.git] / src / test / ui / underscore-lifetimes.rs
1 // run-pass
2
3 #![allow(dead_code)]
4 struct Foo<'a>(&'a u8);
5
6 fn foo(x: &u8) -> Foo<'_> {
7 Foo(x)
8 }
9
10 fn foo2(x: &'_ u8) -> Foo<'_> {
11 Foo(x)
12 }
13
14 fn foo3(x: &'_ u8) -> Foo {
15 Foo(x)
16 }
17
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 }
27
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 });
38 }