diff options
| author | bors <bors@rust-lang.org> | 2023-05-23 04:41:44 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-05-23 04:41:44 +0000 |
| commit | 4400d8fce79ab2a610f05479413397464052e9c0 (patch) | |
| tree | 54921e091d07237928966e3a80fc537f41f9568c /compiler/rustc_codegen_llvm/src/errors.rs | |
| parent | 8b4b20836b832e91aa605a2faf5e2a55190202c8 (diff) | |
| parent | 4cfafb275e8d9049c26ab58831d58254a09b9f61 (diff) | |
| download | rust-4400d8fce79ab2a610f05479413397464052e9c0.tar.gz rust-4400d8fce79ab2a610f05479413397464052e9c0.zip | |
Auto merge of #110204 - compiler-errors:new-solver-hir-typeck-hacks, r=lcnr
Deal with unnormalized projections when structurally resolving types with new solver 1. Normalize types in `structurally_resolved_type` when the new solver is enabled 2. Normalize built-in autoderef targets in `Autoderef` when the new solver is enabled 3. Normalize-erasing-regions in `resolve_type` in writeback This is motivated by the UI test provided, which currently fails with: ``` error[E0609]: no field `x` on type `<usize as SliceIndex<[Foo]>>::Output` --> <source>:9:11 | 9 | xs[0].x = 1; | ^ ``` I'm pretty happy with the approach in (1.) and (2.) and think we'll inevitably need something like this in the long-term, but (3.) seems like a hack to me. It's a *lot* of work to add tons of new calls to every user of these typeck results though (mir build, late lints, etc). Happy to discuss further. r? `@lcnr`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
