2024-02-16 20:02:50 +00:00
|
|
|
//@ check-pass
|
2019-10-05 21:24:55 +00:00
|
|
|
// Check that the anonymous lifetimes used here aren't considered to shadow one
|
|
|
|
// another. Note that `async fn` is different to `fn` here because the lifetimes
|
|
|
|
// are numbered by HIR lowering, rather than lifetime resolution.
|
|
|
|
|
2024-02-16 20:02:50 +00:00
|
|
|
//@ edition:2018
|
2019-10-05 21:24:55 +00:00
|
|
|
|
2024-01-26 16:14:38 +00:00
|
|
|
#![allow(non_local_definitions)]
|
|
|
|
|
2019-10-05 21:24:55 +00:00
|
|
|
struct A<'a, 'b>(&'a &'b i32);
|
|
|
|
struct B<'a>(&'a i32);
|
|
|
|
|
|
|
|
impl A<'_, '_> {
|
|
|
|
async fn assoc(x: &u32, y: B<'_>) {
|
|
|
|
async fn nested(x: &u32, y: A<'_, '_>) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
async fn assoc2(x: &u32, y: A<'_, '_>) {
|
|
|
|
impl A<'_, '_> {
|
|
|
|
async fn nested_assoc(x: &u32, y: B<'_>) {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|