async fn should support multiple lifetimes · Issue #56238 · rust-lang/rust (original) (raw)
According to the RFC, the async fn
syntax is supposed to capture all input lifetimes in the implicit outer return type. Currently it only captures one elided lifetime, and returns errors regarding other lifetimes.
This needs to be changed so that all lifetimes are captured in async fn
.
Example:
async fn foo(x: &mut i32, y: &mut i32) -> i32 { *x += *y; *y += *x; *x + *y }
Playground: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2015&gist=1953befb5a939c1379468aae9788dac8