diff options
| author | lcnr <rust@lcnr.de> | 2023-12-07 18:20:27 +0100 |
|---|---|---|
| committer | lcnr <rust@lcnr.de> | 2023-12-08 01:31:18 +0100 |
| commit | ffb4c08a8117c8008ff696b6074cdf48889de211 (patch) | |
| tree | 8a4d956fca99cb83227ab3a5a89638b92adb5452 /compiler/rustc_trait_selection/src/traits | |
| parent | 3978f545ba25888066abcd1770514294cff42c9f (diff) | |
| download | rust-ffb4c08a8117c8008ff696b6074cdf48889de211.tar.gz rust-ffb4c08a8117c8008ff696b6074cdf48889de211.zip | |
implement and use `NormalizesTo`
Diffstat (limited to 'compiler/rustc_trait_selection/src/traits')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/structural_normalize.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/structural_normalize.rs b/compiler/rustc_trait_selection/src/traits/structural_normalize.rs index 9d6be768901..32de8feda81 100644 --- a/compiler/rustc_trait_selection/src/traits/structural_normalize.rs +++ b/compiler/rustc_trait_selection/src/traits/structural_normalize.rs @@ -25,8 +25,7 @@ impl<'tcx> StructurallyNormalizeExt<'tcx> for At<'_, 'tcx> { // FIXME(-Ztrait-solver=next): correctly handle // overflow here. for _ in 0..256 { - let ty::Alias(ty::Projection | ty::Inherent | ty::Weak, projection_ty) = *ty.kind() - else { + let ty::Alias(ty::Projection | ty::Inherent | ty::Weak, alias) = *ty.kind() else { break; }; @@ -38,10 +37,7 @@ impl<'tcx> StructurallyNormalizeExt<'tcx> for At<'_, 'tcx> { self.infcx.tcx, self.cause.clone(), self.param_env, - ty::Binder::dummy(ty::ProjectionPredicate { - projection_ty, - term: new_infer_ty.into(), - }), + ty::NormalizesTo { alias, term: new_infer_ty.into() }, ); if self.infcx.predicate_may_hold(&obligation) { fulfill_cx.register_predicate_obligation(self.infcx, obligation); |
