[INFO] fetching crate rdxsort 0.3.0... [INFO] testing rdxsort-0.3.0 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-1 [INFO] extracting crate rdxsort 0.3.0 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate rdxsort 0.3.0 [INFO] finished tweaking crates.io crate rdxsort 0.3.0 [INFO] tweaked toml for crates.io crate rdxsort 0.3.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rdxsort 0.3.0 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 11 packages to latest compatible versions [INFO] [stderr] Adding rand v0.3.23 (available: v0.9.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded quicksort v1.1.0 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa32d3e6f604d8c3801c7b777645315531ca8024b15dd7f3831013a63eda89a4 [INFO] running `Command { std: "docker" "start" "-a" "fa32d3e6f604d8c3801c7b777645315531ca8024b15dd7f3831013a63eda89a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa32d3e6f604d8c3801c7b777645315531ca8024b15dd7f3831013a63eda89a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa32d3e6f604d8c3801c7b777645315531ca8024b15dd7f3831013a63eda89a4", kill_on_drop: false }` [INFO] [stdout] fa32d3e6f604d8c3801c7b777645315531ca8024b15dd7f3831013a63eda89a4 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 490b9081358da282acdda92fa1966de1e06d835a4daf39fddd149495fe8ec565 [INFO] running `Command { std: "docker" "start" "-a" "490b9081358da282acdda92fa1966de1e06d835a4daf39fddd149495fe8ec565", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling rdxsort v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/floats.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] ... [INFO] [stdout] 55 | impl_rdxsort!(f32, u32, 0f32); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/floats.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f64::to_bits` [INFO] [stdout] ... [INFO] [stdout] 56 | impl_rdxsort!(f64, u64, 0f64); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i8::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 44 | impl_rdxsort!(i8, u8, i8::min_value(), 0i8); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i16::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 45 | impl_rdxsort!(i16, u16, i16::min_value(), 0i16); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 46 | impl_rdxsort!(i32, u32, i32::min_value(), 0i32); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i64::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 47 | impl_rdxsort!(i64, u64, i64::min_value(), 0i64); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] running `Command { std: "docker" "inspect" "490b9081358da282acdda92fa1966de1e06d835a4daf39fddd149495fe8ec565", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "490b9081358da282acdda92fa1966de1e06d835a4daf39fddd149495fe8ec565", kill_on_drop: false }` [INFO] [stdout] 490b9081358da282acdda92fa1966de1e06d835a4daf39fddd149495fe8ec565 [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5eabbfb8ade504a1b4e1c554dc29a67b55c8b57eaed70ada670fae3232bae18a [INFO] running `Command { std: "docker" "start" "-a" "5eabbfb8ade504a1b4e1c554dc29a67b55c8b57eaed70ada670fae3232bae18a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling quicksort v1.1.0 [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/floats.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] ... [INFO] [stdout] 55 | impl_rdxsort!(f32, u32, 0f32); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/floats.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f64::to_bits` [INFO] [stdout] ... [INFO] [stdout] 56 | impl_rdxsort!(f64, u64, 0f64); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i8::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 44 | impl_rdxsort!(i8, u8, i8::min_value(), 0i8); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i16::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 45 | impl_rdxsort!(i16, u16, i16::min_value(), 0i16); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 46 | impl_rdxsort!(i32, u32, i32::min_value(), 0i32); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i64::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 47 | impl_rdxsort!(i64, u64, i64::min_value(), 0i64); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling rdxsort v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead [INFO] [stdout] --> tests/lib.rs:87:32 [INFO] [stdout] | [INFO] [stdout] 87 | let mut hasher = hash::SipHasher::new(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead [INFO] [stdout] --> tests/lib.rs:87:43 [INFO] [stdout] | [INFO] [stdout] 87 | let mut hasher = hash::SipHasher::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/floats.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f32::to_bits` [INFO] [stdout] ... [INFO] [stdout] 55 | impl_rdxsort!(f32, u32, 0f32); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/floats.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `f64::to_bits` [INFO] [stdout] ... [INFO] [stdout] 56 | impl_rdxsort!(f64, u64, 0f64); [INFO] [stdout] | ----------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i8::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 44 | impl_rdxsort!(i8, u8, i8::min_value(), 0i8); [INFO] [stdout] | ------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i16::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 45 | impl_rdxsort!(i16, u16, i16::min_value(), 0i16); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 46 | impl_rdxsort!(i32, u32, i32::min_value(), 0i32); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/signed_integer.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stdout] | ----------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i64::cast_unsigned` [INFO] [stdout] ... [INFO] [stdout] 47 | impl_rdxsort!(i64, u64, i64::min_value(), 0i64); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.26s [INFO] running `Command { std: "docker" "inspect" "5eabbfb8ade504a1b4e1c554dc29a67b55c8b57eaed70ada670fae3232bae18a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5eabbfb8ade504a1b4e1c554dc29a67b55c8b57eaed70ada670fae3232bae18a", kill_on_drop: false }` [INFO] [stdout] 5eabbfb8ade504a1b4e1c554dc29a67b55c8b57eaed70ada670fae3232bae18a [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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f05586e34960d7e6d3cd3f4e5e9b74a9610146f923e7fddfaa58fa0ef979c14e [INFO] running `Command { std: "docker" "start" "-a" "f05586e34960d7e6d3cd3f4e5e9b74a9610146f923e7fddfaa58fa0ef979c14e", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/floats.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stderr] | ----------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `f32::to_bits` [INFO] [stderr] ... [INFO] [stderr] 55 | impl_rdxsort!(f32, u32, 0f32); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/floats.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stderr] | ----------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `f64::to_bits` [INFO] [stderr] ... [INFO] [stderr] 56 | impl_rdxsort!(f64, u64, 0f64); [INFO] [stderr] | ----------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/signed_integer.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stderr] | ----------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i8::cast_unsigned` [INFO] [stderr] ... [INFO] [stderr] 44 | impl_rdxsort!(i8, u8, i8::min_value(), 0i8); [INFO] [stderr] | ------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/signed_integer.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stderr] | ----------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i16::cast_unsigned` [INFO] [stderr] ... [INFO] [stderr] 45 | impl_rdxsort!(i16, u16, i16::min_value(), 0i16); [INFO] [stderr] | ----------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/signed_integer.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stderr] | ----------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i32::cast_unsigned` [INFO] [stderr] ... [INFO] [stderr] 46 | impl_rdxsort!(i32, u32, i32::min_value(), 0i32); [INFO] [stderr] | ----------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/signed_integer.rs:22:42 [INFO] [stderr] | [INFO] [stderr] 22 | let alias = unsafe { mem::transmute::<$t, $alias>(*self) }; [INFO] [stderr] | ----------------------------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i64::cast_unsigned` [INFO] [stderr] ... [INFO] [stderr] 47 | impl_rdxsort!(i64, u64, i64::min_value(), 0i64); [INFO] [stderr] | ----------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `impl_rdxsort` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `rdxsort` (lib) generated 6 warnings (run `cargo fix --lib -p rdxsort` to apply 6 suggestions) [INFO] [stderr] warning: use of deprecated struct `std::hash::SipHasher`: use `std::hash::DefaultHasher` instead [INFO] [stderr] --> tests/lib.rs:87:32 [INFO] [stderr] | [INFO] [stderr] 87 | let mut hasher = hash::SipHasher::new(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::hash::SipHasher::new`: use `std::hash::DefaultHasher` instead [INFO] [stderr] --> tests/lib.rs:87:43 [INFO] [stderr] | [INFO] [stderr] 87 | let mut hasher = hash::SipHasher::new(); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `rdxsort` (test "lib") generated 2 warnings [INFO] [stderr] warning: `rdxsort` (lib test) generated 6 warnings (6 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rdxsort-563d179dbeb807cb) [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] [stderr] Running tests/lib.rs (/opt/rustwide/target/debug/deps/lib-7d94e72153a9cd14) [INFO] [stdout] [INFO] [stdout] running 62 tests [INFO] [stderr] [INFO] [stderr] thread 'sub_bool::test_empty_bool' (30) panicked at /opt/rustwide/workdir/src/template.rs:143:51: [INFO] [stderr] unsafe precondition(s) violated: slice::get_unchecked_mut requires that the index is within the slice [INFO] [stderr] [INFO] [stderr] This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety. [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x64dde7d80622 - std::backtrace_rs::backtrace::libunwind::trace::h0fb8082ca5562a61 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x64dde7d80622 - std::backtrace_rs::backtrace::trace_unsynchronized::hfaa258994374a3cd [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x64dde7d80622 - std::sys::backtrace::_print_fmt::h11496fe34963a885 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x64dde7d80622 - ::fmt::hff1a9408d012ee89 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x64dde7da390f - core::fmt::rt::Argument::fmt::hf11195b61445f5d1 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x64dde7da390f - core::fmt::write::h2f1fc679f228cc52 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/fmt/mod.rs:1468:25 [INFO] [stderr] 6: 0x64dde7d6fa33 - std::io::default_write_fmt::hdd5e6d67566e664d [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x64dde7d6fa33 - std::io::Write::write_fmt::haa2231cbd9aebf95 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x64dde7d80472 - std::sys::backtrace::BacktraceLock::print::h28bfdbcac6d3828b [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x64dde7d6ba6c - std::panicking::default_hook::{{closure}}::h1f968e3a24b0e3b4 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:301:27 [INFO] [stderr] 10: 0x64dde7d6b8b1 - std::panicking::default_hook::h43da101644971931 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:328:9 [INFO] [stderr] 11: 0x64dde7d1418e - as core::ops::function::Fn>::call::h4b2012949041da5d [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1985:9 [INFO] [stderr] 12: 0x64dde7d1418e - test::test_main_with_exit_callback::{{closure}}::h53c9154cdc260357 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:145:21 [INFO] [stderr] 13: 0x64dde7d6c073 - as core::ops::function::Fn>::call::h911f2e3e7e84b764 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1985:9 [INFO] [stderr] 14: 0x64dde7d6c073 - std::panicking::panic_with_hook::hb4e916c3e65eccec [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:842:13 [INFO] [stderr] 15: 0x64dde7d7ffc6 - std::panicking::panic_handler::{{closure}}::hbff715d0475cf1bd [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:700:13 [INFO] [stderr] 16: 0x64dde7d7ff59 - std::sys::backtrace::__rust_end_short_backtrace::hd6f43484e45a4955 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 17: 0x64dde7d6c69d - __rustc[b29d3319de9a3146]::rust_begin_unwind [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:698:5 [INFO] [stderr] 18: 0x64dde7da9bed - core::panicking::panic_nounwind_fmt::runtime::hfdf11e78ca5c7d79 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panicking.rs:117:22 [INFO] [stderr] 19: 0x64dde7da9bed - core::panicking::panic_nounwind_fmt::hfe299d8bebaba346 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/intrinsics/mod.rs:2361:9 [INFO] [stderr] 20: 0x64dde7cf6bdc - >::get_unchecked_mut::precondition_check::h68c1b08be43f8305 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ub_checks.rs:72:21 [INFO] [stderr] 21: 0x64dde7cf7939 - >::get_unchecked_mut::h736d62070d935b79 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ub_checks.rs:77:17 [INFO] [stderr] 22: 0x64dde7cf2e48 - core::slice::::get_unchecked_mut::h18c5709784e63e9a [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/slice/mod.rs:689:30 [INFO] [stderr] 23: 0x64dde7d013e6 - rdxsort::template::::rdxsort::hd00eb87292772e2c [INFO] [stderr] at /opt/rustwide/workdir/src/template.rs:143:51 [INFO] [stderr] 24: 0x64dde7c63b65 - rdxsort::template::>::rdxsort::h6aacb99180159e9b [INFO] [stderr] at /opt/rustwide/workdir/src/template.rs:157:29 [INFO] [stderr] 25: 0x64dde7cca7d0 - lib::test_generic::hbac546c2f1d63b51 [INFO] [stderr] at /opt/rustwide/workdir/tests/lib.rs:107:10 [INFO] [stderr] 26: 0x64dde7cd0314 - lib::test_empty_generic::h7de1a5b43a262436 [INFO] [stderr] at /opt/rustwide/workdir/tests/lib.rs:120:5 [INFO] [stderr] 27: 0x64dde7cb1926 - lib::sub_bool::test_empty_bool::hca6141400ec4aec5 [INFO] [stderr] at /opt/rustwide/workdir/tests/lib.rs:208:9 [INFO] [stderr] 28: 0x64dde7cb19a7 - lib::sub_bool::test_empty_bool::{{closure}}::hf60014fa602c07a3 [INFO] [stderr] at /opt/rustwide/workdir/tests/lib.rs:207:25 [INFO] [stderr] 29: 0x64dde7cbbdf6 - core::ops::function::FnOnce::call_once::h0e4b70eb466b9396 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 30: 0x64dde7d196cb - core::ops::function::FnOnce::call_once::haf4e03bb51ef1351 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 31: 0x64dde7d196cb - test::__rust_begin_short_backtrace::h50f5566ee84f2f21 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:663:18 [INFO] [stderr] 32: 0x64dde7d1c8c5 - test::run_test_in_process::{{closure}}::heb3733b71d876eca [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:686:74 [INFO] [stderr] 33: 0x64dde7d1c8c5 - as core::ops::function::FnOnce<()>>::call_once::he2fe41e1b161faa9 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stderr] 34: 0x64dde7d1c8c5 - std::panicking::catch_unwind::do_call::h00aa383d8fd97a09 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:590:40 [INFO] [stderr] 35: 0x64dde7d1c8c5 - std::panicking::catch_unwind::he482e1914bc21641 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:553:19 [INFO] [stderr] 36: 0x64dde7d1c8c5 - std::panic::catch_unwind::h86ac9705098f4f22 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panic.rs:359:14 [INFO] [stderr] 37: 0x64dde7d1c8c5 - test::run_test_in_process::h636a992821e3c6aa [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:686:27 [INFO] [stderr] 38: 0x64dde7d1c8c5 - test::run_test::{{closure}}::he454cc9a192df79f [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:607:43 [INFO] [stderr] 39: 0x64dde7d42274 - test::run_test::{{closure}}::haec47455908dff86 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/test/src/lib.rs:637:41 [INFO] [stderr] 40: 0x64dde7d42274 - std::sys::backtrace::__rust_begin_short_backtrace::h230785972524cdc1 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/backtrace.rs:158:18 [INFO] [stderr] 41: 0x64dde7d28e8a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::haa5a562db4cde838 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/thread/mod.rs:559:17 [INFO] [stderr] 42: 0x64dde7d28e8a - as core::ops::function::FnOnce<()>>::call_once::h89254f37a55d0a87 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/panic/unwind_safe.rs:272:9 [INFO] [stderr] 43: 0x64dde7d28e8a - std::panicking::catch_unwind::do_call::h499f5a462f019d9d [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:590:40 [INFO] [stderr] 44: 0x64dde7d28e8a - std::panicking::catch_unwind::h6736fbbb1a264383 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panicking.rs:553:19 [INFO] [stderr] 45: 0x64dde7d28e8a - std::panic::catch_unwind::h49ea7bdd1cbee572 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/panic.rs:359:14 [INFO] [stderr] 46: 0x64dde7d28e8a - std::thread::Builder::spawn_unchecked_::{{closure}}::h653dfa62acf32f5a [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/thread/mod.rs:557:30 [INFO] [stderr] 47: 0x64dde7d28e8a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h82582a626a045a45 [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/core/src/ops/function.rs:253:5 [INFO] [stderr] 48: 0x64dde7d56c8f - as core::ops::function::FnOnce>::call_once::h4ab26c07513156cc [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/alloc/src/boxed.rs:1971:9 [INFO] [stderr] 49: 0x64dde7d56c8f - std::sys::pal::unix::thread::Thread::new::thread_start::h66ff1bba185a50cf [INFO] [stderr] at /rustc/350d0ef0ec0493e6d21cfb265cb8211a0e74d766/library/std/src/sys/pal/unix/thread.rs:107:17 [INFO] [stderr] 50: 0x7562d6733aa4 - [INFO] [stderr] 51: 0x7562d67c0a34 - clone [INFO] [stderr] 52: 0x0 - [INFO] [stderr] thread caused non-unwinding panic. aborting. [INFO] [stderr] error: test failed, to rerun pass `--test lib` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/deps/lib-7d94e72153a9cd14` (signal: 6, SIGABRT: process abort signal) [INFO] running `Command { std: "docker" "inspect" "f05586e34960d7e6d3cd3f4e5e9b74a9610146f923e7fddfaa58fa0ef979c14e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f05586e34960d7e6d3cd3f4e5e9b74a9610146f923e7fddfaa58fa0ef979c14e", kill_on_drop: false }` [INFO] [stdout] f05586e34960d7e6d3cd3f4e5e9b74a9610146f923e7fddfaa58fa0ef979c14e