[INFO] fetching crate slabmalloc 0.11.0... [INFO] building slabmalloc-0.11.0 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1 [INFO] extracting crate slabmalloc 0.11.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate slabmalloc 0.11.0 [INFO] finished tweaking crates.io crate slabmalloc 0.11.0 [INFO] tweaked toml for crates.io crate slabmalloc 0.11.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate slabmalloc 0.11.0 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate slabmalloc 0.11.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f949b1e4b116fb042551c2598cbccb4daa4fe558cb4aa2b93bd71e06de21e772 [INFO] running `Command { std: "docker" "start" "-a" "f949b1e4b116fb042551c2598cbccb4daa4fe558cb4aa2b93bd71e06de21e772", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f949b1e4b116fb042551c2598cbccb4daa4fe558cb4aa2b93bd71e06de21e772", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f949b1e4b116fb042551c2598cbccb4daa4fe558cb4aa2b93bd71e06de21e772", kill_on_drop: false }` [INFO] [stdout] f949b1e4b116fb042551c2598cbccb4daa4fe558cb4aa2b93bd71e06de21e772 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6464f9146afaa6e40c992889fbf3fc32a14233e535a1bbbabf1a5255b4359a93 [INFO] running `Command { std: "docker" "start" "-a" "6464f9146afaa6e40c992889fbf3fc32a14233e535a1bbbabf1a5255b4359a93", kill_on_drop: false }` [INFO] [stderr] Compiling slabmalloc v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | #![cfg_attr(feature = "unstable", feature(const_mut_refs))] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.53s [INFO] running `Command { std: "docker" "inspect" "6464f9146afaa6e40c992889fbf3fc32a14233e535a1bbbabf1a5255b4359a93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6464f9146afaa6e40c992889fbf3fc32a14233e535a1bbbabf1a5255b4359a93", kill_on_drop: false }` [INFO] [stdout] 6464f9146afaa6e40c992889fbf3fc32a14233e535a1bbbabf1a5255b4359a93 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 40233392c99d821fd9a8d65f28dba5b5838096b21d314a06e84dd0ee8ea9b157 [INFO] running `Command { std: "docker" "start" "-a" "40233392c99d821fd9a8d65f28dba5b5838096b21d314a06e84dd0ee8ea9b157", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Compiling spin v0.9.0 [INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | #![cfg_attr(feature = "unstable", feature(const_mut_refs))] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling env_logger v0.9.0 [INFO] [stderr] Compiling rand_core v0.6.2 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling slabmalloc v0.11.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the feature `prelude_import` is internal to the compiler or standard library [INFO] [stdout] --> src/lib.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | #![cfg_attr(test, feature(prelude_import, test, c_void_variant, core_intrinsics))] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: using it is strongly discouraged [INFO] [stdout] = note: `#[warn(internal_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library [INFO] [stdout] --> src/lib.rs:22:65 [INFO] [stdout] | [INFO] [stdout] 22 | #![cfg_attr(test, feature(prelude_import, test, c_void_variant, core_intrinsics))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: using it is strongly discouraged [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:21:43 [INFO] [stdout] | [INFO] [stdout] 21 | #![cfg_attr(feature = "unstable", feature(const_mut_refs))] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> examples/global_alloc.rs:56:31 [INFO] [stdout] | [INFO] [stdout] 56 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 56 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] 56 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> examples/global_alloc.rs:68:31 [INFO] [stdout] | [INFO] [stdout] 68 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 68 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] 68 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> examples/global_alloc.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | PAGER.allocate_page().expect("Can't allocate page?") as *mut _ as *mut u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> examples/global_alloc.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | PAGER.allocate_large_page().expect("Can't allocate page?") as *mut _ as *mut u8 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> examples/global_alloc.rs:110:29 [INFO] [stdout] | [INFO] [stdout] 110 | ... PAGER.allocate_page().map_or(ptr::null_mut(), |page| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> examples/global_alloc.rs:121:29 [INFO] [stdout] | [INFO] [stdout] 121 | / ... PAGER [INFO] [stdout] 122 | | ... .allocate_large_page() [INFO] [stdout] | |________________________________________________^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> src/tests.rs:90:31 [INFO] [stdout] | [INFO] [stdout] 90 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 90 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] 90 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> src/tests.rs:105:31 [INFO] [stdout] | [INFO] [stdout] 105 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 105 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stdout] 105 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.22s [INFO] running `Command { std: "docker" "inspect" "40233392c99d821fd9a8d65f28dba5b5838096b21d314a06e84dd0ee8ea9b157", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "40233392c99d821fd9a8d65f28dba5b5838096b21d314a06e84dd0ee8ea9b157", kill_on_drop: false }` [INFO] [stdout] 40233392c99d821fd9a8d65f28dba5b5838096b21d314a06e84dd0ee8ea9b157