A variant of #108635 with a different etiology:
trait Trait {
type Item<'a>: 'a;
}
fn assert_static<T: 'static>(_: T) {}
fn relate<T>(_: T, _: T) {}
fn test_args<I: Trait>() {
let closure = |a, b| {
relate(&a, b);
assert_static(a);
//~^ ERROR the associated type may not live long enough
};
closure(None::<I::Item::<'_>>, &None::<I::Item::<'_>>);
}
In the same context as #108635, we fail to find an equal universal region although there is a one.
|
let upper_bound = self.non_local_universal_upper_bound(region_vid); |
@rustbot label C-bug T-types A-NLL NLL-complete A-borrow-checker
A variant of #108635 with a different etiology:
In the same context as #108635, we fail to find an equal universal region although there is a one.
rust/compiler/rustc_borrowck/src/region_infer/mod.rs
Line 1145 in 0b4ba4c
@rustbot label C-bug T-types A-NLL NLL-complete A-borrow-checker