Uh oh!
There was an error while loading. Please reload this page.
Don't build ParamEnv and do trait solving in ItemCtxts when lowering IATs - #140247
Conversation
rustbot
commented
Apr 24, 2025
This PR changes a file inside HIR ty lowering was modified cc @fmease |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
bors
commented
Apr 28, 2025
☔ The latest upstream changes (presumably #140388) made this pull request unmergeable. Please resolve the merge conflicts. |
3361c7d to
34ce403Comparecompiler-errors
commented
May 22, 2025
@bors r+ |
bors
commented
May 22, 2025
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#135562 (Add ignore value suggestion in closure body) - rust-lang#139635 (Finalize repeat expr inference behaviour with inferred repeat counts) - rust-lang#139668 (Handle regions equivalent to 'static in non_local_bounds) - rust-lang#140218 (HIR ty lowering: Clean up & refactor the lowering of type-relative paths) - rust-lang#140435 (use uX::from instead of _ as uX in non - const contexts) - rust-lang#141130 (rustc_on_unimplemented cleanups) - rust-lang#141286 (Querify `coroutine_hidden_types`) Failed merges: - rust-lang#140247 (Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs) r? `@ghost` `@rustbot` modify labels: rollup
bors
commented
May 23, 2025
☔ The latest upstream changes (presumably #141396) made this pull request unmergeable. Please resolve the merge conflicts. |
aee1a22 to
701d3b8CompareBoxyUwU
commented
May 23, 2025
I should probably update this to use DeepRejectCtxt and handle LTAs correctly like discussed at the all hands 🤔 I was just gonna do it in a followup PR but if I'm having to rebase and figure out new crashes tests then I may aswell just do it all now |
701d3b8 to
276daf2CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
276daf2 to
5867bb5CompareUh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
5867bb5 to
02b87a8CompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
lcnr
commented
Jun 18, 2025
@bors r+ rollup |
bors
commented
Jun 18, 2025
This comment has been minimized.
This comment has been minimized.
Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs Fixesrust-lang#108491Fixesrust-lang#125879 This was due to updating inhabited predicate stuff which I had to do to make constructing ADTs with IATs in fields not ICE Fixesrust-lang#136678 (but no test added, I don't rly care about weird IAT edge cases under GCE) Fixesrust-lang#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#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`
Kobzol
commented
Jun 18, 2025
@bors r- PR CI failed. |
e280d26 to
377d8faCompareBoxyUwU
commented
Jun 18, 2025
@bors r=lcnr |
bors
commented
Jun 18, 2025
Rollup of 7 pull requests Successful merges: - #140247 (Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs) - #142507 (use `#[align]` attribute for `fn_align`) - #142524 (Weekly `cargo update`) - #142606 (AsyncDrop trait without sync Drop generates an error) - #142639 (Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs) - #142654 (library: Increase timeout on mpmc test to reduce flakes) - #142692 (Assorted bootstrap cleanups (step 3)) r? `@ghost` `@rustbot` modify labels: rollup
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#108491Fixes#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#136678 (but no test added, I don't rly care about weird IAT edge cases under GCE) Fixes#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 #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`
Rollup of 7 pull requests Successful merges: - rust-lang/rust#140247 (Don't build `ParamEnv` and do trait solving in `ItemCtxt`s when lowering IATs) - rust-lang/rust#142507 (use `#[align]` attribute for `fn_align`) - rust-lang/rust#142524 (Weekly `cargo update`) - rust-lang/rust#142606 (AsyncDrop trait without sync Drop generates an error) - rust-lang/rust#142639 (Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs) - rust-lang/rust#142654 (library: Increase timeout on mpmc test to reduce flakes) - rust-lang/rust#142692 (Assorted bootstrap cleanups (step 3)) r? `@ghost` `@rustbot` modify labels: rollup
Fixes#108491
Fixes#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#136678 (but no test added, I don't rly care about weird IAT edge cases under GCE)
Fixes#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 useDeepRejectCtxtwhich 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 #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::Otherfor trait-associated types so didn't give much thought to how this might fit in with that.r? @compiler-errors
cc @fmease