| // A regression test for #124021. When liberating the late bound regions here |
| // we encounter multiple `LateBoundRegion::Anon`. These ended up resulting in |
| // distinct nll vars, but mapped to the same `RegionKind::LateParam`. This |
| // then caused an ICE when trying to fetch lazily computed information for the |
| // nll var of an overwritten liberated bound region. |
| #![feature(type_alias_impl_trait)] |
| type Opaque2<'a> = impl Sized + 'a; |
| |
| #[define_opaque(Opaque2)] |
| fn test2() -> impl for<'a, 'b> Fn((&'a str, &'b str)) -> (Opaque2<'a>, Opaque2<'a>) { |
| |x| x |
| //~^ ERROR lifetime may not live long enough |
| //~| ERROR expected generic lifetime parameter, found `'a` |
| } |
| |
| fn main() {} |