Skip to content

Emit dummy open drop for unsafe binder #141431

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

Merged
merged 1 commit into from
May 26, 2025
Merged

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented May 23, 2025

Fixes #141394

We can't taint the body in wfcheck when we have a T: Copy bound failure, so we end up binding MIR here. Emit a dummy open drop so that drop elaboration doesn't fail.

r? oli-obk

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 23, 2025
@rustbot
Copy link
Collaborator

rustbot commented May 23, 2025

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

@rust-log-analyzer

This comment has been minimized.

@oli-obk
Copy link
Contributor

oli-obk commented May 26, 2025

We don't taint the infcx during typeck when we have a T: Copy bound failure,

Why don't we do that? Isn't this failure actually happening in wfcheck on the signature, and wfcheck doesn't (can't) taint things relying on the body as it may itself rely on auto traits or opaques

@compiler-errors
Copy link
Member Author

Why don't we do that? Isn't this failure actually happening in wfcheck on the signature, and wfcheck doesn't (can't) taint things relying on the body as it may itself rely on auto traits or opaques

Ah yes, it's a wfcheck error.

@oli-obk
Copy link
Contributor

oli-obk commented May 26, 2025

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented May 26, 2025

📌 Commit 11392f4 has been approved by oli-obk

It is now in the queue for this repository.

@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 May 26, 2025
bors added a commit that referenced this pull request May 26, 2025
Rollup of 10 pull requests

Successful merges:

 - #140898 (minor improvements on running miri)
 - #141392 (Avoid obligation construction dance with query region constraints)
 - #141431 (Emit dummy open drop for unsafe binder)
 - #141433 (Properly analyze captures from unsafe binders)
 - #141439 (Deduplicate dyn compatibility violations due to coercion)
 - #141449 (further deduplicate ast visitor code)
 - #141513 (interpret: add allocation parameters to `AllocBytes`)
 - #141516 (speed up charsearcher for ascii chars)
 - #141526 (add a dedicated section for compiler environment variables in the unstable book)
 - #141550 (Fix `unused_braces` lint suggestion when encountering attributes)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 0e710d0 into rust-lang:master May 26, 2025
6 checks passed
@rustbot rustbot added this to the 1.89.0 milestone May 26, 2025
rust-timer added a commit that referenced this pull request May 26, 2025
Rollup merge of #141431 - compiler-errors:open-drop, r=oli-obk

Emit dummy open drop for unsafe binder

Fixes #141394

We can't taint the body in wfcheck when we have a `T: Copy` bound failure, so we end up binding MIR here. Emit a dummy open drop so that drop elaboration doesn't fail.

r? oli-obk
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request May 27, 2025
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#140898 (minor improvements on running miri)
 - rust-lang/rust#141392 (Avoid obligation construction dance with query region constraints)
 - rust-lang/rust#141431 (Emit dummy open drop for unsafe binder)
 - rust-lang/rust#141433 (Properly analyze captures from unsafe binders)
 - rust-lang/rust#141439 (Deduplicate dyn compatibility violations due to coercion)
 - rust-lang/rust#141449 (further deduplicate ast visitor code)
 - rust-lang/rust#141513 (interpret: add allocation parameters to `AllocBytes`)
 - rust-lang/rust#141516 (speed up charsearcher for ascii chars)
 - rust-lang/rust#141526 (add a dedicated section for compiler environment variables in the unstable book)
 - rust-lang/rust#141550 (Fix `unused_braces` lint suggestion when encountering attributes)

r? `@ghost`
`@rustbot` modify labels: rollup
@Kobzol
Copy link
Contributor

Kobzol commented May 27, 2025

@rust-timer build f58ba8b

(#141605)

@rust-timer
Copy link
Collaborator

Queued f58ba8b with parent 40d2563, future comparison URL.
There are currently 0 preceding artifacts in the queue.
It will probably take at least ~1.4 hours until the benchmark run finishes.

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. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE: open drop from non-ADT with unsafe_binder
7 participants