Skip to content

Use better error message for hard errors in CTFE - #86340

Merged
bors merged 2 commits into
rust-lang:masterfrom
syvb:ctfe-hard-error-message
Jun 17, 2021
Merged

Use better error message for hard errors in CTFE#86340
bors merged 2 commits into
rust-lang:masterfrom
syvb:ctfe-hard-error-message

Conversation

@syvb

@syvbsyvb commented Jun 15, 2021

Copy link
Copy Markdown
Contributor

I noticed this while working on #86255: currently the same message is used for hard errors and soft errors in CTFE. This changes the error messages to make hard errors use a message that indicates the reality of the situation correctly, since usage of the constant is never allowed when there was a hard error evaluating it. This doesn't affect the behaviour of these error messages, only the content.

This changes the error logic to check if the error should be hard or soft where it is generated, instead of where it is emitted, to allow this distinction in error messages.

Currently the same message is used for hard errors and soft errors. This
makes hard errors use a message that indicates the reality of the
situation correctly, since usage of the constant is never allowed when
there was a hard error evaluating it.
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @matthewjasper

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

@rust-highfiverust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 15, 2021
Comment threadcompiler/rustc_mir/src/const_eval/eval_queries.rs Outdated
Comment threadcompiler/rustc_mir/src/const_eval/eval_queries.rs
@RalfJung

Copy link
Copy Markdown
Member

r? @RalfJung

Comment threadcompiler/rustc_middle/src/mir/interpret/error.rs Outdated
@syvb
syvbforce-pushed the ctfe-hard-error-message branch from da0080f to 044b362CompareJune 16, 2021 22:23
@RalfJung

Copy link
Copy Markdown
Member

Yes, that looks great, thank you. :-)
@bors r+

@bors

bors commented Jun 16, 2021

Copy link
Copy Markdown
Collaborator

📌 Commit 044b362 has been approved by RalfJung

@borsbors 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 Jun 16, 2021
@JohnTitorJohnTitor mentioned this pull request Jun 17, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 17, 2021
Rollup of 7 pull requests
Successful merges:
- rust-lang#85663 (Document Arc::from)
- rust-lang#85802 (Rename IoSlice(Mut)::advance to advance_slice and add IoSlice(Mut)::advance)
- rust-lang#85970 (Remove methods under Implementors on trait pages)
- rust-lang#86340 (Use better error message for hard errors in CTFE)
- rust-lang#86343 (Do not emit invalid suggestions on multiple mutable borrow errors)
- rust-lang#86355 (Remove invalid suggestions for assoc consts on placeholder type error)
- rust-lang#86389 (Make `sum()` and `product()` documentation hyperlinks refer to `Iterator` methods.)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit c062f3d into rust-lang:masterJun 17, 2021
@rustbotrustbot added this to the 1.55.0 milestone Jun 17, 2021
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-borsStatus: 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.

6 participants

@syvb@rust-highfive@RalfJung@bors@matthewjasper@rustbot