about summary refs log tree commit diff
path: root/compiler/rustc_hir_analysis/src/errors.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-02-12 04:04:32 +0000
committerbors <bors@rust-lang.org>2025-02-12 04:04:32 +0000
commit672e3aaf28ab1e5cbe80b3ff012cd3a8e4ef98af (patch)
tree862fd32a4cdeda1f972a19a0a0383d891a09f6d6 /compiler/rustc_hir_analysis/src/errors.rs
parent34a5ea911c56e79bd451c63f04ea2f5023d7d1a3 (diff)
parentd5be3bae5182ad064bf2b28a7c9d6847e08d8463 (diff)
downloadrust-672e3aaf28ab1e5cbe80b3ff012cd3a8e4ef98af.tar.gz
rust-672e3aaf28ab1e5cbe80b3ff012cd3a8e4ef98af.zip
Auto merge of #136074 - compiler-errors:deeply-normalize-next-solver, r=lcnr
Properly deeply normalize in the next solver

Turn deep normalization into a `TypeOp`. In the old solver, just dispatch to the `Normalize` type op, but in the new solver call `deeply_normalize`. I chose to separate it into a different type op b/c some normalization is a no-op in the new solver, so this distinguishes just the normalization we need for correctness.

Then use `DeeplyNormalize` in the callsites we used to be using a `CustomTypeOp` (for normalizing known type outlives obligations), and also use it to normalize function args and impl headers in the new solver.

Finally, use it to normalize signatures for WF checks in the new solver as well. This addresses https://github.com/rust-lang/trait-system-refactor-initiative/issues/146.
Diffstat (limited to 'compiler/rustc_hir_analysis/src/errors.rs')
0 files changed, 0 insertions, 0 deletions