Add basic checks for well-formedness of fn/fn_mut lang items#86246
Add basic checks for well-formedness of fn/fn_mut lang items#86246bors merged 2 commits intorust-lang:masterfrom
fn/fn_mut lang items#86246Conversation
|
(rust-highfive has picked a reviewer for you, use r? to override) |
|
☔ The latest upstream changes (presumably #87963) made this pull request unmergeable. Please resolve the merge conflicts. |
1714bcc to
f19a74c
Compare
This comment has been minimized.
This comment has been minimized.
f19a74c to
28585bf
Compare
|
Hey @pnkfelix! This came up during the compiler team triage meeting. If you have a chance, could you please review or if you don't have time, we can re-roll to get another reviewer. Thanks! |
|
@bors try @rust-timer queue @FabianWolff can you address the change for a more targeted message and rebase on top of a recent master? |
|
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
|
⌛ Trying commit 28585bf0f5b25e84500627bb38edfcaaebee3efd with merge 3777fcbdcee493db60907aa73da15ddf58397697... |
|
☀️ Try build successful - checks-actions |
|
Queued 3777fcbdcee493db60907aa73da15ddf58397697 with parent 15d9ba0, future comparison URL. |
|
Finished benchmarking commit (3777fcbdcee493db60907aa73da15ddf58397697): comparison url. Summary: This benchmark run did not return any relevant changes. If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR led to changes in compiler perf. @bors rollup=never |
28585bf to
effb780
Compare
estebank
left a comment
There was a problem hiding this comment.
Left one last nitpick, but after that this is r=me.
effb780 to
cb6c139
Compare
|
@bors r+ |
|
📌 Commit cb6c139 has been approved by |
|
☀️ Test successful - checks-actions |
This pull request fixes #83471. Lang items are never actually checked for well-formedness (#9307). This means that one can get an ICE quite easily, e.g. as follows:
or this:
Ideally, there should probably be a more comprehensive strategy for checking lang items for well-formedness, but for the time being, I have added some rudimentary well-formedness checks that prevent #83471 and similar issues.