Auto merge of #123737 - compiler-errors:alias-wf, r= · rust-lang/rust@8d9ad77 (original) (raw)
File tree
1 file changed
lines changed
- compiler/rustc_trait_selection/src/traits
1 file changed
lines changed
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
@@ -493,7 +493,7 @@ impl<'a, 'tcx> WfPredicates<'a, 'tcx> { | |||
493 | 493 | self.out.extend(obligations); | |
494 | 494 | } | |
495 | 495 | ||
496 | -self.compute_projection_args(data.args); | ||
496 | + data.args.visit_with(self); | ||
497 | 497 | } | |
498 | 498 | ||
499 | 499 | fn compute_projection_args(&mut self, args: GenericArgsRef<'tcx>) { | |
@@ -698,8 +698,8 @@ impl<'a, 'tcx> TypeVisitor<TyCtxt<'tcx>> for WfPredicates<'a, 'tcx> { | |||
698 | 698 | } | |
699 | 699 | ||
700 | 700 | ty::Alias(ty::Projection | ty::Opaque | ty::Weak, data) => { |
701 | -self.compute_alias(data); | ||
702 | -return; // Subtree handled by compute_projection. | ||
701 | +let obligations = self.nominal_obligations(data.def_id, data.args); | ||
702 | +self.out.extend(obligations); | ||
703 | 703 | } | |
704 | 704 | ty::Alias(ty::Inherent, data) => { | |
705 | 705 | self.compute_inherent_projection(data); |