[INFO] fetching crate slabmalloc 0.11.0... [INFO] testing slabmalloc-0.11.0 against try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] extracting crate slabmalloc 0.11.0 into /workspace/builds/worker-6-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-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate slabmalloc 0.11.0 on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 63693a5879dc7e863ca214f848541b82aa4d607d5bb40099b8abe74ab6d2816c [INFO] running `Command { std: "docker" "start" "-a" "63693a5879dc7e863ca214f848541b82aa4d607d5bb40099b8abe74ab6d2816c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "63693a5879dc7e863ca214f848541b82aa4d607d5bb40099b8abe74ab6d2816c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63693a5879dc7e863ca214f848541b82aa4d607d5bb40099b8abe74ab6d2816c", kill_on_drop: false }` [INFO] [stdout] 63693a5879dc7e863ca214f848541b82aa4d607d5bb40099b8abe74ab6d2816c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 47a993c83c5f35157145af923c60328539cc6076870936e22a938ec636f5f17d [INFO] running `Command { std: "docker" "start" "-a" "47a993c83c5f35157145af923c60328539cc6076870936e22a938ec636f5f17d", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.14 [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.79s [INFO] running `Command { std: "docker" "inspect" "47a993c83c5f35157145af923c60328539cc6076870936e22a938ec636f5f17d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47a993c83c5f35157145af923c60328539cc6076870936e22a938ec636f5f17d", kill_on_drop: false }` [INFO] [stdout] 47a993c83c5f35157145af923c60328539cc6076870936e22a938ec636f5f17d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 54220933c894078edc7a48b7c5f676c51094a8d6aa60819131160ba77be70c7c [INFO] running `Command { std: "docker" "start" "-a" "54220933c894078edc7a48b7c5f676c51094a8d6aa60819131160ba77be70c7c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Compiling lock_api v0.4.4 [INFO] [stderr] Compiling regex v1.5.4 [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 spin v0.9.0 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling rand_core v0.6.2 [INFO] [stderr] Compiling env_logger v0.9.0 [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 5.72s [INFO] running `Command { std: "docker" "inspect" "54220933c894078edc7a48b7c5f676c51094a8d6aa60819131160ba77be70c7c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54220933c894078edc7a48b7c5f676c51094a8d6aa60819131160ba77be70c7c", kill_on_drop: false }` [INFO] [stdout] 54220933c894078edc7a48b7c5f676c51094a8d6aa60819131160ba77be70c7c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8a30763ac736b2f0d85944ed3354b37be548411f529c47bfafa6489dffa8bf3b [INFO] running `Command { std: "docker" "start" "-a" "8a30763ac736b2f0d85944ed3354b37be548411f529c47bfafa6489dffa8bf3b", kill_on_drop: false }` [INFO] [stderr] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:21:43 [INFO] [stderr] | [INFO] [stderr] 21 | #![cfg_attr(feature = "unstable", feature(const_mut_refs))] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(stable_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `slabmalloc` (lib) generated 1 warning [INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stderr] --> examples/global_alloc.rs:56:31 [INFO] [stderr] | [INFO] [stderr] 56 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stderr] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stderr] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stderr] = help: for more information about transmute, see [INFO] [stderr] = help: for more information about exposed provenance, see [INFO] [stderr] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stderr] | [INFO] [stderr] 56 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] 56 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stderr] --> examples/global_alloc.rs:68:31 [INFO] [stderr] | [INFO] [stderr] 68 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stderr] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stderr] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stderr] = help: for more information about transmute, see [INFO] [stderr] = help: for more information about exposed provenance, see [INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stderr] | [INFO] [stderr] 68 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] 68 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> examples/global_alloc.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | PAGER.allocate_page().expect("Can't allocate page?") as *mut _ as *mut u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = 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] [stderr] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> examples/global_alloc.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | PAGER.allocate_large_page().expect("Can't allocate page?") as *mut _ as *mut u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> examples/global_alloc.rs:110:29 [INFO] [stderr] | [INFO] [stderr] 110 | ... PAGER.allocate_page().map_or(ptr::null_mut(), |page| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> examples/global_alloc.rs:121:29 [INFO] [stderr] | [INFO] [stderr] 121 | / ... PAGER [INFO] [stderr] 122 | | ... .allocate_large_page() [INFO] [stderr] | |________________________________________________^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: the feature `prelude_import` is internal to the compiler or standard library [INFO] [stderr] --> src/lib.rs:22:27 [INFO] [stderr] | [INFO] [stderr] 22 | #![cfg_attr(test, feature(prelude_import, test, c_void_variant, core_intrinsics))] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: using it is strongly discouraged [INFO] [stderr] = note: `#[warn(internal_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the feature `core_intrinsics` is internal to the compiler or standard library [INFO] [stderr] --> src/lib.rs:22:65 [INFO] [stderr] | [INFO] [stderr] 22 | #![cfg_attr(test, feature(prelude_import, test, c_void_variant, core_intrinsics))] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: using it is strongly discouraged [INFO] [stderr] [INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stderr] --> src/tests.rs:90:31 [INFO] [stderr] | [INFO] [stderr] 90 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stderr] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stderr] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stderr] = help: for more information about transmute, see [INFO] [stderr] = help: for more information about exposed provenance, see [INFO] [stderr] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stderr] | [INFO] [stderr] 90 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] 90 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stderr] --> src/tests.rs:105:31 [INFO] [stderr] | [INFO] [stderr] 105 | .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stderr] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stderr] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stderr] = help: for more information about transmute, see [INFO] [stderr] = help: for more information about exposed provenance, see [INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stderr] | [INFO] [stderr] 105 - .map(|r| unsafe { transmute(r as usize) }) [INFO] [stderr] 105 + .map(|r| unsafe { &mut *std::ptr::with_exposed_provenance_mut::>(r as usize) }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `slabmalloc` (example "global_alloc") generated 6 warnings (run `cargo fix --example "global_alloc"` to apply 2 suggestions) [INFO] [stderr] warning: `slabmalloc` (lib test) generated 5 warnings (1 duplicate) (run `cargo fix --lib -p slabmalloc --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/slabmalloc-f3a43fc88b846051) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test tests::check_is_full_512 ... ok [INFO] [stdout] test tests::iter_empty_list ... ok [INFO] [stdout] test tests::jemalloc_allocate_deallocate ... ok [INFO] [stdout] test tests::check_is_full_8 ... ok [INFO] [stdout] test tests::check_first_fit ... ok [INFO] [stdout] test tests::list_pop ... ok [INFO] [stdout] test tests::issue_9 ... ok [INFO] [stdout] test tests::check_size ... ok [INFO] [stdout] test tests::jemalloc_allocate_deallocate_big ... ok [INFO] [stdout] test tests::op_10_size2048_alignment1 ... ok [INFO] [stdout] test tests::op_2000_size14_alignment1 ... ok [INFO] [stdout] test tests::op_1000_size512_alignment1 ... ok [INFO] [stdout] test tests::op_1024_size24_alignment1 ... ok [INFO] [stdout] test tests::op_3090_size32_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_3 ... ok [INFO] [stdout] test tests::op_500_size8_alignment64 ... ok [INFO] [stdout] test tests::op_4096_size13_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size12_alignment1 ... ok [INFO] [stdout] test tests::op_512_size8_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size15_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size8_alignment8 ... ok [INFO] [stdout] test tests::op_4096_size64_alignment1 ... ok [INFO] [stdout] test tests::slabmalloc_allocate_deallocate ... ok [INFO] [stdout] test tests::lop_4096_12 ... ok [INFO] [stdout] test tests::slabmalloc_allocate_deallocate_big ... ok [INFO] [stdout] test tests::test_bug1 ... ok [INFO] [stdout] test tests::test_mmap_allocator ... ok [INFO] [stdout] test tests::test_readme ... ok [INFO] [stdout] test tests::test_readme2 ... ok [INFO] [stdout] test tests::invalid_alignment - should panic ... ok [INFO] [stdout] test tests::op_8000_size16_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_13 ... ok [INFO] [stdout] test tests::lop_4096_14 ... ok [INFO] [stdout] test tests::op_4096_size1024_alignment1 ... ok [INFO] [stdout] test tests::op_10000_size512_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_15 ... ok [INFO] [stdout] test tests::lop_4096_16 ... ok [INFO] [stdout] test tests::lop_4096_17 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.65s [INFO] [stdout] [INFO] [stderr] Doc-tests slabmalloc [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8a30763ac736b2f0d85944ed3354b37be548411f529c47bfafa6489dffa8bf3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a30763ac736b2f0d85944ed3354b37be548411f529c47bfafa6489dffa8bf3b", kill_on_drop: false }` [INFO] [stdout] 8a30763ac736b2f0d85944ed3354b37be548411f529c47bfafa6489dffa8bf3b