fix cycle error for "use constructor" suggestion

This commit is contained in:
Lukas Markeffsky 2024-01-05 21:55:09 +01:00
parent 274674819c
commit 339fa311ad
3 changed files with 13 additions and 16 deletions

View file

@ -1755,11 +1755,8 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
.filter_map(|item| {
// Only assoc fns that return `Self`
let fn_sig = self.r.tcx.fn_sig(item.def_id).skip_binder();
let ret_ty = fn_sig.output();
let ret_ty = self
.r
.tcx
.normalize_erasing_late_bound_regions(ty::ParamEnv::reveal_all(), ret_ty);
// Don't normalize the return type, because that can cause cycle errors.
let ret_ty = fn_sig.output().skip_binder();
let ty::Adt(def, _args) = ret_ty.kind() else {
return None;
};