1 error[E0106]: missing lifetime specifier
2 --> $DIR/issue-30255.rs:18:24
4 LL | fn f(a: &S, b: i32) -> &i32 {
5 | ^ expected lifetime parameter
7 = help: this function's return type contains a borrowed value, but the signature does not say which one of `a`'s 2 lifetimes it is borrowed from
9 error[E0106]: missing lifetime specifier
10 --> $DIR/issue-30255.rs:23:34
12 LL | fn g(a: &S, b: bool, c: &i32) -> &i32 {
13 | ^ expected lifetime parameter
15 = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from one of `a`'s 2 lifetimes or `c`
17 error[E0106]: missing lifetime specifier
18 --> $DIR/issue-30255.rs:28:44
20 LL | fn h(a: &bool, b: bool, c: &S, d: &i32) -> &i32 {
21 | ^ expected lifetime parameter
23 = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `a`, one of `c`'s 2 lifetimes, or `d`
25 error: aborting due to 3 previous errors
27 For more information about this error, try `rustc --explain E0106`.