diff options
| author | Trevor Gross <t.gross35@gmail.com> | 2025-06-18 20:22:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-18 20:22:48 -0400 |
| commit | cff8e9ae142c3dcaf4c66ec5b6be932f1442c4b5 (patch) | |
| tree | f3a817601e97ce7acaaedf8d983c7811fc03b8ca /compiler/rustc_codegen_llvm/src/errors.rs | |
| parent | 044514eb26511d2d8aa999fdf27e85df6beb6576 (diff) | |
| parent | 377d8fa4e3057838f20dd1eb1669d4ebaf8a561a (diff) | |
| download | rust-cff8e9ae142c3dcaf4c66ec5b6be932f1442c4b5.tar.gz rust-cff8e9ae142c3dcaf4c66ec5b6be932f1442c4b5.zip | |
Rollup merge of #140247 - BoxyUwU:iats_no_query_cycles, r=lcnr
Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs Fixes rust-lang/rust#108491 Fixes rust-lang/rust#125879 This was due to updating inhabited predicate stuff which I had to do to make constructing ADTs with IATs in fields not ICE Fixes rust-lang/rust#136678 (but no test added, I don't rly care about weird IAT edge cases under GCE) Fixes rust-lang/rust#138131 Avoids doing "fully correct" candidate selection for IATs during hir ty lowering when in item signatures as it almost always leads to a query cycle from trying to build a `ParamEnv`. I replaced it with a use `DeepRejectCtxt` which should be able to handle this kind of conservative "could these types unify" while in a context where we don't want to do type equality. This is a relatively simple scheme and should be forwards compatible with doing something more complex/powerful. I'm not really sure how this interacts with rust-lang/rust#126651, though I'm also not really sure its super important to support projecting IATs from IAT self types given we don't even support `T::Assoc::Other` for trait-associated types so didn't give much thought to how this might fit in with that. r? `@compiler-errors` cc `@fmease`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
