[INFO] fetching crate mlx9064x 0.2.1... [INFO] checking mlx9064x-0.2.1 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate mlx9064x 0.2.1 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate mlx9064x 0.2.1 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate mlx9064x 0.2.1 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate mlx9064x 0.2.1 [INFO] tweaked toml for crates.io crate mlx9064x 0.2.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate mlx9064x 0.2.1 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 940bb75f355146191b6afe4f013310166d4c11b962ec3976d57eca88b029c573 [INFO] running `Command { std: "docker" "start" "-a" "940bb75f355146191b6afe4f013310166d4c11b962ec3976d57eca88b029c573", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "940bb75f355146191b6afe4f013310166d4c11b962ec3976d57eca88b029c573", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "940bb75f355146191b6afe4f013310166d4c11b962ec3976d57eca88b029c573", kill_on_drop: false }` [INFO] [stdout] 940bb75f355146191b6afe4f013310166d4c11b962ec3976d57eca88b029c573 [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 -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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f84a07d4296822b4f91ca488cf99700c7c06572869acf9658382d49d8e468e5b [INFO] running `Command { std: "docker" "start" "-a" "f84a07d4296822b4f91ca488cf99700c7c06572869acf9658382d49d8e468e5b", kill_on_drop: false }` [INFO] [stderr] Compiling semver v1.0.3 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Checking nb v1.0.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking serial-core v0.4.0 [INFO] [stderr] Checking ioctl-rs v0.1.6 [INFO] [stderr] Checking termios v0.2.2 [INFO] [stderr] Checking nb v0.1.3 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Checking arrayvec v0.7.1 [INFO] [stderr] Checking embedded-hal v0.2.5 [INFO] [stderr] Checking serial-unix v0.4.0 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling cast v0.2.7 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling num_enum_derive v0.5.2 [INFO] [stderr] Checking spidev v0.4.1 [INFO] [stderr] Checking sysfs_gpio v0.5.4 [INFO] [stderr] Checking i2cdev v0.4.4 [INFO] [stderr] Checking linux-embedded-hal v0.3.0 [INFO] [stderr] Checking num_enum v0.5.2 [INFO] [stderr] Checking mlx9064x v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Address` [INFO] [stdout] --> src/mlx90640/mod.rs:197:32 [INFO] [stdout] | [INFO] [stdout] 197 | use crate::{AccessPattern, Address, MelexisCamera, Resolution, Subpage}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:160:55 [INFO] [stdout] | [INFO] [stdout] 160 | let even_row_pattern = core::array::IntoIter::new([row_even_col_even, row_even_col_odd]); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:161:54 [INFO] [stdout] | [INFO] [stdout] 161 | let odd_row_pattern = core::array::IntoIter::new([row_odd_col_even, row_odd_col_odd]); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:160:55 [INFO] [stdout] | [INFO] [stdout] 160 | let even_row_pattern = core::array::IntoIter::new([row_even_col_even, row_even_col_odd]); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:161:54 [INFO] [stdout] | [INFO] [stdout] 161 | let odd_row_pattern = core::array::IntoIter::new([row_odd_col_even, row_odd_col_odd]); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:103:60 [INFO] [stdout] | [INFO] [stdout] 103 | let rows_coefficients = core::array::IntoIter::new(rows_coefficients) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:224:36 [INFO] [stdout] | [INFO] [stdout] 224 | core::array::IntoIter::new(alpha_pixels) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:261:68 [INFO] [stdout] | [INFO] [stdout] 261 | let k_v_pattern: ArrayVec = core::array::IntoIter::new(k_v_avg) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:103:60 [INFO] [stdout] | [INFO] [stdout] 103 | let rows_coefficients = core::array::IntoIter::new(rows_coefficients) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:224:36 [INFO] [stdout] | [INFO] [stdout] 224 | core::array::IntoIter::new(alpha_pixels) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `core::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/mlx90640/eeprom.rs:261:68 [INFO] [stdout] | [INFO] [stdout] 261 | let k_v_pattern: ArrayVec = core::array::IntoIter::new(k_v_avg) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `write_mask` is never used [INFO] [stdout] --> src/register.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) trait Register: Into<[u8; 2]> + for<'a> From<&'a [u8]> { [INFO] [stdout] | -------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 19 | fn write_mask() -> [u8; 2]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/common.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 333 | let results: ArrayVec = (0..NUM_RANGES) [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 336 | / results [INFO] [stdout] 337 | | .into_inner() [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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/driver.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 119 | bus: I2C, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 120 | address: u8, [INFO] [stdout] 121 | calibration: Clb, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 124 | let mut bus = bus; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 137 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 138 | | bus, [INFO] [stdout] 139 | | address, [INFO] [stdout] 140 | | calibration, [INFO] [stdout] ... | [INFO] [stdout] 147 | | _camera: PhantomData, [INFO] [stdout] 148 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/driver.rs:555:5 [INFO] [stdout] | [INFO] [stdout] 540 | let pixel_ranges: ArrayVec = [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 555 | RamData::from_i2c::(bus, i2c_address, subpage).map_err(Error::I2cWriteReadError) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mlx9064x` (lib) due to 4 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/test/i2c_mock.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | IllegalAccess(Address), [INFO] [stdout] | ------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MockError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 66 | IllegalAccess(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/test/i2c_mock.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | IllegalWriteAddress(Address), [INFO] [stdout] | ------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MockError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 69 | IllegalWriteAddress(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/test/i2c_mock.rs:72:23 [INFO] [stdout] | [INFO] [stdout] 72 | IllegalWriteValue(Address, u16), [INFO] [stdout] | ----------------- ^^^^^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MockError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 72 | IllegalWriteValue((), ()), [INFO] [stdout] | ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/test/i2c_mock.rs:75:26 [INFO] [stdout] | [INFO] [stdout] 75 | UnknownMemoryAddress(Address), [INFO] [stdout] | -------------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MockError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 75 | UnknownMemoryAddress(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/test/i2c_mock.rs:78:23 [INFO] [stdout] | [INFO] [stdout] 78 | UnknownI2cAddress(u8), [INFO] [stdout] | ----------------- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MockError` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 78 | UnknownI2cAddress(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/common.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 333 | let results: ArrayVec = (0..NUM_RANGES) [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 336 | / results [INFO] [stdout] 337 | | .into_inner() [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] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/driver.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 119 | bus: I2C, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 120 | address: u8, [INFO] [stdout] 121 | calibration: Clb, [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 124 | let mut bus = bus; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 137 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 138 | | bus, [INFO] [stdout] 139 | | address, [INFO] [stdout] 140 | | calibration, [INFO] [stdout] ... | [INFO] [stdout] 147 | | _camera: PhantomData, [INFO] [stdout] 148 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/driver.rs:555:5 [INFO] [stdout] | [INFO] [stdout] 540 | let pixel_ranges: ArrayVec = [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 555 | RamData::from_i2c::(bus, i2c_address, subpage).map_err(Error::I2cWriteReadError) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mlx9064x` (lib test) due to 4 previous errors; 11 warnings emitted [INFO] running `Command { std: "docker" "inspect" "f84a07d4296822b4f91ca488cf99700c7c06572869acf9658382d49d8e468e5b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f84a07d4296822b4f91ca488cf99700c7c06572869acf9658382d49d8e468e5b", kill_on_drop: false }` [INFO] [stdout] f84a07d4296822b4f91ca488cf99700c7c06572869acf9658382d49d8e468e5b