[INFO] fetching crate borsh 0.10.4... [INFO] checking borsh-0.10.4 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate borsh 0.10.4 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate borsh 0.10.4 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate borsh 0.10.4 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate borsh 0.10.4 [INFO] tweaked toml for crates.io crate borsh 0.10.4 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate borsh 0.10.4 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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d11008d3290f66fd8c1b5d43e59df8fbe785161bdfd1ed713bc494d81231568 [INFO] running `Command { std: "docker" "start" "-a" "1d11008d3290f66fd8c1b5d43e59df8fbe785161bdfd1ed713bc494d81231568", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d11008d3290f66fd8c1b5d43e59df8fbe785161bdfd1ed713bc494d81231568", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d11008d3290f66fd8c1b5d43e59df8fbe785161bdfd1ed713bc494d81231568", kill_on_drop: false }` [INFO] [stdout] 1d11008d3290f66fd8c1b5d43e59df8fbe785161bdfd1ed713bc494d81231568 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8bbf9a46da503e319cd0f0b71bd1fe0b358517dc0c73678036f6116fe24e94a1 [INFO] running `Command { std: "docker" "start" "-a" "8bbf9a46da503e319cd0f0b71bd1fe0b358517dc0c73678036f6116fe24e94a1", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Compiling proc-macro-crate v0.1.5 [INFO] [stderr] Compiling borsh-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-schema-derive-internal v0.10.4 [INFO] [stderr] Compiling borsh-derive v0.10.4 [INFO] [stderr] Checking borsh v0.10.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/de/mod.rs:666:19 [INFO] [stdout] | [INFO] [stdout] 666 | struct MyType(u8); [INFO] [stdout] | ------ ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> tests/test_schema_structs.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | struct A(u64, String); [INFO] [stdout] | - ^^^ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing these fields [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BytesMut: BorshSerialize` is not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(BorshSerialize, BorshDeserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `BorshSerialize` is not implemented for `BytesMut` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `BorshSerialize`: [INFO] [stdout] &T [INFO] [stdout] () [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] (T0, T1, T2, T3, T4) [INFO] [stdout] (T0, T1, T2, T3, T4, T5) [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6) [INFO] [stdout] and 72 others [INFO] [stdout] = help: see issue #48214 [INFO] [stdout] = note: this error originates in the derive macro `BorshSerialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable [INFO] [stdout] | [INFO] [stdout] 1 + #![feature(trivial_bounds)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `bytes::Bytes: BorshSerialize` is not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(BorshSerialize, BorshDeserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `BorshSerialize` is not implemented for `bytes::Bytes` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `BorshSerialize`: [INFO] [stdout] &T [INFO] [stdout] () [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] (T0, T1, T2, T3, T4) [INFO] [stdout] (T0, T1, T2, T3, T4, T5) [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6) [INFO] [stdout] and 72 others [INFO] [stdout] = help: see issue #48214 [INFO] [stdout] = note: this error originates in the derive macro `BorshSerialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable [INFO] [stdout] | [INFO] [stdout] 1 + #![feature(trivial_bounds)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BytesMut: BorshDeserialize` is not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(BorshSerialize, BorshDeserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `BorshDeserialize` is not implemented for `BytesMut` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `BorshDeserialize`: [INFO] [stdout] () [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] (T0, T1, T2, T3, T4) [INFO] [stdout] (T0, T1, T2, T3, T4, T5) [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6) [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7) [INFO] [stdout] and 68 others [INFO] [stdout] = help: see issue #48214 [INFO] [stdout] = note: this error originates in the derive macro `BorshDeserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable [INFO] [stdout] | [INFO] [stdout] 1 + #![feature(trivial_bounds)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `bytes::Bytes: BorshDeserialize` is not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:5:26 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(BorshSerialize, BorshDeserialize, PartialEq, Debug)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `BorshDeserialize` is not implemented for `bytes::Bytes` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `BorshDeserialize`: [INFO] [stdout] () [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] (T0, T1, T2, T3, T4) [INFO] [stdout] (T0, T1, T2, T3, T4, T5) [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6) [INFO] [stdout] (T0, T1, T2, T3, T4, T5, T6, T7) [INFO] [stdout] and 68 others [INFO] [stdout] = help: see issue #48214 [INFO] [stdout] = note: this error originates in the derive macro `BorshDeserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: add `#![feature(trivial_bounds)]` to the crate attributes to enable [INFO] [stdout] | [INFO] [stdout] 1 + #![feature(trivial_bounds)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `try_to_vec` exists for struct `A<'_>`, but its trait bounds were not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:117:23 [INFO] [stdout] | [INFO] [stdout] 7 | struct A<'a> { [INFO] [stdout] | ------------ method `try_to_vec` not found for this struct because it doesn't satisfy `A<'_>: BorshSerialize` [INFO] [stdout] ... [INFO] [stdout] 117 | let encoded_a = a.try_to_vec().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ method cannot be called on `A<'_>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.7.2/src/bytes.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct Bytes { [INFO] [stdout] | ---------------- doesn't satisfy `bytes::Bytes: BorshSerialize` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.7.2/src/bytes_mut.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct BytesMut { [INFO] [stdout] | ------------------- doesn't satisfy `BytesMut: BorshSerialize` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BytesMut: BorshSerialize` [INFO] [stdout] `bytes::Bytes: BorshSerialize` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `try_to_vec`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `BorshSerialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `try_to_vec` exists for struct `E<'_, '_>`, but its trait bounds were not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:119:27 [INFO] [stdout] | [INFO] [stdout] 64 | struct E<'a, 'b> { [INFO] [stdout] | ---------------- method `try_to_vec` not found for this struct because it doesn't satisfy `E<'_, '_>: BorshSerialize` [INFO] [stdout] ... [INFO] [stdout] 119 | let encoded_ref_a = e.try_to_vec().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ method cannot be called on `E<'_, '_>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: trait bound `&A<'_>: BorshSerialize` was not satisfied [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `try_to_vec`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `BorshSerialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the function or associated item `try_from_slice` exists for struct `A<'_>`, but its trait bounds were not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:122:24 [INFO] [stdout] | [INFO] [stdout] 7 | struct A<'a> { [INFO] [stdout] | ------------ function or associated item `try_from_slice` not found for this struct because it doesn't satisfy `A<'_>: BorshDeserialize` [INFO] [stdout] ... [INFO] [stdout] 122 | let decoded_a = A::try_from_slice(&encoded_a).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ function or associated item cannot be called on `A<'_>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.7.2/src/bytes.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct Bytes { [INFO] [stdout] | ---------------- doesn't satisfy `bytes::Bytes: BorshDeserialize` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bytes-1.7.2/src/bytes_mut.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct BytesMut { [INFO] [stdout] | ------------------- doesn't satisfy `BytesMut: BorshDeserialize` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BytesMut: BorshDeserialize` [INFO] [stdout] `bytes::Bytes: BorshDeserialize` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `try_from_slice`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `BorshDeserialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `try_to_vec` exists for struct `F1<'_, '_>`, but its trait bounds were not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:159:25 [INFO] [stdout] | [INFO] [stdout] 69 | struct F1<'a, 'b> { [INFO] [stdout] | ----------------- method `try_to_vec` not found for this struct because it doesn't satisfy `F1<'_, '_>: BorshSerialize` [INFO] [stdout] ... [INFO] [stdout] 159 | let encoded_f1 = f1.try_to_vec().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ method cannot be called on `F1<'_, '_>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: trait bound `&[&A<'_>]: BorshSerialize` was not satisfied [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `try_to_vec`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `BorshSerialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the function or associated item `try_from_slice` exists for struct `F2<'_>`, but its trait bounds were not satisfied [INFO] [stdout] --> tests/test_simple_structs.rs:160:26 [INFO] [stdout] | [INFO] [stdout] 74 | struct F2<'b> { [INFO] [stdout] | ------------- function or associated item `try_from_slice` not found for this struct because it doesn't satisfy `F2<'_>: BorshDeserialize` [INFO] [stdout] ... [INFO] [stdout] 160 | let decoded_f2 = F2::try_from_slice(&encoded_f1).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ function or associated item cannot be called on `F2<'_>` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: trait bound `Vec>: BorshDeserialize` was not satisfied [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `try_from_slice`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `BorshDeserialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 9 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `borsh` (test "test_simple_structs") due to 10 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "8bbf9a46da503e319cd0f0b71bd1fe0b358517dc0c73678036f6116fe24e94a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8bbf9a46da503e319cd0f0b71bd1fe0b358517dc0c73678036f6116fe24e94a1", kill_on_drop: false }` [INFO] [stdout] 8bbf9a46da503e319cd0f0b71bd1fe0b358517dc0c73678036f6116fe24e94a1