-
Notifications
You must be signed in to change notification settings - Fork 13.5k
interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers) #95340
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
Conversation
…alar::Int (i.e., no pointers)
Some changes occured to the CTFE / Miri engine cc @rust-lang/miri |
🤦 I see. Convenience methods come to bite us. @bors r+ rolluo |
📌 Commit 3bbcf64 has been approved by |
🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened. |
@bors rollup |
Yeah. I audited all uses of |
interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers) This is required for rust-lang/miri#2040 r? `@oli-obk`
interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers) This is required for rust-lang/miri#2040 r? ``@oli-obk``
Rollup of 5 pull requests Successful merges: - rust-lang#91981 (Recover suggestions and useful information lost in previous PR) - rust-lang#93469 (Skip pointing out ambiguous impls in alloc/std crates too in inference errors) - rust-lang#95335 (Move resolve_path to rustc_builtin_macros and make it private) - rust-lang#95340 (interpret: with enforce_number_validity, ensure integers are truly Scalar::Int (i.e., no pointers)) - rust-lang#95341 (ARMv6K Horizon OS has_thread_local support) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Since rust-lang#95340 landed, Miri with -Zmiri-check-number-validity produces an error on the test suites of some crates which implement concurrency tools, because it seems like such crates tend to use std::sync::mpsc in their tests. This fixes the problem by storing pointer bytes in a pointer.
…alfJung Remove ptr-int transmute in std::sync::mpsc Since rust-lang#95340 landed, Miri with `-Zmiri-check-number-validity` produces an error on the test suites of some crates which implement concurrency tools<sup>*</sup>, because it seems like such crates tend to use `std::sync::mpsc` in their tests. This fixes the problem by storing pointer bytes in a pointer. <sup>*</sup> I have so far seen errors in the test suites of `once_cell`, `parking_lot`, and `crossbeam-utils`. (just updating the list for fun, idk) Also `threadpool`, `async-lock`, `futures-timer`, `fragile`, `scoped_threadpool`, `procfs`, `slog-async`, `scheduled-thread-pool`, `tokio-threadpool`, `mac`, `futures-cpupool`, `ntest`, `actix`, `zbus`, `jsonrpc-client-transports`, `fail`, `libp2p-gossipsub`, `parity-send-wrapper`, `async-broadcast,` `libp2p-relay`, `http-client`, `mockito`, `simple-mutex`, `surf`, `pollster`, and `pulse`. Then I turned the bot off.
…fJung Remove ptr-int transmute in std::sync::mpsc Since rust-lang#95340 landed, Miri with `-Zmiri-check-number-validity` produces an error on the test suites of some crates which implement concurrency tools<sup>*</sup>, because it seems like such crates tend to use `std::sync::mpsc` in their tests. This fixes the problem by storing pointer bytes in a pointer. <sup>*</sup> I have so far seen errors in the test suites of `once_cell`, `parking_lot`, and `crossbeam-utils`. (just updating the list for fun, idk) Also `threadpool`, `async-lock`, `futures-timer`, `fragile`, `scoped_threadpool`, `procfs`, `slog-async`, `scheduled-thread-pool`, `tokio-threadpool`, `mac`, `futures-cpupool`, `ntest`, `actix`, `zbus`, `jsonrpc-client-transports`, `fail`, `libp2p-gossipsub`, `parity-send-wrapper`, `async-broadcast,` `libp2p-relay`, `http-client`, `mockito`, `simple-mutex`, `surf`, `pollster`, and `pulse`. Then I turned the bot off.
Since rust-lang/rust#95340 landed, Miri with -Zmiri-check-number-validity produces an error on the test suites of some crates which implement concurrency tools, because it seems like such crates tend to use std::sync::mpsc in their tests. This fixes the problem by storing pointer bytes in a pointer.
Remove ptr-int transmute in std::sync::mpsc Since rust-lang/rust#95340 landed, Miri with `-Zmiri-check-number-validity` produces an error on the test suites of some crates which implement concurrency tools<sup>*</sup>, because it seems like such crates tend to use `std::sync::mpsc` in their tests. This fixes the problem by storing pointer bytes in a pointer. <sup>*</sup> I have so far seen errors in the test suites of `once_cell`, `parking_lot`, and `crossbeam-utils`. (just updating the list for fun, idk) Also `threadpool`, `async-lock`, `futures-timer`, `fragile`, `scoped_threadpool`, `procfs`, `slog-async`, `scheduled-thread-pool`, `tokio-threadpool`, `mac`, `futures-cpupool`, `ntest`, `actix`, `zbus`, `jsonrpc-client-transports`, `fail`, `libp2p-gossipsub`, `parity-send-wrapper`, `async-broadcast,` `libp2p-relay`, `http-client`, `mockito`, `simple-mutex`, `surf`, `pollster`, and `pulse`. Then I turned the bot off.
This is required for rust-lang/miri#2040
r? @oli-obk