]> git.lizzy.rs Git - rust.git/blob - src/test/ui/underscore-lifetimes.rs
Rollup merge of #66472 - GuillaumeGomez:show-coverage-json, r=ollie27
[rust.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 }