1 error[E0106]: missing lifetime specifier
2 --> $DIR/issue-86667.rs:6:35
4 LL | async fn a(s1: &str, s2: &str) -> &str {
5 | ---- ---- ^ expected named lifetime parameter
7 = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `s1` or `s2`
8 help: consider introducing a named lifetime parameter
10 LL | async fn a<'a>(s1: &'a str, s2: &'a str) -> &'a str {
13 error[E0106]: missing lifetime specifier
14 --> $DIR/issue-86667.rs:12:29
16 LL | fn b(s1: &str, s2: &str) -> &str {
17 | ---- ---- ^ expected named lifetime parameter
19 = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `s1` or `s2`
20 help: consider introducing a named lifetime parameter
22 LL | fn b<'a>(s1: &'a str, s2: &'a str) -> &'a str {
25 error: lifetime may not live long enough
26 --> $DIR/issue-86667.rs:8:5
28 LL | async fn a(s1: &str, s2: &str) -> &str {
29 | - let's call the lifetime of this reference `'1`
32 | ^^ returning this value requires that `'1` must outlive `'static`
34 error: aborting due to 3 previous errors
36 For more information about this error, try `rustc --explain E0106`.