Skip to content

miri: lift restriction on extern types being the only field in a struct #91910

New issue

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

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

Already on GitHub? # to your account

Merged
merged 1 commit into from
Dec 18, 2021

Conversation

tmiasko
Copy link
Contributor

@tmiasko tmiasko commented Dec 14, 2021

Fixes #91827.

r? @RalfJung

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Dec 14, 2021
@rust-highfive
Copy link
Contributor

Some changes occured 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 Dec 14, 2021
fn main() {
assert_eq!(A_REF.as_slice(), &[5, 6, 7]);
// Check that interpreter and code generation agree about the position of the tail field.
assert_eq!(A_TAIL_OFFSET, tail_offset(A_REF));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice test. :)

I wonder if there are corner cases that make it more challenging, like newtype-wrapping Opaque in a repr(align) type to ensure it has alignment larger than usize?

@RalfJung
Copy link
Member

Thanks!
@bors r+

@bors
Copy link
Collaborator

bors commented Dec 16, 2021

📌 Commit fd47d24 has been approved by RalfJung

@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 Dec 16, 2021
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 17, 2021
miri: lift restriction on extern types being the only field in a struct

Fixes rust-lang#91827.

r? `@RalfJung`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 17, 2021
miri: lift restriction on extern types being the only field in a struct

Fixes rust-lang#91827.

r? ``@RalfJung``
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Dec 17, 2021
miri: lift restriction on extern types being the only field in a struct

Fixes rust-lang#91827.

r? ```@RalfJung```
This was referenced Dec 17, 2021
bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 18, 2021
…askrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#87901 (Fix suggestion of additional `pub` when using `pub pub fn ...`)
 - rust-lang#89090 (Lint bare traits in AstConv.)
 - rust-lang#91818 (Show the unused type for `unused_results` lint)
 - rust-lang#91910 (miri: lift restriction on extern types being the only field in a struct)
 - rust-lang#91928 (Constify (most) `Option` methods)
 - rust-lang#91975 (Move generator check earlier in inlining.)
 - rust-lang#92016 (builtin_macros: allow external consumers for AsmArgs parsing)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 64ce698 into rust-lang:master Dec 18, 2021
@rustbot rustbot added this to the 1.59.0 milestone Dec 18, 2021
@tmiasko tmiasko deleted the miri-extern-type branch December 18, 2021 10:29
@tmiasko tmiasko mentioned this pull request Dec 18, 2021
6 tasks
# for free to join this conversation on GitHub. Already have an account? # 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: Fields cannot be extern types, unless they are at offset 0
5 participants