| // Regression test for issue #67007 |
| // Ensures that we show information about the specific regions involved |
| |
| // Covariant over 'a, invariant over 'tcx |
| struct FnCtxt<'a, 'tcx: 'a>(&'a (), *mut &'tcx ()); |
| |
| impl<'a, 'tcx> FnCtxt<'a, 'tcx> { |
| fn use_it(&self, _: &'tcx ()) {} |
| } |
| |
| struct Consumer<'tcx>(&'tcx ()); |
| |
| impl<'tcx> Consumer<'tcx> { |
| fn bad_method<'a>(&self, fcx: &FnCtxt<'a, 'tcx>) { |
| let other = self.use_fcx(fcx); //~ ERROR lifetime may not live long enough |
| fcx.use_it(other); |
| } |
| |
| fn use_fcx<'a>(&self, _: &FnCtxt<'a, 'tcx>) -> &'a () { |
| &() |
| } |
| } |
| |
| fn main() {} |