Error code E0760
Note: this error code is no longer emitted by the compiler.
async fn
/impl trait
return type cannot contain a projection
or Self
that references lifetimes from a parent scope.
Erroneous code example:
struct S<'a>(&'a i32);
impl<'a> S<'a> {
async fn new(i: &'a i32) -> Self {
S(&22)
}
}
To fix this error we need to spell out Self
to S<'a>
:
#![allow(unused)] fn main() { struct S<'a>(&'a i32); impl<'a> S<'a> { async fn new(i: &'a i32) -> S<'a> { S(&22) } } }
This will be allowed at some point in the future, but the implementation is not yet complete. See the issue-61949 for this limitation.