Fix next-solver ICE on PointeeSized goals#151962
Fix next-solver ICE on PointeeSized goals#151962rust-bors[bot] merged 3 commits intorust-lang:mainfrom
Conversation
This comment has been minimized.
This comment has been minimized.
5342488 to
5bd2b85
Compare
|
@rustbot reroll |
|
r? compiler |
|
r? types |
|
I think this fixes the wrong problem, since the ICE can also occur outside the next-solver. See #151957 (comment) |
|
We should not reach this point, |
This comment has been minimized.
This comment has been minimized.
| <T as PointeeSized>::Undefined: PointeeSized, | ||
| //~^ ERROR the trait bound `T: PointeeSized` is not satisfied | ||
| //~| ERROR the trait bound `T: PointeeSized` is not satisfied | ||
| {} |
There was a problem hiding this comment.
i personally prefer this reproducer as a test #151957 (comment)
trait PointeeSized {}
fn require_trait<T: PointeeSized>() {}
fn main() {
require_trait::<i32>();
}please also explain why this errors (and add revisions to test with both solvers)
| && trait_name == self.tcx.item_name(def_id) | ||
| && trait_has_same_params(*def_id) | ||
| // Skip `PointeeSized` here to avoid creating `PointeeSized` solver obligations during error reporting. | ||
| && !self.tcx.is_lang_item(*def_id, LangItem::PointeeSized) |
There was a problem hiding this comment.
actually, doesn't really matter, but looking at #153100, it would be more correct to consider PointeeSized to always hold, instead of ignoring it. Don't think that's useful information for users, but 🤷
5bd2b85 to
16dae9c
Compare
This comment has been minimized.
This comment has been minimized.
16dae9c to
ca74063
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r=lcnr |
…ice, r=lcnr Fix next-solver ICE on PointeeSized goals Fixes rust-lang#151957
…ice, r=lcnr Fix next-solver ICE on PointeeSized goals Fixes rust-lang#151957
…uwer Rollup of 5 pull requests Successful merges: - #151962 (Fix next-solver ICE on PointeeSized goals) - #153161 (Rejig `rustc_with_all_queries!`) - #152164 (Lint unused features) - #153191 ( don't emit `unused_results` lint for tuples of "trivial" types ) - #153273 (vec/mod.rs: add missing period in "ie." in docs)
…uwer Rollup of 5 pull requests Successful merges: - #151962 (Fix next-solver ICE on PointeeSized goals) - #153161 (Rejig `rustc_with_all_queries!`) - #152164 (Lint unused features) - #153191 ( don't emit `unused_results` lint for tuples of "trivial" types ) - #153273 (vec/mod.rs: add missing period in "ie." in docs)
…uwer Rollup of 5 pull requests Successful merges: - #151962 (Fix next-solver ICE on PointeeSized goals) - #153161 (Rejig `rustc_with_all_queries!`) - #152164 (Lint unused features) - #153191 ( don't emit `unused_results` lint for tuples of "trivial" types ) - #153273 (vec/mod.rs: add missing period in "ie." in docs)
…ice, r=lcnr Fix next-solver ICE on PointeeSized goals Fixes rust-lang#151957
…uwer Rollup of 9 pull requests Successful merges: - #153153 (add tests for thumb interworking) - #149328 (Add `String<A>` type with custom allocator parameter) - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`) - #151962 (Fix next-solver ICE on PointeeSized goals) - #153015 (core: make atomic primitives type aliases of `Atomic<T>`) - #153161 (Rejig `rustc_with_all_queries!`) - #153191 ( don't emit `unused_results` lint for tuples of "trivial" types ) - #153273 (vec/mod.rs: add missing period in "ie." in docs) - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute)
…ice, r=lcnr Fix next-solver ICE on PointeeSized goals Fixes rust-lang#151957
…uwer Rollup of 11 pull requests Successful merges: - #153153 (add tests for thumb interworking) - #149328 (Add `String<A>` type with custom allocator parameter) - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`) - #151962 (Fix next-solver ICE on PointeeSized goals) - #153015 (core: make atomic primitives type aliases of `Atomic<T>`) - #153161 (Rejig `rustc_with_all_queries!`) - #153191 ( don't emit `unused_results` lint for tuples of "trivial" types ) - #153273 (vec/mod.rs: add missing period in "ie." in docs) - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute) - #153293 (library: std: process: skip tests on Hermit) - #153301 (Do not ping kobzol on rustc-dev-guide changes)
…uwer Rollup of 10 pull requests Successful merges: - #153153 (add tests for thumb interworking) - #151780 (Updated slice tests to pass for big endian hosts for `multiple-option-or-permutations.rs`) - #151962 (Fix next-solver ICE on PointeeSized goals) - #153015 (core: make atomic primitives type aliases of `Atomic<T>`) - #153161 (Rejig `rustc_with_all_queries!`) - #153191 ( don't emit `unused_results` lint for tuples of "trivial" types ) - #153273 (vec/mod.rs: add missing period in "ie." in docs) - #153292 (tests: codegen-llvm: vec-calloc: do not require the uwtable attribute) - #153293 (library: std: process: skip tests on Hermit) - #153301 (Do not ping kobzol on rustc-dev-guide changes)
Fixes #151957