[INFO] fetching crate slabmalloc 0.11.0... [INFO] checking slabmalloc-0.11.0 against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3 [INFO] extracting crate slabmalloc 0.11.0 into /workspace/builds/worker-1-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-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate slabmalloc 0.11.0 on toolchain b1f2594eac607c1f051534800237eeedb5590a49 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e2709d67fceebb9ceb2343f607751962635c2f093af17d01da30dc7b02115dd2 [INFO] running `Command { std: "docker" "start" "-a" "e2709d67fceebb9ceb2343f607751962635c2f093af17d01da30dc7b02115dd2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e2709d67fceebb9ceb2343f607751962635c2f093af17d01da30dc7b02115dd2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e2709d67fceebb9ceb2343f607751962635c2f093af17d01da30dc7b02115dd2", kill_on_drop: false }` [INFO] [stdout] e2709d67fceebb9ceb2343f607751962635c2f093af17d01da30dc7b02115dd2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fd5a4f423ff7a378c5b6bba417c0378e2e6a09310a1f247287e6ac050c5d4a6a [INFO] running `Command { std: "docker" "start" "-a" "fd5a4f423ff7a378c5b6bba417c0378e2e6a09310a1f247287e6ac050c5d4a6a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.95 [INFO] [stderr] Checking spin v0.9.0 [INFO] [stderr] Checking 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] Checking getrandom v0.2.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking rand v0.8.3 [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: 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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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] = 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: 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/b1f2594eac607c1f051534800237eeedb5590a49/library/core/src/prelude/mod.rs:31:12 [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 `dev` profile [unoptimized + debuginfo] target(s) in 3.21s [INFO] running `Command { std: "docker" "inspect" "fd5a4f423ff7a378c5b6bba417c0378e2e6a09310a1f247287e6ac050c5d4a6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd5a4f423ff7a378c5b6bba417c0378e2e6a09310a1f247287e6ac050c5d4a6a", kill_on_drop: false }` [INFO] [stdout] fd5a4f423ff7a378c5b6bba417c0378e2e6a09310a1f247287e6ac050c5d4a6a