miri: implement more restrictive trivial-ABI checks - #160658
Conversation
|
Some changes occurred to the CTFE machinery
cc @rust-lang/miri Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri |
b9f4523 to
2c388de
Compare
miri: implement more restrictive trivial-ABI checks This implements the rules from rust-lang#157973 in Miri. We unfortunately have to reject some code that we thought was okay. Let's land this in Miri ahead of anything official also to see if there's any major breakage from that. r? @oli-obk
|
💔 I suspect this PR failed tests as part of a rollup After fixing the problem, consider running a try job for the failed job before re-approving. Link to failure: #160721 (comment) |
|
This pull request was unapproved. This PR was contained in a rollup (#160721), which was unapproved. |
|
How did that not show up in CI in this PR...? Strange. |
|
@bors r=oli-obk |
miri: implement more restrictive trivial-ABI checks This implements the rules from rust-lang#157973 in Miri. We unfortunately have to reject some code that we thought was okay. Let's land this in Miri ahead of anything official also to see if there's any major breakage from that. r? @oli-obk
…uwer Rollup of 12 pull requests Successful merges: - #160336 (Move attributes out of rustc_hir) - #160715 (ignore tests with the GCC backend if we can't find `libgccjit.so` for the target) - #157609 (fix: build-std on 32 bit arm with 64 bit time) - #160613 (Add regression test for unsized non-last struct field with overlapping impls) - #160658 (miri: implement more restrictive trivial-ABI checks) - #160704 (sort lint names in lint pass declarations) - #160707 (Add regression test for higher ranked fn pointer impl not general enough) - #160713 (Add regression test for #135287) - #160720 (triagebot: add ubiratan to infra-ci) - #160747 (rustc_errors: remove unused code) - #160751 (Add regression test for incremental borrowck ICE with generic const exprs) - #160753 (rustc_lint: remove unused rustc_attrs feature) Failed merges: - #158835 (rustc_passes: lint unused `#[path]` attributes on inline modules)
Rollup merge of #160658 - RalfJung:trivial-abi, r=oli-obk miri: implement more restrictive trivial-ABI checks This implements the rules from #157973 in Miri. We unfortunately have to reject some code that we thought was okay. Let's land this in Miri ahead of anything official also to see if there's any major breakage from that. r? @oli-obk
|
#157973 adresses only types available on stable. When considering unstable types, unsafe binders and pattern types should also be considered to have trivial ABI if wrapping a type that does. |
|
That makes sense, thanks: #160775 |
This implements the rules from #157973 in Miri. We unfortunately have to reject some code that we thought was okay. Let's land this in Miri ahead of anything official also to see if there's any major breakage from that.
r? @oli-obk