[INFO] fetching crate slabmalloc 0.11.0... [INFO] testing slabmalloc-0.11.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8 [INFO] extracting crate slabmalloc 0.11.0 into /workspace/builds/worker-3-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-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate slabmalloc 0.11.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f564a5d8c58382104b76ed54d259aee50e0a049ae7a7e31128f320e93d973648 [INFO] running `Command { std: "docker" "start" "-a" "f564a5d8c58382104b76ed54d259aee50e0a049ae7a7e31128f320e93d973648", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f564a5d8c58382104b76ed54d259aee50e0a049ae7a7e31128f320e93d973648", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f564a5d8c58382104b76ed54d259aee50e0a049ae7a7e31128f320e93d973648", kill_on_drop: false }` [INFO] [stdout] f564a5d8c58382104b76ed54d259aee50e0a049ae7a7e31128f320e93d973648 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31a5be7633b3a5c0dd9f122147ca910fdd7d338852fb71c67cacbda8ea13ee50 [INFO] running `Command { std: "docker" "start" "-a" "31a5be7633b3a5c0dd9f122147ca910fdd7d338852fb71c67cacbda8ea13ee50", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling cfg-if v1.0.0 [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.80s [INFO] running `Command { std: "docker" "inspect" "31a5be7633b3a5c0dd9f122147ca910fdd7d338852fb71c67cacbda8ea13ee50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31a5be7633b3a5c0dd9f122147ca910fdd7d338852fb71c67cacbda8ea13ee50", kill_on_drop: false }` [INFO] [stdout] 31a5be7633b3a5c0dd9f122147ca910fdd7d338852fb71c67cacbda8ea13ee50 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 17a562a7eba46b31bfd98abf2c6359f48d0571090a0075521cdadd190bf94a77 [INFO] running `Command { std: "docker" "start" "-a" "17a562a7eba46b31bfd98abf2c6359f48d0571090a0075521cdadd190bf94a77", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling humantime v2.1.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 lock_api v0.4.4 [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 rand_chacha v0.3.0 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling env_logger v0.9.0 [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 12.39s [INFO] running `Command { std: "docker" "inspect" "17a562a7eba46b31bfd98abf2c6359f48d0571090a0075521cdadd190bf94a77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "17a562a7eba46b31bfd98abf2c6359f48d0571090a0075521cdadd190bf94a77", kill_on_drop: false }` [INFO] [stdout] 17a562a7eba46b31bfd98abf2c6359f48d0571090a0075521cdadd190bf94a77 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b0e8a369c0de553f93b10a2f024f301cf192e75e88a508c59c73f487342943c8 [INFO] running `Command { std: "docker" "start" "-a" "b0e8a369c0de553f93b10a2f024f301cf192e75e88a508c59c73f487342943c8", 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" -p slabmalloc` 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.07s [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_first_fit ... ok [INFO] [stdout] test tests::check_size ... ok [INFO] [stdout] test tests::check_is_full_512 ... ok [INFO] [stdout] test tests::jemalloc_allocate_deallocate_big ... ok [INFO] [stdout] test tests::list_pop ... ok [INFO] [stdout] test tests::issue_9 ... 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::lop_4096_3 ... ok [INFO] [stdout] test tests::lop_4096_12 ... ok [INFO] [stdout] test tests::invalid_alignment - should panic ... ok [INFO] [stdout] test tests::op_1000_size512_alignment1 ... ok [INFO] [stdout] test tests::op_1024_size24_alignment1 ... ok [INFO] [stdout] test tests::op_10_size2048_alignment1 ... ok [INFO] [stdout] test tests::op_2000_size14_alignment1 ... ok [INFO] [stdout] test tests::op_3090_size32_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size12_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size13_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size15_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size64_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size8_alignment8 ... ok [INFO] [stdout] test tests::op_500_size8_alignment64 ... ok [INFO] [stdout] test tests::op_512_size8_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_13 ... ok [INFO] [stdout] test tests::slabmalloc_allocate_deallocate ... 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::op_8000_size16_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_14 ... ok [INFO] [stdout] test tests::lop_4096_15 ... 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_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 5.68s [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" "b0e8a369c0de553f93b10a2f024f301cf192e75e88a508c59c73f487342943c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0e8a369c0de553f93b10a2f024f301cf192e75e88a508c59c73f487342943c8", kill_on_drop: false }` [INFO] [stdout] b0e8a369c0de553f93b10a2f024f301cf192e75e88a508c59c73f487342943c8