diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-08-08 03:30:56 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-08 03:30:56 +0200 | 
| commit | 418b91a3d7abade84a652b55634c88cc7d06b7da (patch) | |
| tree | baf98c7159e7e6ec8d25d400ae18c94063a27840 /compiler/rustc_hir_analysis | |
| parent | 3cd0a109a8a603dd1d6be5a102c404bb53bd67be (diff) | |
| parent | ba4a2f7cb72016613ac4b1fe66ee2f6704d9cd73 (diff) | |
| download | rust-418b91a3d7abade84a652b55634c88cc7d06b7da.tar.gz rust-418b91a3d7abade84a652b55634c88cc7d06b7da.zip | |
Rollup merge of #114594 - compiler-errors:new-solver-resolve-aliases, r=lcnr
Structurally normalize weak and inherent in new solver It seems pretty obvious to me that we should be normalizing weak and inherent aliases too, since they can always be normalized. This PR still leaves open the question of what to do with opaques, though 💀 **Also**, we need to structurally resolve the target of a coercion, for the UI test to work. r? `@lcnr`
Diffstat (limited to 'compiler/rustc_hir_analysis')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/autoderef.rs | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/compiler/rustc_hir_analysis/src/autoderef.rs b/compiler/rustc_hir_analysis/src/autoderef.rs index c07ac35cba3..39db295044e 100644 --- a/compiler/rustc_hir_analysis/src/autoderef.rs +++ b/compiler/rustc_hir_analysis/src/autoderef.rs @@ -74,7 +74,7 @@ impl<'a, 'tcx> Iterator for Autoderef<'a, 'tcx> { // we have some type like `&<Ty as Trait>::Assoc`, since users of // autoderef expect this type to have been structurally normalized. if self.infcx.next_trait_solver() - && let ty::Alias(ty::Projection, _) = ty.kind() + && let ty::Alias(ty::Projection | ty::Inherent | ty::Weak, _) = ty.kind() { let (normalized_ty, obligations) = self.structurally_normalize(ty)?; self.state.obligations.extend(obligations); | 
