2021-10-03 15:25:26 -05:00
|
|
|
// 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>) {
|
2021-12-31 15:55:34 -06:00
|
|
|
let other = self.use_fcx(fcx); //~ ERROR lifetime may not live long enough
|
2021-10-03 15:25:26 -05:00
|
|
|
fcx.use_it(other);
|
|
|
|
}
|
|
|
|
|
|
|
|
fn use_fcx<'a>(&self, _: &FnCtxt<'a, 'tcx>) -> &'a () {
|
|
|
|
&()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|