[INFO] fetching crate bluerobotics-ping 0.3.0... [INFO] checking bluerobotics-ping-0.3.0 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate bluerobotics-ping 0.3.0 into /workspace/builds/worker-0-tc2/source [INFO] validating manifest of crates.io crate bluerobotics-ping 0.3.0 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 bluerobotics-ping 0.3.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate bluerobotics-ping 0.3.0 [INFO] tweaked toml for crates.io crate bluerobotics-ping 0.3.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate crates.io crate bluerobotics-ping 0.3.0 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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] a88d61ceea685f0dfc2a2d1707ab81b8a1be14f748c7768be8759a16731ee23c [INFO] running `Command { std: "docker" "start" "-a" "a88d61ceea685f0dfc2a2d1707ab81b8a1be14f748c7768be8759a16731ee23c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a88d61ceea685f0dfc2a2d1707ab81b8a1be14f748c7768be8759a16731ee23c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a88d61ceea685f0dfc2a2d1707ab81b8a1be14f748c7768be8759a16731ee23c", kill_on_drop: false }` [INFO] [stdout] a88d61ceea685f0dfc2a2d1707ab81b8a1be14f748c7768be8759a16731ee23c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 9c8370e3e8379db3f23fedd6d2ba78d5c718cd77a1a5b8d7867fed4de87132eb [INFO] running `Command { std: "docker" "start" "-a" "9c8370e3e8379db3f23fedd6d2ba78d5c718cd77a1a5b8d7867fed4de87132eb", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking bytes v1.6.1 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling serde_json v1.0.121 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking lock_api v0.4.12 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Checking clap_builder v4.5.11 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v1.0.1 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling clap_derive v4.5.11 [INFO] [stderr] Compiling tracing-test-macro v0.2.5 [INFO] [stderr] Checking tokio v1.39.2 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking unescaper v0.1.5 [INFO] [stderr] Checking serialport v4.4.0 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking mio-serial v5.0.5 [INFO] [stderr] Checking tracing-test v0.2.5 [INFO] [stderr] Checking clap v4.5.11 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-serial v5.4.4 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking udp-stream v0.0.12 [INFO] [stderr] Compiling bluerobotics-ping v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping1d.rs:1:13782 [INFO] [stdout] | [INFO] [stdout] 1 | ...erStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping1d.rs:1:13910 [INFO] [stdout] | [INFO] [stdout] 1 | ...derStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for GotoBootloaderStruct { fn id () -> u16 { 110... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping1d.rs:1:13782 [INFO] [stdout] | [INFO] [stdout] 1 | ...erStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping1d.rs:1:13910 [INFO] [stdout] | [INFO] [stdout] 1 | ...derStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for GotoBootloaderStruct { fn id () -> u16 { 110... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping360.rs:1:8356 [INFO] [stdout] | [INFO] [stdout] 1 | ...ffStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping360.rs:1:8478 [INFO] [stdout] | [INFO] [stdout] 1 | ...OffStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for MotorOffStruct { fn id () -> u16 { 2903u16 }... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping360.rs:1:8356 [INFO] [stdout] | [INFO] [stdout] 1 | ...ffStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping360.rs:1:8478 [INFO] [stdout] | [INFO] [stdout] 1 | ...OffStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for MotorOffStruct { fn id () -> u16 { 2903u16 }... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:4566 [INFO] [stdout] | [INFO] [stdout] 1 | ...shStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:4690 [INFO] [stdout] | [INFO] [stdout] 1 | ...ashStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for EraseFlashStruct { fn id () -> u16 { 9201u16... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:16283 [INFO] [stdout] | [INFO] [stdout] 1 | ...tsStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:16410 [INFO] [stdout] | [INFO] [stdout] 1 | ...ltsStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for ResetDefaultsStruct { fn id () -> u16 { 9202... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:4566 [INFO] [stdout] | [INFO] [stdout] 1 | ...shStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:4690 [INFO] [stdout] | [INFO] [stdout] 1 | ...ashStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for EraseFlashStruct { fn id () -> u16 { 9201u16... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:16283 [INFO] [stdout] | [INFO] [stdout] 1 | ...tsStruct { fn serialize (& self) -> Vec < u8 > { let mut buffer : Vec < u8 > = Default :: default () ; buffer } } impl DeserializePayl... [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `payload` [INFO] [stdout] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:16410 [INFO] [stdout] | [INFO] [stdout] 1 | ...ltsStruct { fn deserialize (payload : & [u8]) -> Self { Self { } } } impl MessageInfo for ResetDefaultsStruct { fn id () -> u16 { 9202... [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload` [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping1d.rs:1:32526 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping360.rs:1:19960 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/omniscan450.rs:1:10981 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:22504 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/common.rs:1:9339 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | async fn send_general_request(&self, requested_id: u16) -> Result<(), PingError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 104 ~ fn send_general_request(&self, requested_id: u16) -> impl std::future::Future> + Send {async { [INFO] [stdout] 105 | let request = [INFO] [stdout] ... [INFO] [stdout] 114 | Ok(()) [INFO] [stdout] 115 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | async fn wait_for_message( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 117 ~ fn wait_for_message( [INFO] [stdout] 118 | &self, [INFO] [stdout] 119 | mut receiver: tokio::sync::broadcast::Receiver, [INFO] [stdout] 120 ~ ) -> impl std::future::Future> + Send [INFO] [stdout] 121 | where [INFO] [stdout] 122 | T: crate::message::MessageInfo + std::marker::Sync + Clone + std::marker::Send, [INFO] [stdout] 123 ~ {async { [INFO] [stdout] 124 | let future = async move { [INFO] [stdout] ... [INFO] [stdout] 144 | } [INFO] [stdout] 145 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | async fn wait_for_ack( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 147 ~ fn wait_for_ack( [INFO] [stdout] 148 | &self, [INFO] [stdout] 149 | mut receiver: tokio::sync::broadcast::Receiver, [INFO] [stdout] 150 | message_id: u16, [INFO] [stdout] 151 ~ ) -> impl std::future::Future> + Send {async { [INFO] [stdout] 152 | let future = async move { [INFO] [stdout] ... [INFO] [stdout] 186 | } [INFO] [stdout] 187 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | async fn request(&self) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 189 ~ fn request(&self) -> impl std::future::Future> + Send [INFO] [stdout] 190 | where [INFO] [stdout] 191 | T: crate::message::MessageInfo + std::marker::Sync + Clone + std::marker::Send, [INFO] [stdout] 192 ~ {async { [INFO] [stdout] 193 | let receiver = self.subscribe(); [INFO] [stdout] ... [INFO] [stdout] 197 | self.wait_for_message(receiver).await [INFO] [stdout] 198 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | async fn device_information(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 201 ~ fn device_information(&self) -> impl std::future::Future> + Send {async { [INFO] [stdout] 202 | self.request().await [INFO] [stdout] 203 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:205:5 [INFO] [stdout] | [INFO] [stdout] 205 | async fn protocol_version(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 205 ~ fn protocol_version(&self) -> impl std::future::Future> + Send {async { [INFO] [stdout] 206 | self.request().await [INFO] [stdout] 207 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | async fn set_device_id(&self, device_id: u8) -> Result<(), PingError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 211 ~ fn set_device_id(&self, device_id: u8) -> impl std::future::Future> + Send {async { [INFO] [stdout] 212 | let request = common::Messages::SetDeviceId(common::SetDeviceIdStruct { device_id }); [INFO] [stdout] ... [INFO] [stdout] 218 | .await [INFO] [stdout] 219 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bluerobotics-ping` (lib) due to 6 previous errors; 15 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping1d.rs:1:32526 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/ping360.rs:1:19960 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/omniscan450.rs:1:10981 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/bluebps.rs:1:22504 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> /opt/rustwide/target/debug/build/bluerobotics-ping-b8ea7ecb571adcf0/out/common.rs:1:9339 [INFO] [stdout] | [INFO] [stdout] 1 | ...ew < T > (io : T) -> Self where T : AsyncRead + AsyncWrite + Unpin + Send + 'static , { Self { common : Common :: new (io) , } } # [do... [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | async fn send_general_request(&self, requested_id: u16) -> Result<(), PingError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] = note: `#[warn(async_fn_in_trait)]` on by default [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 104 ~ fn send_general_request(&self, requested_id: u16) -> impl std::future::Future> + Send {async { [INFO] [stdout] 105 | let request = [INFO] [stdout] ... [INFO] [stdout] 114 | Ok(()) [INFO] [stdout] 115 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | async fn wait_for_message( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 117 ~ fn wait_for_message( [INFO] [stdout] 118 | &self, [INFO] [stdout] 119 | mut receiver: tokio::sync::broadcast::Receiver, [INFO] [stdout] 120 ~ ) -> impl std::future::Future> + Send [INFO] [stdout] 121 | where [INFO] [stdout] 122 | T: crate::message::MessageInfo + std::marker::Sync + Clone + std::marker::Send, [INFO] [stdout] 123 ~ {async { [INFO] [stdout] 124 | let future = async move { [INFO] [stdout] ... [INFO] [stdout] 144 | } [INFO] [stdout] 145 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | async fn wait_for_ack( [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 147 ~ fn wait_for_ack( [INFO] [stdout] 148 | &self, [INFO] [stdout] 149 | mut receiver: tokio::sync::broadcast::Receiver, [INFO] [stdout] 150 | message_id: u16, [INFO] [stdout] 151 ~ ) -> impl std::future::Future> + Send {async { [INFO] [stdout] 152 | let future = async move { [INFO] [stdout] ... [INFO] [stdout] 186 | } [INFO] [stdout] 187 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | async fn request(&self) -> Result [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 189 ~ fn request(&self) -> impl std::future::Future> + Send [INFO] [stdout] 190 | where [INFO] [stdout] 191 | T: crate::message::MessageInfo + std::marker::Sync + Clone + std::marker::Send, [INFO] [stdout] 192 ~ {async { [INFO] [stdout] 193 | let receiver = self.subscribe(); [INFO] [stdout] ... [INFO] [stdout] 197 | self.wait_for_message(receiver).await [INFO] [stdout] 198 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | async fn device_information(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 201 ~ fn device_information(&self) -> impl std::future::Future> + Send {async { [INFO] [stdout] 202 | self.request().await [INFO] [stdout] 203 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:205:5 [INFO] [stdout] | [INFO] [stdout] 205 | async fn protocol_version(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 205 ~ fn protocol_version(&self) -> impl std::future::Future> + Send {async { [INFO] [stdout] 206 | self.request().await [INFO] [stdout] 207 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified [INFO] [stdout] --> src/device.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | async fn set_device_id(&self, device_id: u8) -> Result<(), PingError> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future` [INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change [INFO] [stdout] | [INFO] [stdout] 211 ~ fn set_device_id(&self, device_id: u8) -> impl std::future::Future> + Send {async { [INFO] [stdout] 212 | let request = common::Messages::SetDeviceId(common::SetDeviceIdStruct { device_id }); [INFO] [stdout] ... [INFO] [stdout] 218 | .await [INFO] [stdout] 219 ~ } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `bluerobotics-ping` (lib test) due to 6 previous errors; 15 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9c8370e3e8379db3f23fedd6d2ba78d5c718cd77a1a5b8d7867fed4de87132eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c8370e3e8379db3f23fedd6d2ba78d5c718cd77a1a5b8d7867fed4de87132eb", kill_on_drop: false }` [INFO] [stdout] 9c8370e3e8379db3f23fedd6d2ba78d5c718cd77a1a5b8d7867fed4de87132eb