-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver #134746
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver #134746
Conversation
let err = first_error.expect("coerce_borrowed_pointer had no error"); | ||
debug!("coerce_borrowed_pointer: failed with err = {:?}", err); | ||
return Err(err); | ||
if let Some(first_error) = first_error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This unwrap fails b/c above we simply do not see any types to autoderef, since structurally resolving the first autoderef of &<not wf alias>
simply fails.
debug!("coerce_borrowed_pointer: failed with err = {:?}", first_error); | ||
return Err(first_error); | ||
} else { | ||
// :( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pls explain when this happens, after that r=me
@rustbot author |
…n-WF type in new solver
faab30a
to
72fa874
Compare
@bors r=lcnr rollup |
…-wf-coerce-ice, r=lcnr Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver r? lcnr
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#131282 (std: detect stack overflows in TLS destructors on UNIX) - rust-lang#134746 (Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver) - rust-lang#135790 (Update windows-gnu targets to set `DebuginfoKind::DWARF`) - rust-lang#135878 (ci: use 8 core arm runner for dist-aarch64-linux) - rust-lang#135879 (fix outdated file path ref in llvm) - rust-lang#135883 (Remove erroneous `unsafe` in `BTreeSet::upper_bound_mut`) - rust-lang#135884 (remove implied end of slice) - rust-lang#135898 (rustdoc-json-types: Finalize dyn compatibility renaming) r? `@ghost` `@rustbot` modify labels: rollup
…-wf-coerce-ice, r=lcnr Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver r? lcnr
…-wf-coerce-ice, r=lcnr Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver r? lcnr
Rollup of 10 pull requests Successful merges: - rust-lang#134746 (Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver) - rust-lang#135552 ([AIX] Lint on structs that have a different alignment in AIX's C ABI) - rust-lang#135764 (Fix tests on LLVM 20) - rust-lang#135779 (CI: free disk on linux arm runner) - rust-lang#135790 (Update windows-gnu targets to set `DebuginfoKind::DWARF`) - rust-lang#135879 (fix outdated file path ref in llvm) - rust-lang#135883 (Remove erroneous `unsafe` in `BTreeSet::upper_bound_mut`) - rust-lang#135884 (remove implied end of slice) - rust-lang#135887 (improvements on `build_steps::test` implementation) - rust-lang#135898 (rustdoc-json-types: Finalize dyn compatibility renaming) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#134746 (Don't ICE in coerce when autoderef fails to structurally normalize non-WF type in new solver) - rust-lang#135552 ([AIX] Lint on structs that have a different alignment in AIX's C ABI) - rust-lang#135779 (CI: free disk on linux arm runner) - rust-lang#135790 (Update windows-gnu targets to set `DebuginfoKind::DWARF`) - rust-lang#135879 (fix outdated file path ref in llvm) - rust-lang#135883 (Remove erroneous `unsafe` in `BTreeSet::upper_bound_mut`) - rust-lang#135884 (remove implied end of slice) - rust-lang#135887 (improvements on `build_steps::test` implementation) - rust-lang#135898 (rustdoc-json-types: Finalize dyn compatibility renaming) r? `@ghost` `@rustbot` modify labels: rollup
r? lcnr