Emit delayed bug instead of ICEing when TypeOutlives goal fails - #162026
Conversation
|
The diagnostics is strange in the first place. How do we get @bors r+ rollup |
It happens like this, strangely recursive 😄 |
…white Emit delayed bug instead of ICEing when `TypeOutlives` goal fails Fixes rust-lang#161527 They can actually fail with the next-solver 😄 https://github.com/rust-lang/rust/blob/2e071b28ef7e8a066b49a179e1da753c53500c62/compiler/rustc_next_trait_solver/src/solve/mod.rs#L88-L93 I have once considered tinkering proof tree/`find_best_leaf_obligation` to make it suggest the failed normalization goal but I doubt it worths the extra complexity, since we prolly already have other failing obligations in these cases r? adwinwhite
Rollup of 8 pull requests Successful merges: - #161301 (libcore: expose volatile atomic operations) - #161379 (Use better generic type parameter names for `Extend` and `FromIterator`) - #161926 (borrowck: Restore alias rigidity from HIR typeck) - #161956 (Remove unused `perform_locally_with_next_solver`) - #162026 (Emit delayed bug instead of ICEing when `TypeOutlives` goal fails) - #162034 (Make the LLVM version mismatch ICE a fatal error) - #162037 (LLVM wrapper cleanups) - #162043 (_ an unused parameter)
Rollup merge of #162026 - ShoyuVanilla:issue-161527, r=adwinwhite Emit delayed bug instead of ICEing when `TypeOutlives` goal fails Fixes #161527 They can actually fail with the next-solver 😄 https://github.com/rust-lang/rust/blob/2e071b28ef7e8a066b49a179e1da753c53500c62/compiler/rustc_next_trait_solver/src/solve/mod.rs#L88-L93 I have once considered tinkering proof tree/`find_best_leaf_obligation` to make it suggest the failed normalization goal but I doubt it worths the extra complexity, since we prolly already have other failing obligations in these cases r? adwinwhite
|
Note This PR was benchmarked as part of triage of its containing rollup: triage URL. Finished benchmarking commit (f797fd8): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (secondary -0.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: missing data |
Fixes #161527
They can actually fail with the next-solver 😄
rust/compiler/rustc_next_trait_solver/src/solve/mod.rs
Lines 88 to 93 in 2e071b2
I have once considered tinkering proof tree/
find_best_leaf_obligationto make it suggest the failed normalization goal but I doubt it worths the extra complexity, since we prolly already have other failing obligations in these casesr? adwinwhite