Created
October 24, 2023 17:42
-
-
Save MaulingMonkey/282e2731c7b2691e5f0a0acbe433f025 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
C:\local\badmute>type .cargo\config.toml | |
[unstable] | |
build-std = ["core", "alloc", "std"] | |
C:\local\badmute>type src\main.rs | |
#[repr(C)] #[derive(Debug)] struct P{x:f32,y:f32} | |
#[repr(C)] #[derive(Debug)] struct Z{x:f32,y:f32} | |
fn main() { | |
let mut v = vec![P{x:4.0,y:2.0}]; | |
v.reserve(10); | |
unsafe{dbg!(std::mem::transmute::<Vec<P>, Vec<Z>>(v))}; | |
} | |
C:\local\badmute>set RUSTFLAGS=-Zrandomize-layout -Zlayout-seed=11 | |
C:\local\badmute>cargo +nightly run --target=x86_64-pc-windows-msvc | |
Compiling core v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core) | |
Compiling rustc-std-workspace-core v1.99.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core) | |
Compiling compiler_builtins v0.1.101 | |
Compiling libc v0.2.148 | |
Compiling alloc v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc) | |
Compiling cfg-if v1.0.0 | |
Compiling rustc-demangle v0.1.23 | |
Compiling unwind v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\unwind) | |
Compiling rustc-std-workspace-alloc v1.99.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-alloc) | |
Compiling panic_unwind v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_unwind) | |
Compiling panic_abort v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_abort) | |
Compiling hashbrown v0.14.0 | |
Compiling std_detect v0.1.5 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\stdarch\crates\std_detect) | |
Compiling std v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std) | |
Compiling proc_macro v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\proc_macro) | |
Compiling badmute v0.1.0 (C:\local\badmute) | |
Finished dev [unoptimized + debuginfo] target(s) in 25.82s | |
Running `target\x86_64-pc-windows-msvc\debug\badmute.exe` | |
[src\main.rs:7] std::mem::transmute::<Vec<P>, Vec<Z>>(v) = [ | |
Z { | |
x: 4.0, | |
y: 2.0, | |
}, | |
] | |
C:\local\badmute>cargo +nightly miri run --target=x86_64-pc-windows-msvc | |
Preparing a sysroot for Miri (target: x86_64-pc-windows-msvc)... done | |
Compiling core v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core) | |
Compiling rustc-std-workspace-core v1.99.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-core) | |
Compiling compiler_builtins v0.1.101 | |
Compiling libc v0.2.148 | |
Compiling alloc v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc) | |
Compiling cfg-if v1.0.0 | |
Compiling rustc-demangle v0.1.23 | |
Compiling unwind v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\unwind) | |
Compiling rustc-std-workspace-alloc v1.99.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\rustc-std-workspace-alloc) | |
Compiling panic_abort v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_abort) | |
Compiling panic_unwind v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\panic_unwind) | |
Compiling std_detect v0.1.5 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\stdarch\crates\std_detect) | |
Compiling hashbrown v0.14.0 | |
Compiling std v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std) | |
Compiling proc_macro v0.0.0 (C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\proc_macro) | |
Compiling badmute v0.1.0 (C:\local\badmute) | |
Finished dev [unoptimized + debuginfo] target(s) in 19.85s | |
Running `C:\Users\MaulingMonkey\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\cargo-miri.exe runner target\miri\x86_64-pc-windows-msvc\debug\badmute.exe` | |
[src\main.rs:7] std::mem::transmute::<Vec<P>, Vec<Z>>(v) = [ | |
Z { | |
x: 4.0, | |
y: 2.0, | |
}, | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment