Skip to content

Conversation

RalfJung
Copy link
Member

repr(transparent) currently entirely rejects ZST with alignment larger than 1 (which is odd, arguably this should be accepted), so this should be safe. And if it ever isn't safe then that is very likely a bug elsewhere in the compiler.

@rust-highfive
Copy link
Contributor

r? @cjgillot

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

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jul 31, 2022
@rustbot
Copy link
Collaborator

rustbot commented Jul 31, 2022

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jul 31, 2022
@cjgillot
Copy link
Contributor

cjgillot commented Aug 9, 2022

Aligned ZST would increase the alignment of the repr(transparent), wouldn't they?
I'm not sure I grasp the implications of this PR. Do you know of a better reviewer?

@RalfJung
Copy link
Member Author

RalfJung commented Aug 9, 2022

Aligned ZST would increase the alignment of the repr(transparent), wouldn't they?

Yeah but they also would be rejected in a repr(transparent).

This PR can, at worst, lead to more panics in Miri in case there are dyn receivers that do weird things. But if those exist that would probably be a bug. So it's essentially a stricter sanity check.

We can add it to Oli's pile and hope he's back from vacation soon. ;)
r? @oli-obk

@rust-highfive rust-highfive assigned oli-obk and unassigned cjgillot Aug 9, 2022
@RalfJung
Copy link
Member Author

@lcnr maybe you could take a look?

@lcnr
Copy link
Contributor

lcnr commented Aug 17, 2022

lgtm

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Aug 17, 2022

📌 Commit 5798555 has been approved by lcnr

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 Aug 17, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 17, 2022
…iaskrgr

Rollup of 15 pull requests

Successful merges:

 - rust-lang#99474 (Rustdoc json tests: New `@hasexact` test command)
 - rust-lang#99972 (interpret: only consider 1-ZST when searching for receiver)
 - rust-lang#100018 (Clean up `LitKind`)
 - rust-lang#100379 (triagebot: add translation-related mention groups)
 - rust-lang#100389 (Do not report cycle error when inferring return type for suggestion)
 - rust-lang#100489 (`is_knowable` use `Result` instead of `Option`)
 - rust-lang#100532 (unwind: don't build dependency when building for Miri)
 - rust-lang#100608 (needless separation of impl blocks)
 - rust-lang#100621 (Pass +atomics-32 feature for {arm,thumb}v4t-none-eabi)
 - rust-lang#100646 (Migrate emoji identifier diagnostics to `SessionDiagnostic` in rustc_interface)
 - rust-lang#100652 (Remove deferred sized checks (make them eager))
 - rust-lang#100655 (Update books)
 - rust-lang#100656 (Update cargo)
 - rust-lang#100660 (Fixed a few documentation errors)
 - rust-lang#100661 (Fixed a few documentation errors)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit bb77336 into rust-lang:master Aug 17, 2022
@rustbot rustbot added this to the 1.65.0 milestone Aug 17, 2022
@RalfJung RalfJung deleted the 1zst branch August 18, 2022 20:44
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.

7 participants