]> git.proxmox.com Git - rustc.git/blame - src/test/ui/underscore-lifetimes.rs
New upstream version 1.49.0+dfsg1
[rustc.git] / src / test / ui / underscore-lifetimes.rs
CommitLineData
416331ca
XL
1// run-pass
2
0bf4aa26 3#![allow(dead_code)]
ea8adc8c
XL
4struct Foo<'a>(&'a u8);
5
6fn foo(x: &u8) -> Foo<'_> {
7 Foo(x)
3b2f2976
XL
8}
9
ea8adc8c
XL
10fn foo2(x: &'_ u8) -> Foo<'_> {
11 Foo(x)
3b2f2976
XL
12}
13
ea8adc8c
XL
14fn foo3(x: &'_ u8) -> Foo {
15 Foo(x)
3b2f2976
XL
16}
17
ea8adc8c
XL
18fn foo4(_: Foo<'_>) {}
19
20struct Foo2<'a, 'b> {
21 a: &'a u8,
22 b: &'b u8,
23}
24fn foo5<'b>(foo: Foo2<'_, 'b>) -> &'b u8 {
25 foo.b
26}
3b2f2976 27
ea8adc8c
XL
28fn 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}