about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/errors.rs
diff options
context:
space:
mode:
authorMatthias Krüger <476013+matthiaskrgr@users.noreply.github.com>2025-05-30 13:39:52 +0200
committerGitHub <noreply@github.com>2025-05-30 13:39:52 +0200
commitbace7f986c3ec200ff7389a40116847c79680a99 (patch)
tree7fb9eb4c2bd6c52d66cc84a236a83761210112fa /compiler/rustc_codegen_llvm/src/errors.rs
parent6de3a733122a82d9b3c3427c7ee16a1e1a022718 (diff)
parent9871e160eae4376dea2b9fa3aa1ccca3607fc1c3 (diff)
downloadrust-bace7f986c3ec200ff7389a40116847c79680a99.tar.gz
rust-bace7f986c3ec200ff7389a40116847c79680a99.zip
Rollup merge of #141703 - compiler-errors:deref-place, r=lcnr
Structurally normalize types as needed in `projection_ty_core`

Introduce a `structurally_normalize` callback to `projection_ty_core`, and then use it before we match on the ty kind in `projection_ty_core`.

Previously we were only structurally normalizing the return type of the `handle_field` struct, but if we were to (e.g.) apply a deref projection to that type, then the resulting type is not guaranteed to be structurally normalized and any subsequent projections applied would ICE.

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/221

I'll leave a few comments inline to explain the changes.

r? lcnr

---

Also fixes rust-lang/rust#141708
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions