[INFO] fetching crate i2p 0.0.1... [INFO] checking i2p-0.0.1 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate i2p 0.0.1 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate i2p 0.0.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 i2p 0.0.1 [INFO] finished tweaking crates.io crate i2p 0.0.1 [INFO] tweaked toml for crates.io crate i2p 0.0.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 14 packages to latest compatible versions [INFO] [stderr] Adding log v0.3.9 (latest: v0.4.22) [INFO] [stderr] Adding nom v2.2.1 (latest: v7.1.3) [INFO] [stderr] Adding rand v0.3.23 (latest: v0.8.5) [INFO] [stderr] Adding rand v0.4.6 (latest: v0.8.5) [INFO] [stderr] Adding rand_core v0.3.1 (latest: v0.6.4) [INFO] [stderr] Adding rand_core v0.4.2 (latest: v0.6.4) [INFO] [stderr] Adding rdrand v0.4.0 (latest: v0.8.3) [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] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 65937482b31ee04d9861f8a686913216aadc3e0b99b4bc6d1ea6df6fd476b27e [INFO] running `Command { std: "docker" "start" "-a" "65937482b31ee04d9861f8a686913216aadc3e0b99b4bc6d1ea6df6fd476b27e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "65937482b31ee04d9861f8a686913216aadc3e0b99b4bc6d1ea6df6fd476b27e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65937482b31ee04d9861f8a686913216aadc3e0b99b4bc6d1ea6df6fd476b27e", kill_on_drop: false }` [INFO] [stdout] 65937482b31ee04d9861f8a686913216aadc3e0b99b4bc6d1ea6df6fd476b27e [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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 01dca9d8f91457144929b2c54fce1453ba764370dac1f4b998d9feabffbbd83a [INFO] running `Command { std: "docker" "start" "-a" "01dca9d8f91457144929b2c54fce1453ba764370dac1f4b998d9feabffbbd83a", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking nom v2.2.1 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking i2p v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `I2pAddr` [INFO] [stdout] --> src/net/datagram.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `I2pAddr` [INFO] [stdout] --> src/net/datagram.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use net::{I2pAddr, I2pSocketAddr, ToI2pSocketAddrs}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sam_addr` [INFO] [stdout] --> src/net/datagram.rs:60:18 [INFO] [stdout] | [INFO] [stdout] 60 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/datagram.rs:60:41 [INFO] [stdout] | [INFO] [stdout] 60 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:77:29 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn recv_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:98:29 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn peek_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/datagram.rs:121:18 [INFO] [stdout] | [INFO] [stdout] 121 | Some(addr) => unimplemented!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn send_to(&self, buf: &[u8], addr: A) [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sam_addr` [INFO] [stdout] --> src/net/datagram.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!()) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/datagram.rs:177:53 [INFO] [stdout] | [INFO] [stdout] 177 | super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!()) [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:196:24 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn send(&self, buf: &[u8]) -> io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:219:24 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn recv(&self, buf: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:247:24 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn peek(&self, buf: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sam_addr` [INFO] [stdout] --> src/net/streaming.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/streaming.rs:246:41 [INFO] [stdout] | [INFO] [stdout] 246 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/net/streaming.rs:342:19 [INFO] [stdout] | [INFO] [stdout] 342 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sam_addr` [INFO] [stdout] --> src/net/datagram.rs:60:18 [INFO] [stdout] | [INFO] [stdout] 60 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/datagram.rs:60:41 [INFO] [stdout] | [INFO] [stdout] 60 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:77:29 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn recv_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:98:29 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn peek_from(&self, buf: &mut [u8]) -> io::Result<(usize, I2pSocketAddr)> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/datagram.rs:121:18 [INFO] [stdout] | [INFO] [stdout] 121 | Some(addr) => unimplemented!(), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:118:48 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn send_to(&self, buf: &[u8], addr: A) [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sam_addr` [INFO] [stdout] --> src/net/datagram.rs:177:43 [INFO] [stdout] | [INFO] [stdout] 177 | super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!()) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/datagram.rs:177:53 [INFO] [stdout] | [INFO] [stdout] 177 | super::each_addr(sam_addr, addr, |sam_addr, addr| unimplemented!()) [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:196:24 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn send(&self, buf: &[u8]) -> io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:219:24 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn recv(&self, buf: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buf` [INFO] [stdout] --> src/net/datagram.rs:247:24 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn peek(&self, buf: &mut [u8]) -> io::Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sam_addr` [INFO] [stdout] --> src/net/streaming.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sam_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/net/streaming.rs:246:41 [INFO] [stdout] | [INFO] [stdout] 246 | fn bind_addr(sam_addr: &SocketAddr, addr: &I2pSocketAddr) -> io::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/net/streaming.rs:342:19 [INFO] [stdout] | [INFO] [stdout] 342 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [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/net/mod.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 16 | fn each_addr(sam_addr: A, addr: B, mut f: F) -> io::Result [INFO] [stdout] | ----------- ------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 20 | let mut last_err = None; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | / last_err.unwrap_or_else( [INFO] [stdout] 31 | | || { [INFO] [stdout] 32 | | io::Error::new( [INFO] [stdout] 33 | | io::ErrorKind::InvalidInput, [INFO] [stdout] ... | [INFO] [stdout] 36 | | }, [INFO] [stdout] 37 | | ), [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/net/datagram.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn send_to(&self, buf: &[u8], addr: A) [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 119 | -> io::Result { [INFO] [stdout] 120 | match addr.to_socket_addrs()?.next() { [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/net/streaming.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 109 | let stream = StreamConnect::new(sam_addr, &addr.dest().string(), addr.port(), &nickname)?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 110 | [INFO] [stdout] 111 | Ok(I2pStream { inner: stream }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/sam.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | let new_vec = vec.clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[(&str, &str)]` does not implement `Clone`, so calling `clone` on `&[(&str, &str)]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/sam.rs:54:49 [INFO] [stdout] | [INFO] [stdout] 54 | let res = map.get("RESULT").unwrap_or(&"OK").clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/sam.rs:55:48 [INFO] [stdout] | [INFO] [stdout] 55 | let msg = map.get("MESSAGE").unwrap_or(&"").clone(); [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/sam.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 70 | fn send(&mut self, msg: String, reply_parser: F) -> Result, Error> [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 77 | let mut reader = BufReader::new(&self.conn); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 84 | verify_response(&vec_opts).map( [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/sam.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 124 | sam_addr: A, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 129 | let mut sam = SamConnection::connect(sam_addr).unwrap(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 140 | / Session { [INFO] [stdout] 141 | | sam: sam, [INFO] [stdout] 142 | | local_dest: local_dest, [INFO] [stdout] 143 | | }, [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/sam.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 171 | sam_addr: A, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 176 | let mut session = Session::create(sam_addr, "TRANSIENT", nickname, SessionStyle::Stream)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 177 | [INFO] [stdout] 178 | let mut sam = SamConnection::connect(session.sam_api()?).unwrap(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 189 | / StreamConnect { [INFO] [stdout] 190 | | sam: sam, [INFO] [stdout] 191 | | session: session, [INFO] [stdout] 192 | | peer_dest: peer_dest, [INFO] [stdout] 193 | | peer_port: port, [INFO] [stdout] 194 | | local_port: 0, [INFO] [stdout] 195 | | }, [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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 6 previous errors; 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `i2p` (lib) due to 7 previous errors; 18 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] --> src/net/mod.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 16 | fn each_addr(sam_addr: A, addr: B, mut f: F) -> io::Result [INFO] [stdout] | ----------- ------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 20 | let mut last_err = None; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 30 | / last_err.unwrap_or_else( [INFO] [stdout] 31 | | || { [INFO] [stdout] 32 | | io::Error::new( [INFO] [stdout] 33 | | io::ErrorKind::InvalidInput, [INFO] [stdout] ... | [INFO] [stdout] 36 | | }, [INFO] [stdout] 37 | | ), [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/net/datagram.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn send_to(&self, buf: &[u8], addr: A) [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 119 | -> io::Result { [INFO] [stdout] 120 | match addr.to_socket_addrs()?.next() { [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/net/streaming.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 109 | let stream = StreamConnect::new(sam_addr, &addr.dest().string(), addr.port(), &nickname)?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 110 | [INFO] [stdout] 111 | Ok(I2pStream { inner: stream }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] --> src/net/test.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn tsa(a: A) -> Result, String> { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 8 | match a.to_socket_addrs() { [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] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/sam.rs:52:22 [INFO] [stdout] | [INFO] [stdout] 52 | let new_vec = vec.clone(); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `[(&str, &str)]` does not implement `Clone`, so calling `clone` on `&[(&str, &str)]` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/sam.rs:54:49 [INFO] [stdout] | [INFO] [stdout] 54 | let res = map.get("RESULT").unwrap_or(&"OK").clone(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/sam.rs:55:48 [INFO] [stdout] | [INFO] [stdout] 55 | let msg = map.get("MESSAGE").unwrap_or(&"").clone(); [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/sam.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 70 | fn send(&mut self, msg: String, reply_parser: F) -> Result, Error> [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 77 | let mut reader = BufReader::new(&self.conn); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 84 | verify_response(&vec_opts).map( [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/sam.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 124 | sam_addr: A, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 129 | let mut sam = SamConnection::connect(sam_addr).unwrap(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 140 | / Session { [INFO] [stdout] 141 | | sam: sam, [INFO] [stdout] 142 | | local_dest: local_dest, [INFO] [stdout] 143 | | }, [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/sam.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 171 | sam_addr: A, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 176 | let mut session = Session::create(sam_addr, "TRANSIENT", nickname, SessionStyle::Stream)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 177 | [INFO] [stdout] 178 | let mut sam = SamConnection::connect(session.sam_api()?).unwrap(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 189 | / StreamConnect { [INFO] [stdout] 190 | | sam: sam, [INFO] [stdout] 191 | | session: session, [INFO] [stdout] 192 | | peer_dest: peer_dest, [INFO] [stdout] 193 | | peer_port: port, [INFO] [stdout] 194 | | local_port: 0, [INFO] [stdout] 195 | | }, [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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 7 previous errors; 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `i2p` (lib test) due to 8 previous errors; 18 warnings emitted [INFO] running `Command { std: "docker" "inspect" "01dca9d8f91457144929b2c54fce1453ba764370dac1f4b998d9feabffbbd83a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01dca9d8f91457144929b2c54fce1453ba764370dac1f4b998d9feabffbbd83a", kill_on_drop: false }` [INFO] [stdout] 01dca9d8f91457144929b2c54fce1453ba764370dac1f4b998d9feabffbbd83a