[INFO] cloning repository https://github.com/BorisWeinfurt/elvis-python-impl [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BorisWeinfurt/elvis-python-impl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBorisWeinfurt%2Felvis-python-impl", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBorisWeinfurt%2Felvis-python-impl'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f1e14e22174ed131bdac73e6b0fab9bfff076a7f [INFO] checking BorisWeinfurt/elvis-python-impl/f1e14e22174ed131bdac73e6b0fab9bfff076a7f against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBorisWeinfurt%2Felvis-python-impl" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BorisWeinfurt/elvis-python-impl 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 git repo https://github.com/BorisWeinfurt/elvis-python-impl [INFO] finished tweaking git repo https://github.com/BorisWeinfurt/elvis-python-impl [INFO] tweaked toml for git repo https://github.com/BorisWeinfurt/elvis-python-impl written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/BorisWeinfurt/elvis-python-impl 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] warning: unused manifest key: package.debug [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 6b4f8cc26073535542176b1bed938ba00e0ebfee3e57ad45ddd5d0782260920a [INFO] running `Command { std: "docker" "start" "-a" "6b4f8cc26073535542176b1bed938ba00e0ebfee3e57ad45ddd5d0782260920a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6b4f8cc26073535542176b1bed938ba00e0ebfee3e57ad45ddd5d0782260920a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b4f8cc26073535542176b1bed938ba00e0ebfee3e57ad45ddd5d0782260920a", kill_on_drop: false }` [INFO] [stdout] 6b4f8cc26073535542176b1bed938ba00e0ebfee3e57ad45ddd5d0782260920a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 8b912ee4374f7a97a75edba27905392a4f2389bc677f1d8924b30e03fc54f9dd [INFO] running `Command { std: "docker" "start" "-a" "8b912ee4374f7a97a75edba27905392a4f2389bc677f1d8924b30e03fc54f9dd", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.debug [INFO] [stderr] Compiling target-lexicon v0.12.15 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling heapless v0.8.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Compiling smoltcp v0.11.0 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking managed v0.8.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling pyo3-build-config v0.23.0-dev (https://github.com/pyo3/pyo3#1ca484dc) [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling pyo3-ffi v0.23.0-dev (https://github.com/pyo3/pyo3#1ca484dc) [INFO] [stderr] Compiling pyo3-macros-backend v0.23.0-dev (https://github.com/pyo3/pyo3#1ca484dc) [INFO] [stderr] Compiling pyo3 v0.23.0-dev (https://github.com/pyo3/pyo3#1ca484dc) [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking env_filter v0.1.2 [INFO] [stderr] Checking env_logger v0.11.5 [INFO] [stderr] Compiling pyo3-macros v0.23.0-dev (https://github.com/pyo3/pyo3#1ca484dc) [INFO] [stderr] Checking smol-play v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `pymethods` [INFO] [stdout] --> src/channel.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use pyo3::{pyclass, pymethods}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `str::FromStr` [INFO] [stdout] --> src/node/node.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::BorrowMut, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::machine::MyCoolMachine` [INFO] [stdout] --> src/node/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::machine::MyCoolMachine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dhcpv4::Socket` [INFO] [stdout] --> src/node/node.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `IpEndpoint`, `IpListenEndpoint`, `Ipv4Address`, `SocketHandle`, `SocketSet`, `State`, `dhcpv4::Socket`, `phy::Device`, `self`, and `time::Instant` [INFO] [stdout] --> src/node/py_node.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | iface::{Config, Context, Interface, SocketHandle, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 7 | phy::Device, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | socket::{ [INFO] [stdout] 9 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | tcp::{self, State}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | wire::{IpAddress, IpCidr, IpEndpoint, IpListenEndpoint, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `Ipv4Address`, and `SocketSet` [INFO] [stdout] --> src/machine.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | iface::{Config, Context, Interface, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | wire::{EthernetAddress, IpAddress, IpCidr, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `net::Ipv4Addr`, and `rc::Rc` [INFO] [stdout] --> src/machine.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | collections::VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | net::Ipv4Addr, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 18 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::exceptions::PyValueError` [INFO] [stdout] --> src/util.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::exceptions::PyValueError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HardwareAddress` [INFO] [stdout] --> src/util.rs:8:29 [INFO] [stdout] | [INFO] [stdout] 8 | wire::{EthernetAddress, HardwareAddress, IpAddress, Ipv4Address, Ipv6Address}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pymethods` [INFO] [stdout] --> src/channel.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use pyo3::{pyclass, pymethods}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `Ipv4Address`, and `SocketSet` [INFO] [stdout] --> src/machine.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | iface::{Config, Context, Interface, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | wire::{EthernetAddress, IpAddress, IpCidr, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `net::Ipv4Addr`, and `rc::Rc` [INFO] [stdout] --> src/machine.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | collections::VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | net::Ipv4Addr, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 18 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `str::FromStr` [INFO] [stdout] --> src/node/node.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::BorrowMut, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::machine::MyCoolMachine` [INFO] [stdout] --> src/node/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::machine::MyCoolMachine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dhcpv4::Socket` [INFO] [stdout] --> src/node/node.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `IpEndpoint`, `IpListenEndpoint`, `Ipv4Address`, `SocketHandle`, `SocketSet`, `State`, `dhcpv4::Socket`, `phy::Device`, `self`, and `time::Instant` [INFO] [stdout] --> src/node/py_node.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | iface::{Config, Context, Interface, SocketHandle, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 7 | phy::Device, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | socket::{ [INFO] [stdout] 9 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | tcp::{self, State}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | wire::{IpAddress, IpCidr, IpEndpoint, IpListenEndpoint, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::exceptions::PyValueError` [INFO] [stdout] --> src/util.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::exceptions::PyValueError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HardwareAddress` [INFO] [stdout] --> src/util.rs:8:29 [INFO] [stdout] | [INFO] [stdout] 8 | wire::{EthernetAddress, HardwareAddress, IpAddress, Ipv4Address, Ipv6Address}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::Logger` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use env_logger::Logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::VecDeque` and `rc::Rc` [INFO] [stdout] --> src/main.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | use std::{collections::VecDeque, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::channel::Channel` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::channel::Channel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeviceCapabilities`, `Device`, `Duration`, `Interface`, `IpCidr`, `IpEndpoint`, `IpListenEndpoint`, `Ipv6Address`, `Loopback`, `Medium`, `PacketMeta`, `PacketMetadata`, `RxToken`, `SocketSet`, `TxToken`, `UdpMetadata`, `self`, `self`, and `tcp` [INFO] [stdout] --> src/main.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | iface::{self, Config, Interface, SocketSet}, [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 24 | phy::{ [INFO] [stdout] 25 | Device, DeviceCapabilities, Loopback, Medium, PacketMeta, RxToken, TxToken, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tcp, [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | udp::{self, PacketMetadata, UdpMetadata}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 30 | }, [INFO] [stdout] 31 | time::{Duration, Instant}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | wire::{EthernetAddress, IpAddress, IpCidr, IpEndpoint, IpListenEndpoint, Ipv6Address}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pymethods` [INFO] [stdout] --> src/channel.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use pyo3::{pyclass, pymethods}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pymethods` [INFO] [stdout] --> src/channel.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use pyo3::{pyclass, pymethods}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `str::FromStr` [INFO] [stdout] --> src/node/node.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::BorrowMut, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `Ipv4Address`, and `SocketSet` [INFO] [stdout] --> src/machine.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | iface::{Config, Context, Interface, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | wire::{EthernetAddress, IpAddress, IpCidr, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::machine::MyCoolMachine` [INFO] [stdout] --> src/node/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::machine::MyCoolMachine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dhcpv4::Socket` [INFO] [stdout] --> src/node/node.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `net::Ipv4Addr`, and `rc::Rc` [INFO] [stdout] --> src/machine.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | collections::VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | net::Ipv4Addr, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 18 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::BorrowMut` and `str::FromStr` [INFO] [stdout] --> src/node/node.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{borrow::BorrowMut, str::FromStr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::machine::MyCoolMachine` [INFO] [stdout] --> src/node/node.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::machine::MyCoolMachine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dhcpv4::Socket` [INFO] [stdout] --> src/node/node.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `IpEndpoint`, `IpListenEndpoint`, `Ipv4Address`, `SocketHandle`, `SocketSet`, `State`, `dhcpv4::Socket`, `phy::Device`, `self`, and `time::Instant` [INFO] [stdout] --> src/node/py_node.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | iface::{Config, Context, Interface, SocketHandle, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 7 | phy::Device, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | socket::{ [INFO] [stdout] 9 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | tcp::{self, State}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | wire::{IpAddress, IpCidr, IpEndpoint, IpListenEndpoint, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `IpEndpoint`, `IpListenEndpoint`, `Ipv4Address`, `SocketHandle`, `SocketSet`, `State`, `dhcpv4::Socket`, `phy::Device`, `self`, and `time::Instant` [INFO] [stdout] --> src/node/py_node.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | iface::{Config, Context, Interface, SocketHandle, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 7 | phy::Device, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | socket::{ [INFO] [stdout] 9 | dhcpv4::Socket, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 10 | tcp::{self, State}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | time::Instant, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | wire::{IpAddress, IpCidr, IpEndpoint, IpListenEndpoint, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::exceptions::PyValueError` [INFO] [stdout] --> src/util.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::exceptions::PyValueError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HardwareAddress` [INFO] [stdout] --> src/util.rs:8:29 [INFO] [stdout] | [INFO] [stdout] 8 | wire::{EthernetAddress, HardwareAddress, IpAddress, Ipv4Address, Ipv6Address}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Config`, `Context`, `Interface`, `IpAddress`, `IpCidr`, `Ipv4Address`, and `SocketSet` [INFO] [stdout] --> src/machine.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | iface::{Config, Context, Interface, SocketSet}, [INFO] [stdout] | ^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | wire::{EthernetAddress, IpAddress, IpCidr, Ipv4Address}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `env_logger::Logger` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use env_logger::Logger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `net::Ipv4Addr`, and `rc::Rc` [INFO] [stdout] --> src/machine.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | collections::VecDeque, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | net::Ipv4Addr, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 18 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::exceptions::PyValueError` [INFO] [stdout] --> src/util.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::exceptions::PyValueError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HardwareAddress` [INFO] [stdout] --> src/util.rs:8:29 [INFO] [stdout] | [INFO] [stdout] 8 | wire::{EthernetAddress, HardwareAddress, IpAddress, Ipv4Address, Ipv6Address}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::VecDeque` and `rc::Rc` [INFO] [stdout] --> src/main.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | use std::{collections::VecDeque, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::channel::Channel` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::channel::Channel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeviceCapabilities`, `Device`, `Duration`, `Interface`, `IpCidr`, `IpEndpoint`, `IpListenEndpoint`, `Ipv6Address`, `Loopback`, `Medium`, `PacketMeta`, `PacketMetadata`, `RxToken`, `SocketSet`, `TxToken`, `UdpMetadata`, `self`, `self`, and `tcp` [INFO] [stdout] --> src/main.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | iface::{self, Config, Interface, SocketSet}, [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] 24 | phy::{ [INFO] [stdout] 25 | Device, DeviceCapabilities, Loopback, Medium, PacketMeta, RxToken, TxToken, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tcp, [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | udp::{self, PacketMetadata, UdpMetadata}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] 30 | }, [INFO] [stdout] 31 | time::{Duration, Instant}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | wire::{EthernetAddress, IpAddress, IpCidr, IpEndpoint, IpListenEndpoint, Ipv6Address}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::prelude` [INFO] [stdout] --> src/node/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut left = Arc::new(Mutex::new(Channel::new())); [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: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut right = Arc::new(Mutex::new(Channel::new())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:59:27 [INFO] [stdout] | [INFO] [stdout] 59 | fn receive(&mut self, timestamp: Instant) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:79:28 [INFO] [stdout] | [INFO] [stdout] 79 | fn transmit(&mut self, timestamp: Instant) -> Option> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | fn consume(mut self, f: F) -> R [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::prelude` [INFO] [stdout] --> src/node/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:59:27 [INFO] [stdout] | [INFO] [stdout] 59 | fn receive(&mut self, timestamp: Instant) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:79:28 [INFO] [stdout] | [INFO] [stdout] 79 | fn transmit(&mut self, timestamp: Instant) -> Option> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::prelude` [INFO] [stdout] --> src/node/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pyo3::prelude` [INFO] [stdout] --> src/node/node.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use pyo3::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Connection` is more private than the item `MyCoolMachine::py_new` [INFO] [stdout] --> src/machine.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::py_new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Connection` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/connection.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct Connection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Channel` is more private than the item `MyCoolMachine::new` [INFO] [stdout] --> src/machine.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(addr: EthernetAddress, channel: Arc>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Channel` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/channel.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct Channel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:59:27 [INFO] [stdout] | [INFO] [stdout] 59 | fn receive(&mut self, timestamp: Instant) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:79:28 [INFO] [stdout] | [INFO] [stdout] 79 | fn transmit(&mut self, timestamp: Instant) -> Option> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `double` is never used [INFO] [stdout] --> src/test_mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn double(x: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `delay` and `context` are never used [INFO] [stdout] --> src/node/node.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 39 | / impl Node [INFO] [stdout] 40 | | where [INFO] [stdout] 41 | | D: Device, [INFO] [stdout] | |______________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn delay(&mut self, sockets: &mut SocketSet) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn context(&mut self) -> &mut Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `addr` is never read [INFO] [stdout] --> src/machine.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MyCoolMachine { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 25 | addr: EthernetAddress, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MyCoolMachine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [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/node/node.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 45 | Self { [INFO] [stdout] 46 | iface: None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 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/node/node.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 48 | sockets: SocketSet::new(vec![]), [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/node/py_node.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(device: $device) -> Self { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Self { [INFO] [stdout] 28 | inner: Node::new(device), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | create_interface!(MyCoolMachineNode, MyCoolMachine); [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `create_interface` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [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/machine.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 35 | channel: { [INFO] [stdout] | ______________________^ [INFO] [stdout] 36 | | match side { [INFO] [stdout] 37 | | "left" => conn.get_left(), [INFO] [stdout] 38 | | "right" => conn.get_right(), [INFO] [stdout] 39 | | _ => panic!("Unknown side"), [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | }, [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: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut left = Arc::new(Mutex::new(Channel::new())); [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: function `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut right = Arc::new(Mutex::new(Channel::new())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [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/util.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | #[pyclass(name = "State", eq, eq_int)] [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: variable does not need to be mutable [INFO] [stdout] --> src/token.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | fn consume(mut self, f: F) -> R [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: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut left = Arc::new(Mutex::new(Channel::new())); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut right = Arc::new(Mutex::new(Channel::new())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `smol-play` (lib test) due to 6 previous errors; 26 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | fn consume(mut self, f: F) -> R [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: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | let mut left = Arc::new(Mutex::new(Channel::new())); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut right = Arc::new(Mutex::new(Channel::new())); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:59:27 [INFO] [stdout] | [INFO] [stdout] 59 | fn receive(&mut self, timestamp: Instant) -> Option<(Self::RxToken<'_>, Self::TxToken<'_>)> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timestamp` [INFO] [stdout] --> src/machine.rs:79:28 [INFO] [stdout] | [INFO] [stdout] 79 | fn transmit(&mut self, timestamp: Instant) -> Option> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Connection` is more private than the item `MyCoolMachine::py_new` [INFO] [stdout] --> src/machine.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::py_new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Connection` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/connection.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct Connection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Channel` is more private than the item `MyCoolMachine::new` [INFO] [stdout] --> src/machine.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(addr: EthernetAddress, channel: Arc>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Channel` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/channel.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct Channel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | fn consume(mut self, f: F) -> R [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `addr` is never read [INFO] [stdout] --> src/machine.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MyCoolMachine { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 25 | addr: EthernetAddress, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MyCoolMachine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [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/machine.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 35 | channel: { [INFO] [stdout] | ______________________^ [INFO] [stdout] 36 | | match side { [INFO] [stdout] 37 | | "left" => conn.get_left(), [INFO] [stdout] 38 | | "right" => conn.get_right(), [INFO] [stdout] 39 | | _ => panic!("Unknown side"), [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [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/node/node.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 45 | Self { [INFO] [stdout] 46 | iface: None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [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/node/node.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 48 | sockets: SocketSet::new(vec![]), [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/node/py_node.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(device: $device) -> Self { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Self { [INFO] [stdout] 28 | inner: Node::new(device), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | create_interface!(MyCoolMachineNode, MyCoolMachine); [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `create_interface` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [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/util.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | #[pyclass(name = "State", eq, eq_int)] [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 5 previous errors; 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `smol-play` (bin "smol-play") due to 6 previous errors; 30 warnings emitted [INFO] [stdout] warning: type `Connection` is more private than the item `MyCoolMachine::py_new` [INFO] [stdout] --> src/machine.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::py_new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Connection` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/connection.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct Connection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Channel` is more private than the item `MyCoolMachine::new` [INFO] [stdout] --> src/machine.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(addr: EthernetAddress, channel: Arc>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Channel` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/channel.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct Channel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `addr` is never read [INFO] [stdout] --> src/machine.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MyCoolMachine { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 25 | addr: EthernetAddress, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MyCoolMachine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [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/machine.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 35 | channel: { [INFO] [stdout] | ______________________^ [INFO] [stdout] 36 | | match side { [INFO] [stdout] 37 | | "left" => conn.get_left(), [INFO] [stdout] 38 | | "right" => conn.get_right(), [INFO] [stdout] 39 | | _ => panic!("Unknown side"), [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [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/node/node.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 45 | Self { [INFO] [stdout] 46 | iface: None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [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/node/node.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 48 | sockets: SocketSet::new(vec![]), [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/node/py_node.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(device: $device) -> Self { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Self { [INFO] [stdout] 28 | inner: Node::new(device), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | create_interface!(MyCoolMachineNode, MyCoolMachine); [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `create_interface` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Connection` is more private than the item `MyCoolMachine::py_new` [INFO] [stdout] --> src/machine.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::py_new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Connection` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/connection.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) struct Connection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Channel` is more private than the item `MyCoolMachine::new` [INFO] [stdout] --> src/machine.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(addr: EthernetAddress, channel: Arc>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `MyCoolMachine::new` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Channel` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/channel.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct Channel { [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/util.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | #[pyclass(name = "State", eq, eq_int)] [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: function `double` is never used [INFO] [stdout] --> src/test_mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn double(x: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `delay` and `context` are never used [INFO] [stdout] --> src/node/node.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 39 | / impl Node [INFO] [stdout] 40 | | where [INFO] [stdout] 41 | | D: Device, [INFO] [stdout] | |______________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn delay(&mut self, sockets: &mut SocketSet) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn context(&mut self) -> &mut Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `addr` is never read [INFO] [stdout] --> src/machine.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MyCoolMachine { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 25 | addr: EthernetAddress, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MyCoolMachine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyConnection` should have a snake case name [INFO] [stdout] --> src/connection.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn PyConnection(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `py_connection` [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/node/node.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 45 | Self { [INFO] [stdout] 46 | iface: None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 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/node/node.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(device: D) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 48 | sockets: SocketSet::new(vec![]), [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/node/py_node.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(device: $device) -> Self { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 27 | Self { [INFO] [stdout] 28 | inner: Node::new(device), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | create_interface!(MyCoolMachineNode, MyCoolMachine); [INFO] [stdout] | --------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `create_interface` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Nodes` should have a snake case name [INFO] [stdout] --> src/node/py_node.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn Nodes(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `nodes` [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/machine.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn py_new(addr: PyEthernetAddress, conn: Connection, side: &str) -> Self { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 35 | channel: { [INFO] [stdout] | ______________________^ [INFO] [stdout] 36 | | match side { [INFO] [stdout] 37 | | "left" => conn.get_left(), [INFO] [stdout] 38 | | "right" => conn.get_right(), [INFO] [stdout] 39 | | _ => panic!("Unknown side"), [INFO] [stdout] 40 | | } [INFO] [stdout] 41 | | }, [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: function `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `PyMyCoolMachine` should have a snake case name [INFO] [stdout] --> src/machine.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn PyMyCoolMachine(m: &Bound<'_, PyModule>) -> PyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `py_my_cool_machine` [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/util.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | #[pyclass(name = "State", eq, eq_int)] [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 5 previous errors; 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `smol-play` (bin "smol-play" test) due to 6 previous errors; 30 warnings emitted [INFO] [stderr] error: could not compile `smol-play` (lib) due to 6 previous errors; 26 warnings emitted [INFO] running `Command { std: "docker" "inspect" "8b912ee4374f7a97a75edba27905392a4f2389bc677f1d8924b30e03fc54f9dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b912ee4374f7a97a75edba27905392a4f2389bc677f1d8924b30e03fc54f9dd", kill_on_drop: false }` [INFO] [stdout] 8b912ee4374f7a97a75edba27905392a4f2389bc677f1d8924b30e03fc54f9dd