[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 master#ab869e094a907cc5d19b4080f22eccaf347f1f95 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-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BorisWeinfurt/elvis-python-impl on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "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-tc1/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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.debug [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/pyo3/pyo3` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded managed v0.8.0 [INFO] [stderr] Downloaded target-lexicon v0.12.15 [INFO] [stderr] Downloaded smoltcp v0.11.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 06e1bc168ff8f4399b4304fa845bccc7f78a0aeeb1f3da04b87af79f5bf539c3 [INFO] running `Command { std: "docker" "start" "-a" "06e1bc168ff8f4399b4304fa845bccc7f78a0aeeb1f3da04b87af79f5bf539c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "06e1bc168ff8f4399b4304fa845bccc7f78a0aeeb1f3da04b87af79f5bf539c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06e1bc168ff8f4399b4304fa845bccc7f78a0aeeb1f3da04b87af79f5bf539c3", kill_on_drop: false }` [INFO] [stdout] 06e1bc168ff8f4399b4304fa845bccc7f78a0aeeb1f3da04b87af79f5bf539c3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "-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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 24450c1faf76c48c85a160dafe32871e27014a74a701550166f7e8e20fd28369 [INFO] running `Command { std: "docker" "start" "-a" "24450c1faf76c48c85a160dafe32871e27014a74a701550166f7e8e20fd28369", 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 heapless v0.8.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Compiling smoltcp v0.11.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking managed v0.8.0 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking hash32 v0.3.1 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Compiling pyo3-build-config v0.23.0-dev (https://github.com/pyo3/pyo3#1ca484dc) [INFO] [stderr] Compiling quote v1.0.36 [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 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: `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: `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: `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: `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 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: `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 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: 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 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 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/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: 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: 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: 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] 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 `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: 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] = note: `#[warn(unused_mut)]` on by default [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: 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: 26 warnings emitted [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: 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] 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] 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] 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: 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] 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 `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: 30 warnings emitted [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: 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] 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] 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] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.03s [INFO] running `Command { std: "docker" "inspect" "24450c1faf76c48c85a160dafe32871e27014a74a701550166f7e8e20fd28369", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "24450c1faf76c48c85a160dafe32871e27014a74a701550166f7e8e20fd28369", kill_on_drop: false }` [INFO] [stdout] 24450c1faf76c48c85a160dafe32871e27014a74a701550166f7e8e20fd28369