mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
20 lines
636 B
Rust
20 lines
636 B
Rust
#[deny(single_use_lifetimes)]
|
|
// edition:2018
|
|
// check-pass
|
|
|
|
// Prior to the fix, the compiler complained that the 'a lifetime was only used
|
|
// once. This was obviously wrong since the lifetime is used twice: For the s3
|
|
// parameter and the return type. The issue was caused by the compiler
|
|
// desugaring the async function into a coroutine that uses only a single
|
|
// lifetime, which then the validator complained about becauase of the
|
|
// single_use_lifetimes constraints.
|
|
async fn bar<'a>(s1: String, s2: &'_ str, s3: &'a str) -> &'a str {
|
|
s3
|
|
}
|
|
|
|
fn foo<'a>(s1: String, s2: &'_ str, s3: &'a str) -> &'a str {
|
|
s3
|
|
}
|
|
|
|
fn main() {}
|