Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use better ICE message when no MIR is available #80969

Merged
merged 1 commit into from
Jan 14, 2021

Conversation

camelid
Copy link
Member

@camelid camelid commented Jan 13, 2021

The ICE message is somewhat confusing and overly specific - the issue is
that there's no MIR available.

This should make debugging these ICEs easier since the error tells you
what's actually wrong, not what it was trying to do when it failed.

cc #80952 (comment)
cc @jyn514

The ICE message is somewhat confusing and overly specific - the issue is
that there's no MIR available.

This should make debugging these ICEs easier since the error tells you
what's actually wrong, not what it was trying to do when it failed.

cc rust-lang#80952 (comment)
@rust-highfive
Copy link
Collaborator

r? @varkor

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 13, 2021
@jyn514
Copy link
Member

jyn514 commented Jan 13, 2021

Does anyone know if this could happen normally (without messing with bootstrap)? The fact that it showed up without changes to rustc makes me think you could replicate it just by running cargo check on one crate and cargo build on another.

@camelid
Copy link
Member Author

camelid commented Jan 13, 2021

There are many examples of this. Just to name a few: #80852, #73537, #69785, #53920.

@jyn514
Copy link
Member

jyn514 commented Jan 13, 2021

Got it, thanks. This seems worth turning into a proper error then, the same way "multiple matching crates is an error". Doesn't have to be here, though.

It would be nice to print the file the crate metadata came from, the way "multiple matching crates" does. Not sure if you can do that outside rustc_metadata.

@nagisa
Copy link
Member

nagisa commented Jan 13, 2021

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jan 13, 2021

📌 Commit c3f7429 has been approved by nagisa

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 13, 2021
JohnTitor added a commit to JohnTitor/rust that referenced this pull request Jan 14, 2021
Use better ICE message when no MIR is available

The ICE message is somewhat confusing and overly specific - the issue is
that there's no MIR available.

This should make debugging these ICEs easier since the error tells you
what's actually wrong, not what it was trying to do when it failed.

cc rust-lang#80952 (comment)
cc `@jyn514`
JohnTitor added a commit to JohnTitor/rust that referenced this pull request Jan 14, 2021
Use better ICE message when no MIR is available

The ICE message is somewhat confusing and overly specific - the issue is
that there's no MIR available.

This should make debugging these ICEs easier since the error tells you
what's actually wrong, not what it was trying to do when it failed.

cc rust-lang#80952 (comment)
cc ``@jyn514``
JohnTitor added a commit to JohnTitor/rust that referenced this pull request Jan 14, 2021
Use better ICE message when no MIR is available

The ICE message is somewhat confusing and overly specific - the issue is
that there's no MIR available.

This should make debugging these ICEs easier since the error tells you
what's actually wrong, not what it was trying to do when it failed.

cc rust-lang#80952 (comment)
cc ```@jyn514```
m-ou-se added a commit to m-ou-se/rust that referenced this pull request Jan 14, 2021
Use better ICE message when no MIR is available

The ICE message is somewhat confusing and overly specific - the issue is
that there's no MIR available.

This should make debugging these ICEs easier since the error tells you
what's actually wrong, not what it was trying to do when it failed.

cc rust-lang#80952 (comment)
cc ````@jyn514````
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 14, 2021
Rollup of 17 pull requests

Successful merges:

 - rust-lang#79982 (Add missing methods to unix ExitStatusExt)
 - rust-lang#80017 (Suggest `_` and `..` if a pattern has too few fields)
 - rust-lang#80169 (Recommend panic::resume_unwind instead of panicking.)
 - rust-lang#80217 (Add a `std::io::read_to_string` function)
 - rust-lang#80444 (Add as_ref and as_mut methods for Bound)
 - rust-lang#80567 (Add Iterator::intersperse_with)
 - rust-lang#80829 (Get rid of `DepConstructor`)
 - rust-lang#80895 (Fix handling of malicious Readers in read_to_end)
 - rust-lang#80966 (Deprecate atomic::spin_loop_hint in favour of hint::spin_loop)
 - rust-lang#80969 (Use better ICE message when no MIR is available)
 - rust-lang#80972 (Remove unstable deprecated Vec::remove_item)
 - rust-lang#80973 (Update books)
 - rust-lang#80980 (Fixed incorrect doc comment)
 - rust-lang#80981 (Fix -Cpasses=list and llvm version print with -vV)
 - rust-lang#80985 (Fix stabilisation version of slice_strip)
 - rust-lang#80990 (llvm: Remove the unused context from CreateDebugLocation)
 - rust-lang#80991 (Fix formatting specifiers doc links)

Failed merges:

 - rust-lang#80944 (Use Option::map_or instead of `.map(..).unwrap_or(..)`)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 90cc815 into rust-lang:master Jan 14, 2021
@rustbot rustbot added this to the 1.51.0 milestone Jan 14, 2021
@camelid camelid deleted the monomorph-ice-msg branch January 15, 2021 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants