[INFO] fetching crate slabmalloc 0.11.0... [INFO] testing slabmalloc-0.11.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate slabmalloc 0.11.0 into /workspace/builds/worker-3-tc1/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-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate slabmalloc 0.11.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded spin v0.9.0 [INFO] [stderr] Downloaded env_logger v0.9.0 [INFO] [stderr] Downloaded libc v0.2.95 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a1ac553eea4e5e020febdb3a079771e49fd8424699c2528ed6af53d9da2a0a35 [INFO] running `Command { std: "docker" "start" "-a" "a1ac553eea4e5e020febdb3a079771e49fd8424699c2528ed6af53d9da2a0a35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a1ac553eea4e5e020febdb3a079771e49fd8424699c2528ed6af53d9da2a0a35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1ac553eea4e5e020febdb3a079771e49fd8424699c2528ed6af53d9da2a0a35", kill_on_drop: false }` [INFO] [stdout] a1ac553eea4e5e020febdb3a079771e49fd8424699c2528ed6af53d9da2a0a35 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e3ebfac913d0618a27b988366c321c025307f8b8e7904ec6b4003fff240d8b62 [INFO] running `Command { std: "docker" "start" "-a" "e3ebfac913d0618a27b988366c321c025307f8b8e7904ec6b4003fff240d8b62", 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.72s [INFO] running `Command { std: "docker" "inspect" "e3ebfac913d0618a27b988366c321c025307f8b8e7904ec6b4003fff240d8b62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3ebfac913d0618a27b988366c321c025307f8b8e7904ec6b4003fff240d8b62", kill_on_drop: false }` [INFO] [stdout] e3ebfac913d0618a27b988366c321c025307f8b8e7904ec6b4003fff240d8b62 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3937c35ccc2587c8b797bc1b67e6523994f3c74c048caa6e70575ba95007e4e4 [INFO] running `Command { std: "docker" "start" "-a" "3937c35ccc2587c8b797bc1b67e6523994f3c74c048caa6e70575ba95007e4e4", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling termcolor v1.1.2 [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 aho-corasick v0.7.18 [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 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: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | / assert!( [INFO] [stdout] 55 | | self.base_pages.contains(&ptr), [INFO] [stdout] 56 | | "Trying to deallocate invalid base-page" [INFO] [stdout] 57 | | ); [INFO] [stdout] | |_________________^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] = note: `#[warn(ambiguous_panic_imports)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / assert!( [INFO] [stdout] 63 | | self.large_pages.contains(&ptr), [INFO] [stdout] 64 | | "Trying to deallocate invalid large-page" [INFO] [stdout] 65 | | ); [INFO] [stdout] | |_________________^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | assert!(!sp.is_full(), "Got empty slab"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | assert!(sp.is_empty(6 * 64), "Got empty slab"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | None => panic!("failed to allocate ObjectPage"), [INFO] [stdout] | ^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | assert!(!lp.is_full(), "Got empty slab"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | assert!(lp.is_empty(8 * 64), "Got empty slab"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | None => panic!("failed to allocate LargeObjectPage"), [INFO] [stdout] | ^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [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: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | / assert!( [INFO] [stdout] 649 | | !page.is_full(), [INFO] [stdout] 650 | | "Page mistakenly considered full after {} allocs", [INFO] [stdout] 651 | | allocs [INFO] [stdout] 652 | | ); [INFO] [stdout] | |_____________^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [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: 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: for more information, see [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: 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: for more information, see [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: 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: for more information, see [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: 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: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:694:5 [INFO] [stdout] | [INFO] [stdout] 694 | assert!(zone.allocate(l1).is_err(), "my pager gets called"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:701:5 [INFO] [stdout] | [INFO] [stdout] 701 | assert!(zone.allocate(l2).is_err(), "my pager gets called"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:710:5 [INFO] [stdout] | [INFO] [stdout] 710 | / assert!( [INFO] [stdout] 711 | | zone.allocate(l3).is_err(), [INFO] [stdout] 712 | | "my pager gets called and returns the properly aligned address X" [INFO] [stdout] 713 | | ); [INFO] [stdout] | |_____^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `panic` is ambiguous [INFO] [stdout] --> src/tests.rs:732:5 [INFO] [stdout] | [INFO] [stdout] 732 | assert!(zone.allocate(l5).is_err(), "my pager gets called"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `panic` could refer to the macro imported here [INFO] [stdout] --> src/tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::prelude::v1::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stdout] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stdout] note: `panic` could also refer to a macro from prelude [INFO] [stdout] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #147319 [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] --> 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.82s [INFO] running `Command { std: "docker" "inspect" "3937c35ccc2587c8b797bc1b67e6523994f3c74c048caa6e70575ba95007e4e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3937c35ccc2587c8b797bc1b67e6523994f3c74c048caa6e70575ba95007e4e4", kill_on_drop: false }` [INFO] [stdout] 3937c35ccc2587c8b797bc1b67e6523994f3c74c048caa6e70575ba95007e4e4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2d83ee755614e81fa3c3b529730531a441a078e5521e1bfb70e7e844efef3977 [INFO] running `Command { std: "docker" "start" "-a" "2d83ee755614e81fa3c3b529730531a441a078e5521e1bfb70e7e844efef3977", 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: 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: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | / assert!( [INFO] [stderr] 55 | | self.base_pages.contains(&ptr), [INFO] [stderr] 56 | | "Trying to deallocate invalid base-page" [INFO] [stderr] 57 | | ); [INFO] [stderr] | |_________________^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] = note: `#[warn(ambiguous_panic_imports)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | / assert!( [INFO] [stderr] 63 | | self.large_pages.contains(&ptr), [INFO] [stderr] 64 | | "Trying to deallocate invalid large-page" [INFO] [stderr] 65 | | ); [INFO] [stderr] | |_________________^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | assert!(!sp.is_full(), "Got empty slab"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | assert!(sp.is_empty(6 * 64), "Got empty slab"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | None => panic!("failed to allocate ObjectPage"), [INFO] [stderr] | ^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | assert!(!lp.is_full(), "Got empty slab"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:152:13 [INFO] [stderr] | [INFO] [stderr] 152 | assert!(lp.is_empty(8 * 64), "Got empty slab"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:155:17 [INFO] [stderr] | [INFO] [stderr] 155 | None => panic!("failed to allocate LargeObjectPage"), [INFO] [stderr] | ^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:648:13 [INFO] [stderr] | [INFO] [stderr] 648 | / assert!( [INFO] [stderr] 649 | | !page.is_full(), [INFO] [stderr] 650 | | "Page mistakenly considered full after {} allocs", [INFO] [stderr] 651 | | allocs [INFO] [stderr] 652 | | ); [INFO] [stderr] | |_____________^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:694:5 [INFO] [stderr] | [INFO] [stderr] 694 | assert!(zone.allocate(l1).is_err(), "my pager gets called"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:701:5 [INFO] [stderr] | [INFO] [stderr] 701 | assert!(zone.allocate(l2).is_err(), "my pager gets called"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:710:5 [INFO] [stderr] | [INFO] [stderr] 710 | / assert!( [INFO] [stderr] 711 | | zone.allocate(l3).is_err(), [INFO] [stderr] 712 | | "my pager gets called and returns the properly aligned address X" [INFO] [stderr] 713 | | ); [INFO] [stderr] | |_____^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [INFO] [stderr] [INFO] [stderr] warning: `panic` is ambiguous [INFO] [stderr] --> src/tests.rs:732:5 [INFO] [stderr] | [INFO] [stderr] 732 | assert!(zone.allocate(l5).is_err(), "my pager gets called"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous name [INFO] [stderr] | [INFO] [stderr] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stderr] note: `panic` could refer to the macro imported here [INFO] [stderr] --> src/tests.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::prelude::v1::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: consider adding an explicit import of `panic` to disambiguate [INFO] [stderr] = help: or use `self::panic` to refer to this macro unambiguously [INFO] [stderr] note: `panic` could also refer to a macro from prelude [INFO] [stderr] --> /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/prelude/mod.rs:31:12 [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #147319 [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: 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: 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: for more information, see [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: 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: for more information, see [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: 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: for more information, see [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: 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: for more information, see [INFO] [stderr] [INFO] [stderr] warning: `slabmalloc` (lib test) generated 18 warnings (1 duplicate) (run `cargo fix --lib -p slabmalloc --tests` to apply 2 suggestions) [INFO] [stderr] warning: `slabmalloc` (example "global_alloc") generated 6 warnings (run `cargo fix --example "global_alloc" -p slabmalloc` 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-34f22d42380b008c) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test tests::check_first_fit ... ok [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::issue_9 ... ok [INFO] [stdout] test tests::list_pop ... ok [INFO] [stdout] test tests::jemalloc_allocate_deallocate_big ... ok [INFO] [stdout] test tests::check_is_full_8 ... ok [INFO] [stdout] test tests::op_10_size2048_alignment1 ... ok [INFO] [stdout] test tests::check_size ... ok [INFO] [stdout] test tests::op_1024_size24_alignment1 ... ok [INFO] [stdout] test tests::invalid_alignment - should panic ... ok [INFO] [stdout] test tests::op_4096_size12_alignment1 ... ok [INFO] [stdout] test tests::op_3090_size32_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_3 ... ok [INFO] [stdout] test tests::op_4096_size64_alignment1 ... ok [INFO] [stdout] test tests::op_1000_size512_alignment1 ... ok [INFO] [stdout] test tests::op_4096_size13_alignment1 ... ok [INFO] [stdout] test tests::op_2000_size14_alignment1 ... 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::op_512_size8_alignment1 ... ok [INFO] [stdout] test tests::test_readme2 ... ok [INFO] [stdout] test tests::test_mmap_allocator ... ok [INFO] [stdout] test tests::test_readme ... ok [INFO] [stdout] test tests::op_4096_size8_alignment8 ... ok [INFO] [stdout] test tests::op_500_size8_alignment64 ... ok [INFO] [stdout] test tests::op_4096_size15_alignment1 ... ok [INFO] [stdout] test tests::op_8000_size16_alignment1 ... ok [INFO] [stdout] test tests::lop_4096_12 ... 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.53s [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" "2d83ee755614e81fa3c3b529730531a441a078e5521e1bfb70e7e844efef3977", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d83ee755614e81fa3c3b529730531a441a078e5521e1bfb70e7e844efef3977", kill_on_drop: false }` [INFO] [stdout] 2d83ee755614e81fa3c3b529730531a441a078e5521e1bfb70e7e844efef3977