]> git.proxmox.com Git - rustc.git/blame - src/test/ui/suggestions/return-elided-lifetime.rs
New upstream version 1.64.0+dfsg1
[rustc.git] / src / test / ui / suggestions / return-elided-lifetime.rs
CommitLineData
17df50a5
XL
1/* Checks all four scenarios possible in report_elision_failure() of
2 * rustc_resolve::late::lifetimes::LifetimeContext related to returning
3 * borrowed values, in various configurations.
4 */
5
6fn f1() -> &i32 { loop {} }
7//~^ ERROR missing lifetime specifier [E0106]
8fn f1_() -> (&i32, &i32) { loop {} }
064997fb 9//~^ ERROR missing lifetime specifiers [E0106]
17df50a5
XL
10
11fn f2(a: i32, b: i32) -> &i32 { loop {} }
12//~^ ERROR missing lifetime specifier [E0106]
13fn f2_(a: i32, b: i32) -> (&i32, &i32) { loop {} }
064997fb 14//~^ ERROR missing lifetime specifiers [E0106]
17df50a5
XL
15
16struct S<'a, 'b> { a: &'a i32, b: &'b i32 }
17fn f3(s: &S) -> &i32 { loop {} }
18//~^ ERROR missing lifetime specifier [E0106]
19fn f3_(s: &S, t: &S) -> (&i32, &i32) { loop {} }
064997fb 20//~^ ERROR missing lifetime specifiers [E0106]
17df50a5
XL
21
22fn f4<'a, 'b>(a: &'a i32, b: &'b i32) -> &i32 { loop {} }
23//~^ ERROR missing lifetime specifier [E0106]
24fn f4_<'a, 'b>(a: &'a i32, b: &'b i32) -> (&i32, &i32) { loop {} }
064997fb 25//~^ ERROR missing lifetime specifiers [E0106]
17df50a5
XL
26
27fn f5<'a>(a: &'a i32, b: &i32) -> &i32 { loop {} }
28//~^ ERROR missing lifetime specifier [E0106]
29fn f5_<'a>(a: &'a i32, b: &i32) -> (&i32, &i32) { loop {} }
064997fb 30//~^ ERROR missing lifetime specifiers [E0106]
17df50a5
XL
31
32fn main() {}