only expect lb lt for fn calls in mir typeck

This commit is contained in:
lcnr 2022-06-02 12:12:24 +02:00
parent 8a0cb6ae7d
commit 434c7da6ea

View File

@ -20,7 +20,7 @@ use rustc_infer::infer::outlives::env::RegionBoundPairs;
use rustc_infer::infer::region_constraints::RegionConstraintData; use rustc_infer::infer::region_constraints::RegionConstraintData;
use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
use rustc_infer::infer::{ use rustc_infer::infer::{
InferCtxt, InferOk, LateBoundRegionConversionTime, NllRegionVariableOrigin, InferCtxt, InferOk, LateBoundRegion, LateBoundRegionConversionTime, NllRegionVariableOrigin,
}; };
use rustc_middle::mir::tcx::PlaceTy; use rustc_middle::mir::tcx::PlaceTy;
use rustc_middle::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor}; use rustc_middle::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor};
@ -1436,11 +1436,13 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
return; return;
} }
}; };
let (sig, map) = self.infcx.replace_bound_vars_with_fresh_vars( let (sig, map) = tcx.replace_late_bound_regions(sig, |br| {
term.source_info.span, self.infcx.next_region_var(LateBoundRegion(
LateBoundRegionConversionTime::FnCall, term.source_info.span,
sig, br.kind,
); LateBoundRegionConversionTime::FnCall,
))
});
debug!(?sig); debug!(?sig);
let sig = self.normalize(sig, term_location); let sig = self.normalize(sig, term_location);
self.check_call_dest(body, term, &sig, *destination, target, term_location); self.check_call_dest(body, term, &sig, *destination, target, term_location);