[INFO] fetching crate desfire 0.2.0-alpha3... [INFO] checking desfire-0.2.0-alpha3 against try#7014e13d5becc920d4bea3cd87942c8a13d359bf+rustflags=-Dtail_expr_drop_order for pr-129864 [INFO] extracting crate desfire 0.2.0-alpha3 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate desfire 0.2.0-alpha3 on toolchain 7014e13d5becc920d4bea3cd87942c8a13d359bf [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate desfire 0.2.0-alpha3 [INFO] finished tweaking crates.io crate desfire 0.2.0-alpha3 [INFO] tweaked toml for crates.io crate desfire 0.2.0-alpha3 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "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 55 packages to latest compatible versions [INFO] [stderr] Adding aes v0.7.5 (available: v0.8.4) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding block-modes v0.8.1 (available: v0.9.1) [INFO] [stderr] Adding block-padding v0.2.1 (available: v0.3.3) [INFO] [stderr] Adding cipher v0.3.0 (available: v0.4.4) [INFO] [stderr] Adding des v0.7.0 (available: v0.8.1) [INFO] [stderr] Adding float-cmp v0.9.0 (available: v0.10.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hex-literal v0.3.4 (available: v0.4.1) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding mockall v0.11.4 (available: v0.13.0) [INFO] [stderr] Adding mockall_derive v0.11.4 (available: v0.13.0) [INFO] [stderr] Adding num-derive v0.3.3 (available: v0.4.2) [INFO] [stderr] Adding predicates v2.1.5 (available: v3.1.2) [INFO] [stderr] Adding simple-error v0.2.3 (available: v0.3.1) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding termtree v0.4.1 (available: v0.5.1) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cfff49676ce24768f05a28cb746e0d2638584fc616158505df0b2b095e456bcc [INFO] running `Command { std: "docker" "start" "-a" "cfff49676ce24768f05a28cb746e0d2638584fc616158505df0b2b095e456bcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cfff49676ce24768f05a28cb746e0d2638584fc616158505df0b2b095e456bcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cfff49676ce24768f05a28cb746e0d2638584fc616158505df0b2b095e456bcc", kill_on_drop: false }` [INFO] [stdout] cfff49676ce24768f05a28cb746e0d2638584fc616158505df0b2b095e456bcc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+7014e13d5becc920d4bea3cd87942c8a13d359bf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6dc61f44dc35f021db75188519c65a849058cb5b9069fef0c4f2d23c4eb66943 [INFO] running `Command { std: "docker" "start" "-a" "6dc61f44dc35f021db75188519c65a849058cb5b9069fef0c4f2d23c4eb66943", kill_on_drop: false }` [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking predicates-core v1.0.8 [INFO] [stderr] Compiling pcsc-sys v1.2.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking difflib v0.4.0 [INFO] [stderr] Checking termtree v0.4.1 [INFO] [stderr] Checking block-padding v0.2.1 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Checking predicates-tree v1.0.11 [INFO] [stderr] Compiling mockall_derive v0.11.4 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Checking fragile v2.0.0 [INFO] [stderr] Checking simple-error v0.2.3 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking downcast v0.11.0 [INFO] [stderr] Checking pcsc v2.8.2 [INFO] [stderr] Compiling hex-literal v0.3.4 [INFO] [stderr] Checking cipher v0.3.0 [INFO] [stderr] Checking aes v0.7.5 [INFO] [stderr] Checking block-modes v0.8.1 [INFO] [stderr] Checking des v0.7.0 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking desfire v0.2.0-alpha3 (/opt/rustwide/workdir) [INFO] [stderr] Checking predicates v2.1.5 [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/desfire/mod.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ChangeApplicationKey` [INFO] [stdout] 6 | pub enum ChangeApplicationKey { [INFO] [stdout] | -------------------- `ChangeApplicationKey` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [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/iso7816_4/apdustatuswords.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_APDUStatusWord` [INFO] [stdout] 4 | #[repr(u16)] [INFO] [stdout] 5 | pub enum APDUStatusWord { [INFO] [stdout] | -------------- `APDUStatusWord` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [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/iso7816_4/apdustatuswords.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_APDUStatusWord2` [INFO] [stdout] 131 | #[repr(u8)] [INFO] [stdout] 132 | pub enum APDUStatusWord2 { [INFO] [stdout] | --------------- `APDUStatusWord2` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking mockall v0.11.4 [INFO] [stdout] error: this value of type `std::result::Result<(), error::Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/desfire/desfire.rs:1240:15 [INFO] [stdout] | [INFO] [stdout] 1231 | let mut desfire = Desfire { [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1239 | let key = CipherKey::new_empty(CipherType::TDES).unwrap(); [INFO] [stdout] | --- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 1240 | match desfire.authenticate_iso_des(0x00, key.key.as_ref(), None) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [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/desfire/mod.rs:5:23 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ChangeApplicationKey` [INFO] [stdout] 6 | pub enum ChangeApplicationKey { [INFO] [stdout] | -------------------- `ChangeApplicationKey` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/desfire/desfire.rs:1115:9 [INFO] [stdout] | [INFO] [stdout] 1115 | card.connect(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1115 | let _ = card.connect(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/desfire/desfire.rs:1229:9 [INFO] [stdout] | [INFO] [stdout] 1229 | card.connect(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1229 | let _ = card.connect(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/desfire/desfire.rs:1237:9 [INFO] [stdout] | [INFO] [stdout] 1237 | desfire.select_application(0x000000); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1237 | let _ = desfire.select_application(0x000000); [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/iso7816_4/apdustatuswords.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_APDUStatusWord` [INFO] [stdout] 4 | #[repr(u16)] [INFO] [stdout] 5 | pub enum APDUStatusWord { [INFO] [stdout] | -------------- `APDUStatusWord` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [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/iso7816_4/apdustatuswords.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_APDUStatusWord2` [INFO] [stdout] 131 | #[repr(u8)] [INFO] [stdout] 132 | pub enum APDUStatusWord2 { [INFO] [stdout] | --------------- `APDUStatusWord2` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [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: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `desfire` (lib test) due to 2 previous errors; 6 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6dc61f44dc35f021db75188519c65a849058cb5b9069fef0c4f2d23c4eb66943", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6dc61f44dc35f021db75188519c65a849058cb5b9069fef0c4f2d23c4eb66943", kill_on_drop: false }` [INFO] [stdout] 6dc61f44dc35f021db75188519c65a849058cb5b9069fef0c4f2d23c4eb66943