be conservative in has_significant_drop

This commit is contained in:
Niko Matsakis
2021-07-04 11:41:40 -04:00
parent 40ee019c17
commit 75c172246c
2 changed files with 43 additions and 0 deletions

View File

@@ -816,6 +816,15 @@ impl<'tcx> ty::TyS<'tcx> {
[component_ty] => component_ty,
_ => self,
};
// FIXME: We should be canonicalizing, or else moving this to a method of inference
// context, or *something* like that, but for now just avoid passing inference
// variables to queries that can't cope with them. Instead, conservatively
// return "true" (may change drop order).
if query_ty.needs_infer() {
return true;
}
// This doesn't depend on regions, so try to minimize distinct
// query keys used.
let erased = tcx.normalize_erasing_regions(param_env, query_ty);