[INFO] fetching crate bytekey-fix 0.5.1... [INFO] checking bytekey-fix-0.5.1 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] extracting crate bytekey-fix 0.5.1 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate bytekey-fix 0.5.1 [INFO] finished tweaking crates.io crate bytekey-fix 0.5.1 [INFO] tweaked toml for crates.io crate bytekey-fix 0.5.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate bytekey-fix 0.5.1 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] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 18 packages to latest compatible versions [INFO] [stderr] Adding rand v0.5.6 (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] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] be21b36830ebb06a1d16ddc1dab4e7f4f6c0f5cbea7b8162e5aba447db0f3027 [INFO] running `Command { std: "docker" "start" "-a" "be21b36830ebb06a1d16ddc1dab4e7f4f6c0f5cbea7b8162e5aba447db0f3027", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "be21b36830ebb06a1d16ddc1dab4e7f4f6c0f5cbea7b8162e5aba447db0f3027", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be21b36830ebb06a1d16ddc1dab4e7f4f6c0f5cbea7b8162e5aba447db0f3027", kill_on_drop: false }` [INFO] [stdout] be21b36830ebb06a1d16ddc1dab4e7f4f6c0f5cbea7b8162e5aba447db0f3027 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 525d6251596a1a7ac0af055edea2bce42e19268acba20cee34af26ed6ed80739 [INFO] running `Command { std: "docker" "start" "-a" "525d6251596a1a7ac0af055edea2bce42e19268acba20cee34af26ed6ed80739", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking bytekey-fix v0.5.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/de.rs:196:31 [INFO] [stdout] | [INFO] [stdout] 196 | let f: f32 = unsafe { transmute(val ^ t) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 196 - let f: f32 = unsafe { transmute(val ^ t) }; [INFO] [stdout] 196 + let f: f32 = unsafe { f32::from_bits(i32::cast_unsigned(val ^ t)) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/de.rs:206:31 [INFO] [stdout] | [INFO] [stdout] 206 | let f: f64 = unsafe { transmute(val ^ t) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 206 - let f: f64 = unsafe { transmute(val ^ t) }; [INFO] [stdout] 206 + let f: f64 = unsafe { f64::from_bits(i64::cast_unsigned(val ^ t)) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/de.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 457 | / fn deserialize_enum( [INFO] [stdout] 458 | | self, [INFO] [stdout] 459 | | _name: &'static str, [INFO] [stdout] 460 | | _fields: &'static [&'static str], [INFO] [stdout] ... | [INFO] [stdout] 463 | | where [INFO] [stdout] 464 | | V: Visitor<'de>, [INFO] [stdout] | |____________________________- move the `impl` block outside of this method `deserialize_enum` [INFO] [stdout] 465 | { [INFO] [stdout] 466 | impl<'de, 'a, R> serde::de::EnumAccess<'de> for &'a mut Deserializer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^^^^^------------^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Deserializer` is not local [INFO] [stdout] | `EnumAccess` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/de.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 457 | / fn deserialize_enum( [INFO] [stdout] 458 | | self, [INFO] [stdout] 459 | | _name: &'static str, [INFO] [stdout] 460 | | _fields: &'static [&'static str], [INFO] [stdout] ... | [INFO] [stdout] 463 | | where [INFO] [stdout] 464 | | V: Visitor<'de>, [INFO] [stdout] | |____________________________- move the `impl` block outside of this method `deserialize_enum` [INFO] [stdout] ... [INFO] [stdout] 484 | impl<'de, 'a, R> serde::de::VariantAccess<'de> for &'a mut Deserializer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------^^^^^^^^^^^^^^^^^^------------^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Deserializer` is not local [INFO] [stdout] | `VariantAccess` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/ser.rs:420:28 [INFO] [stdout] | [INFO] [stdout] 420 | let val = unsafe { transmute::(v) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 420 - let val = unsafe { transmute::(v) }; [INFO] [stdout] 420 + let val = unsafe { f32::to_bits(v).cast_signed() }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/ser.rs:432:28 [INFO] [stdout] | [INFO] [stdout] 432 | let val = unsafe { transmute::(v) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 432 - let val = unsafe { transmute::(v) }; [INFO] [stdout] 432 + let val = unsafe { f64::to_bits(v).cast_signed() }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `bytekey` [INFO] [stdout] --> tests/ser.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate bytekey; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `bytekey` [INFO] [stdout] --> tests/de.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern crate bytekey; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0463`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bytekey-fix` (test "ser") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/de.rs:196:31 [INFO] [stdout] | [INFO] [stdout] 196 | let f: f32 = unsafe { transmute(val ^ t) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 196 - let f: f32 = unsafe { transmute(val ^ t) }; [INFO] [stdout] 196 + let f: f32 = unsafe { f32::from_bits(i32::cast_unsigned(val ^ t)) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/de.rs:206:31 [INFO] [stdout] | [INFO] [stdout] 206 | let f: f64 = unsafe { transmute(val ^ t) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 206 - let f: f64 = unsafe { transmute(val ^ t) }; [INFO] [stdout] 206 + let f: f64 = unsafe { f64::from_bits(i64::cast_unsigned(val ^ t)) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/de.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 457 | / fn deserialize_enum( [INFO] [stdout] 458 | | self, [INFO] [stdout] 459 | | _name: &'static str, [INFO] [stdout] 460 | | _fields: &'static [&'static str], [INFO] [stdout] ... | [INFO] [stdout] 463 | | where [INFO] [stdout] 464 | | V: Visitor<'de>, [INFO] [stdout] | |____________________________- move the `impl` block outside of this method `deserialize_enum` [INFO] [stdout] 465 | { [INFO] [stdout] 466 | impl<'de, 'a, R> serde::de::EnumAccess<'de> for &'a mut Deserializer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^^^^^^^------------^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Deserializer` is not local [INFO] [stdout] | `EnumAccess` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/de.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 457 | / fn deserialize_enum( [INFO] [stdout] 458 | | self, [INFO] [stdout] 459 | | _name: &'static str, [INFO] [stdout] 460 | | _fields: &'static [&'static str], [INFO] [stdout] ... | [INFO] [stdout] 463 | | where [INFO] [stdout] 464 | | V: Visitor<'de>, [INFO] [stdout] | |____________________________- move the `impl` block outside of this method `deserialize_enum` [INFO] [stdout] ... [INFO] [stdout] 484 | impl<'de, 'a, R> serde::de::VariantAccess<'de> for &'a mut Deserializer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------^^^^^^^^^^^^^^^^^^------------^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `Deserializer` is not local [INFO] [stdout] | `VariantAccess` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/ser.rs:420:28 [INFO] [stdout] | [INFO] [stdout] 420 | let val = unsafe { transmute::(v) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 420 - let val = unsafe { transmute::(v) }; [INFO] [stdout] 420 + let val = unsafe { f32::to_bits(v).cast_signed() }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/ser.rs:432:28 [INFO] [stdout] | [INFO] [stdout] 432 | let val = unsafe { transmute::(v) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: replace this with [INFO] [stdout] | [INFO] [stdout] 432 - let val = unsafe { transmute::(v) }; [INFO] [stdout] 432 + let val = unsafe { f64::to_bits(v).cast_signed() }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0463`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bytekey-fix` (test "de") due to 1 previous error [INFO] running `Command { std: "docker" "inspect" "525d6251596a1a7ac0af055edea2bce42e19268acba20cee34af26ed6ed80739", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "525d6251596a1a7ac0af055edea2bce42e19268acba20cee34af26ed6ed80739", kill_on_drop: false }` [INFO] [stdout] 525d6251596a1a7ac0af055edea2bce42e19268acba20cee34af26ed6ed80739