[INFO] cloning repository https://github.com/garasubo/microps-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/garasubo/microps-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarasubo%2Fmicrops-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarasubo%2Fmicrops-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 94e36bdc7aa0abd5b749da3dd5007d5cc026d6fc [INFO] testing garasubo/microps-rust against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgarasubo%2Fmicrops-rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/garasubo/microps-rust [INFO] finished tweaking git repo https://github.com/garasubo/microps-rust [INFO] tweaked toml for git repo https://github.com/garasubo/microps-rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/garasubo/microps-rust on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/garasubo/microps-rust 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded strum v0.28.0 [INFO] [stderr] Downloaded rand v0.10.1 [INFO] [stderr] Downloaded env_filter v1.0.1 [INFO] [stderr] Downloaded strum_macros v0.28.0 [INFO] [stderr] Downloaded chacha20 v0.10.0 [INFO] [stderr] Downloaded env_logger v0.11.10 [INFO] [stderr] Downloaded portable-atomic-util v0.2.6 [INFO] [stderr] Downloaded jiff-static v0.2.23 [INFO] [stderr] Downloaded portable-atomic v1.13.1 [INFO] [stderr] Downloaded nix v0.31.2 [INFO] [stderr] Downloaded jiff v0.2.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51 [INFO] running `Command { std: "docker" "start" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.185 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling rand_core v0.10.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling jiff v0.2.23 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling rand v0.10.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling env_filter v1.0.1 [INFO] [stderr] Compiling env_logger v0.11.10 [INFO] [stderr] Compiling microps-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: value assigned to `cond` is never read [INFO] [stdout] --> src/tcp.rs:476:28 [INFO] [stdout] | [INFO] [stdout] 476 | let Some((mut pcb, mut cond, desc)) = self.allocate() else { [INFO] [stdout] | ^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 539 | (pcb, cond) = self.get(desc); [INFO] [stdout] | ---- `cond` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:640:29 [INFO] [stdout] | [INFO] [stdout] 640 | ... pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:692:25 [INFO] [stdout] | [INFO] [stdout] 692 | pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stdout] --> src/net_device.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/net_device.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct NetDevice { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 138 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 241 | struct SndVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 251 | struct RcvVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 254 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 925 | struct SegInfo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cond` is never read [INFO] [stdout] --> src/tcp.rs:476:28 [INFO] [stdout] | [INFO] [stdout] 476 | let Some((mut pcb, mut cond, desc)) = self.allocate() else { [INFO] [stdout] | ^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 539 | (pcb, cond) = self.get(desc); [INFO] [stdout] | ---- `cond` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:640:29 [INFO] [stdout] | [INFO] [stdout] 640 | ... pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:692:25 [INFO] [stdout] | [INFO] [stdout] 692 | pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `IPV6` is never constructed [INFO] [stdout] --> src/iface.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum IFaceFamily { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 7 | IP, [INFO] [stdout] 8 | IPV6, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IFaceFamily` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IP_HDR_FLAG_DF` is never used [INFO] [stdout] --> src/ip.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const IP_HDR_FLAG_DF: u16 = 0x4000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IP_HDR_FLAG_RF` is never used [INFO] [stdout] --> src/ip.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const IP_HDR_FLAG_RF: u16 = 0x8000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IP_HDR_SIZE_MAX` is never used [INFO] [stdout] --> src/ip.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const IP_HDR_SIZE_MAX: usize = 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `netmask` is never read [INFO] [stdout] --> src/ip.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct IpIFace { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 90 | pub unicast: u32, [INFO] [stdout] 91 | pub netmask: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ip_iface_select` is never used [INFO] [stdout] --> src/ip.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn ip_iface_select(addr: u32) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_SOURCE_QUENCH` is never used [INFO] [stdout] --> src/ip/icmp.rs:90:11 [INFO] [stdout] | [INFO] [stdout] 90 | pub const ICMP_TYPE_SOURCE_QUENCH: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_REDIRECT` is never used [INFO] [stdout] --> src/ip/icmp.rs:91:11 [INFO] [stdout] | [INFO] [stdout] 91 | pub const ICMP_TYPE_REDIRECT: u8 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_TIME_EXCEEDED` is never used [INFO] [stdout] --> src/ip/icmp.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | pub const ICMP_TYPE_TIME_EXCEEDED: u8 = 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_PARAM_PROBLEM` is never used [INFO] [stdout] --> src/ip/icmp.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | pub const ICMP_TYPE_PARAM_PROBLEM: u8 = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_TIMESTAMP` is never used [INFO] [stdout] --> src/ip/icmp.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | pub const ICMP_TYPE_TIMESTAMP: u8 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_TIMESTAMP_REPLY` is never used [INFO] [stdout] --> src/ip/icmp.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub const ICMP_TYPE_TIMESTAMP_REPLY: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_INFO_REQUEST` is never used [INFO] [stdout] --> src/ip/icmp.rs:97:11 [INFO] [stdout] | [INFO] [stdout] 97 | pub const ICMP_TYPE_INFO_REQUEST: u8 = 15; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_INFO_REPLY` is never used [INFO] [stdout] --> src/ip/icmp.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | pub const ICMP_TYPE_INFO_REPLY: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_NET_UNREACH` is never used [INFO] [stdout] --> src/ip/icmp.rs:100:11 [INFO] [stdout] | [INFO] [stdout] 100 | pub const ICMP_CODE_NET_UNREACH: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_HOST_UNREACH` is never used [INFO] [stdout] --> src/ip/icmp.rs:101:11 [INFO] [stdout] | [INFO] [stdout] 101 | pub const ICMP_CODE_HOST_UNREACH: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_FRAGMENT_NEEDED` is never used [INFO] [stdout] --> src/ip/icmp.rs:104:11 [INFO] [stdout] | [INFO] [stdout] 104 | pub const ICMP_CODE_FRAGMENT_NEEDED: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_SOURCE_ROUTE_FAILED` is never used [INFO] [stdout] --> src/ip/icmp.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | pub const ICMP_CODE_SOURCE_ROUTE_FAILED: u8 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `close` is never used [INFO] [stdout] --> src/net_device.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub trait NetDeviceOps: Send + Sync { [INFO] [stdout] | ------------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 21 | fn close(&self) -> Result<(), ()>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `hlen` and `alen` are never read [INFO] [stdout] --> src/net_device.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct NetDeviceInfo { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | pub hlen: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | pub alen: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stdout] --> src/net_device.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_open` is never used [INFO] [stdout] --> src/net_device.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 103 | impl NetDeviceInfo { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | fn is_open(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NetDevice` is never constructed [INFO] [stdout] --> src/net_device.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct NetDevice { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_DEVICE_FLAG_UP` is never used [INFO] [stdout] --> src/net_device.rs:142:11 [INFO] [stdout] | [INFO] [stdout] 142 | pub const NET_DEVICE_FLAG_UP: u16 = 0x0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_DEVICE_FLAG_P2P` is never used [INFO] [stdout] --> src/net_device.rs:145:11 [INFO] [stdout] | [INFO] [stdout] 145 | pub const NET_DEVICE_FLAG_P2P: u16 = 0x0040; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_DEVICE_TYPE_DUMMY` is never used [INFO] [stdout] --> src/net_device.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const NET_DEVICE_TYPE_DUMMY: u16 = 0x0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `gen_dummy_device` is never used [INFO] [stdout] --> src/net_device.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl NetDeviceRegistry { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn gen_dummy_device(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_PROTOCOL_TYPE_IPV6` is never used [INFO] [stdout] --> src/protocol.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const NET_PROTOCOL_TYPE_IPV6: u16 = 0x86dd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 241 | struct SndVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 251 | struct RcvVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 254 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `socket`, `bind`, `listen`, `accept`, and `connect` are never used [INFO] [stdout] --> src/tcp.rs:727:12 [INFO] [stdout] | [INFO] [stdout] 424 | impl TcpPcbManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 727 | pub fn socket(&self) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 733 | pub fn bind(&self, desc: TcpPcbDescriptor, local: &IpEndpoint) -> Result<(), ()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 761 | pub fn listen(&self, desc: TcpPcbDescriptor, backlog: usize) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 780 | pub fn accept(&self, desc: TcpPcbDescriptor) -> Result<(TcpPcbDescriptor, IpEndpoint), ()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 822 | pub fn connect(&self, desc: TcpPcbDescriptor, remote: IpEndpoint) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 925 | struct SegInfo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_src`, `set_dst`, `set_len`, and `set_sum` are never used [INFO] [stdout] --> src/udp.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl UdpHeader { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | fn set_src(&mut self, src: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn set_dst(&mut self, dst: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn set_len(&mut self, len: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | fn set_sum(&mut self, sum: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Closing` is never constructed [INFO] [stdout] --> src/udp.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 166 | enum UdpPcbState { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 169 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UdpPcbState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `remote` and `data` are never read [INFO] [stdout] --> src/udp.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct UdpQueueEntry { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 174 | pub remote: IpEndpoint, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 175 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UdpQueueEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PcbDescriptor` is never constructed [INFO] [stdout] --> src/udp.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | pub struct PcbDescriptor(pub usize); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `open`, `close`, `bind`, `recvfrom`, and `sendto` are never used [INFO] [stdout] --> src/udp.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 192 | impl UdpPcbManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 193 | pub fn open(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn close(&self, desc: PcbDescriptor) -> Result<(), ()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn bind(&self, desc: &PcbDescriptor, local: IpEndpoint) -> Result<(), ()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn recvfrom(&self, desc: &PcbDescriptor) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn sendto( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `udp_output` is never used [INFO] [stdout] --> src/udp.rs:341:4 [INFO] [stdout] | [INFO] [stdout] 341 | fn udp_output(src: IpEndpoint, dst: IpEndpoint, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 35.20s [INFO] running `Command { std: "docker" "inspect" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stdout] warning: value assigned to `cond` is never read [INFO] [stdout] --> src/tcp.rs:476:28 [INFO] [stdout] | [INFO] [stdout] 476 | let Some((mut pcb, mut cond, desc)) = self.allocate() else { [INFO] [stdout] | ^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 539 | (pcb, cond) = self.get(desc); [INFO] [stdout] | ---- `cond` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:640:29 [INFO] [stdout] | [INFO] [stdout] 640 | ... pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:692:25 [INFO] [stdout] | [INFO] [stdout] 692 | pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stdout] --> src/net_device.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/net_device.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct NetDevice { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 138 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 241 | struct SndVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling microps-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 251 | struct RcvVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 254 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 925 | struct SegInfo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cond` is never read [INFO] [stdout] --> src/tcp.rs:476:28 [INFO] [stdout] | [INFO] [stdout] 476 | let Some((mut pcb, mut cond, desc)) = self.allocate() else { [INFO] [stdout] | ^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 539 | (pcb, cond) = self.get(desc); [INFO] [stdout] | ---- `cond` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:640:29 [INFO] [stdout] | [INFO] [stdout] 640 | ... pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:692:25 [INFO] [stdout] | [INFO] [stdout] 692 | pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stdout] --> src/net_device.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/net_device.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct NetDevice { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 138 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 241 | struct SndVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 251 | struct RcvVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 254 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 925 | struct SegInfo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cond` is never read [INFO] [stdout] --> src/tcp.rs:476:28 [INFO] [stdout] | [INFO] [stdout] 476 | let Some((mut pcb, mut cond, desc)) = self.allocate() else { [INFO] [stdout] | ^^^^^^^^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 539 | (pcb, cond) = self.get(desc); [INFO] [stdout] | ---- `cond` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:640:29 [INFO] [stdout] | [INFO] [stdout] 640 | ... pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pcb` is never read [INFO] [stdout] --> src/tcp.rs:692:25 [INFO] [stdout] | [INFO] [stdout] 692 | pcb = cond.wait(pcb).unwrap(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `IPV6` is never constructed [INFO] [stdout] --> src/iface.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum IFaceFamily { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 7 | IP, [INFO] [stdout] 8 | IPV6, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IFaceFamily` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IP_HDR_FLAG_DF` is never used [INFO] [stdout] --> src/ip.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const IP_HDR_FLAG_DF: u16 = 0x4000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IP_HDR_FLAG_RF` is never used [INFO] [stdout] --> src/ip.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const IP_HDR_FLAG_RF: u16 = 0x8000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IP_HDR_SIZE_MAX` is never used [INFO] [stdout] --> src/ip.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const IP_HDR_SIZE_MAX: usize = 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `netmask` is never read [INFO] [stdout] --> src/ip.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct IpIFace { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 90 | pub unicast: u32, [INFO] [stdout] 91 | pub netmask: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ip_iface_select` is never used [INFO] [stdout] --> src/ip.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn ip_iface_select(addr: u32) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_SOURCE_QUENCH` is never used [INFO] [stdout] --> src/ip/icmp.rs:90:11 [INFO] [stdout] | [INFO] [stdout] 90 | pub const ICMP_TYPE_SOURCE_QUENCH: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_REDIRECT` is never used [INFO] [stdout] --> src/ip/icmp.rs:91:11 [INFO] [stdout] | [INFO] [stdout] 91 | pub const ICMP_TYPE_REDIRECT: u8 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_TIME_EXCEEDED` is never used [INFO] [stdout] --> src/ip/icmp.rs:93:11 [INFO] [stdout] | [INFO] [stdout] 93 | pub const ICMP_TYPE_TIME_EXCEEDED: u8 = 11; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_PARAM_PROBLEM` is never used [INFO] [stdout] --> src/ip/icmp.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | pub const ICMP_TYPE_PARAM_PROBLEM: u8 = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_TIMESTAMP` is never used [INFO] [stdout] --> src/ip/icmp.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | pub const ICMP_TYPE_TIMESTAMP: u8 = 13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_TIMESTAMP_REPLY` is never used [INFO] [stdout] --> src/ip/icmp.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub const ICMP_TYPE_TIMESTAMP_REPLY: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_INFO_REQUEST` is never used [INFO] [stdout] --> src/ip/icmp.rs:97:11 [INFO] [stdout] | [INFO] [stdout] 97 | pub const ICMP_TYPE_INFO_REQUEST: u8 = 15; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_TYPE_INFO_REPLY` is never used [INFO] [stdout] --> src/ip/icmp.rs:98:11 [INFO] [stdout] | [INFO] [stdout] 98 | pub const ICMP_TYPE_INFO_REPLY: u8 = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_NET_UNREACH` is never used [INFO] [stdout] --> src/ip/icmp.rs:100:11 [INFO] [stdout] | [INFO] [stdout] 100 | pub const ICMP_CODE_NET_UNREACH: u8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_HOST_UNREACH` is never used [INFO] [stdout] --> src/ip/icmp.rs:101:11 [INFO] [stdout] | [INFO] [stdout] 101 | pub const ICMP_CODE_HOST_UNREACH: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_FRAGMENT_NEEDED` is never used [INFO] [stdout] --> src/ip/icmp.rs:104:11 [INFO] [stdout] | [INFO] [stdout] 104 | pub const ICMP_CODE_FRAGMENT_NEEDED: u8 = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICMP_CODE_SOURCE_ROUTE_FAILED` is never used [INFO] [stdout] --> src/ip/icmp.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | pub const ICMP_CODE_SOURCE_ROUTE_FAILED: u8 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `close` is never used [INFO] [stdout] --> src/net_device.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub trait NetDeviceOps: Send + Sync { [INFO] [stdout] | ------------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 21 | fn close(&self) -> Result<(), ()>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `hlen` and `alen` are never read [INFO] [stdout] --> src/net_device.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct NetDeviceInfo { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | pub hlen: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] 43 | pub alen: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stdout] --> src/net_device.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_open` is never used [INFO] [stdout] --> src/net_device.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 103 | impl NetDeviceInfo { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | fn is_open(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NetDevice` is never constructed [INFO] [stdout] --> src/net_device.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct NetDevice { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_DEVICE_FLAG_UP` is never used [INFO] [stdout] --> src/net_device.rs:142:11 [INFO] [stdout] | [INFO] [stdout] 142 | pub const NET_DEVICE_FLAG_UP: u16 = 0x0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_DEVICE_FLAG_P2P` is never used [INFO] [stdout] --> src/net_device.rs:145:11 [INFO] [stdout] | [INFO] [stdout] 145 | pub const NET_DEVICE_FLAG_P2P: u16 = 0x0040; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_DEVICE_TYPE_DUMMY` is never used [INFO] [stdout] --> src/net_device.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const NET_DEVICE_TYPE_DUMMY: u16 = 0x0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `gen_dummy_device` is never used [INFO] [stdout] --> src/net_device.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl NetDeviceRegistry { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn gen_dummy_device(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NET_PROTOCOL_TYPE_IPV6` is never used [INFO] [stdout] --> src/protocol.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const NET_PROTOCOL_TYPE_IPV6: u16 = 0x86dd; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 241 | struct SndVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 245 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:254:5 [INFO] [stdout] | [INFO] [stdout] 251 | struct RcvVars { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 254 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `socket`, `bind`, `listen`, `accept`, and `connect` are never used [INFO] [stdout] --> src/tcp.rs:727:12 [INFO] [stdout] | [INFO] [stdout] 424 | impl TcpPcbManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 727 | pub fn socket(&self) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 733 | pub fn bind(&self, desc: TcpPcbDescriptor, local: &IpEndpoint) -> Result<(), ()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 761 | pub fn listen(&self, desc: TcpPcbDescriptor, backlog: usize) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 780 | pub fn accept(&self, desc: TcpPcbDescriptor) -> Result<(TcpPcbDescriptor, IpEndpoint), ()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 822 | pub fn connect(&self, desc: TcpPcbDescriptor, remote: IpEndpoint) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `up` is never read [INFO] [stdout] --> src/tcp.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 925 | struct SegInfo { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | up: u16, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Closing` is never constructed [INFO] [stdout] --> src/udp.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 166 | enum UdpPcbState { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 169 | Closing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UdpPcbState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `remote` and `data` are never read [INFO] [stdout] --> src/udp.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 173 | pub struct UdpQueueEntry { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 174 | pub remote: IpEndpoint, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 175 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UdpQueueEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PcbDescriptor` is never constructed [INFO] [stdout] --> src/udp.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 185 | pub struct PcbDescriptor(pub usize); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `open`, `close`, `bind`, `recvfrom`, and `sendto` are never used [INFO] [stdout] --> src/udp.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 192 | impl UdpPcbManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 193 | pub fn open(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn close(&self, desc: PcbDescriptor) -> Result<(), ()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn bind(&self, desc: &PcbDescriptor, local: IpEndpoint) -> Result<(), ()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 267 | pub fn recvfrom(&self, desc: &PcbDescriptor) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn sendto( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `udp_output` is never used [INFO] [stdout] --> src/udp.rs:341:4 [INFO] [stdout] | [INFO] [stdout] 341 | fn udp_output(src: IpEndpoint, dst: IpEndpoint, data: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 2.54s [INFO] running `Command { std: "docker" "inspect" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: value assigned to `cond` is never read [INFO] [stderr] --> src/tcp.rs:476:28 [INFO] [stderr] | [INFO] [stderr] 476 | let Some((mut pcb, mut cond, desc)) = self.allocate() else { [INFO] [stderr] | ^^^^^^^^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 539 | (pcb, cond) = self.get(desc); [INFO] [stderr] | ---- `cond` is overwritten here before the previous value is read [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pcb` is never read [INFO] [stderr] --> src/tcp.rs:640:29 [INFO] [stderr] | [INFO] [stderr] 640 | ... pcb = cond.wait(pcb).unwrap(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pcb` is never read [INFO] [stderr] --> src/tcp.rs:692:25 [INFO] [stderr] | [INFO] [stderr] 692 | pcb = cond.wait(pcb).unwrap(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stderr] --> src/net_device.rs:49:18 [INFO] [stderr] | [INFO] [stderr] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `index` is never read [INFO] [stderr] --> src/net_device.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 137 | pub struct NetDevice { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] 138 | index: usize, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `up` is never read [INFO] [stderr] --> src/tcp.rs:245:5 [INFO] [stderr] | [INFO] [stderr] 241 | struct SndVars { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 245 | up: u16, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field `up` is never read [INFO] [stderr] --> src/tcp.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 251 | struct RcvVars { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 254 | up: u16, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: field `up` is never read [INFO] [stderr] --> src/tcp.rs:930:5 [INFO] [stderr] | [INFO] [stderr] 925 | struct SegInfo { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 930 | up: u16, [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: `microps-rust` (lib) generated 8 warnings [INFO] [stderr] warning: `microps-rust` (lib test) generated 8 warnings (8 duplicates) [INFO] [stderr] warning: variant `IPV6` is never constructed [INFO] [stderr] --> src/iface.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub enum IFaceFamily { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] 7 | IP, [INFO] [stderr] 8 | IPV6, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `IFaceFamily` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `IP_HDR_FLAG_DF` is never used [INFO] [stderr] --> src/ip.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | pub const IP_HDR_FLAG_DF: u16 = 0x4000; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `IP_HDR_FLAG_RF` is never used [INFO] [stderr] --> src/ip.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | pub const IP_HDR_FLAG_RF: u16 = 0x8000; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `IP_HDR_SIZE_MAX` is never used [INFO] [stderr] --> src/ip.rs:29:11 [INFO] [stderr] | [INFO] [stderr] 29 | pub const IP_HDR_SIZE_MAX: usize = 60; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `netmask` is never read [INFO] [stderr] --> src/ip.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 89 | pub struct IpIFace { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 90 | pub unicast: u32, [INFO] [stderr] 91 | pub netmask: u32, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `ip_iface_select` is never used [INFO] [stderr] --> src/ip.rs:202:8 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn ip_iface_select(addr: u32) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_SOURCE_QUENCH` is never used [INFO] [stderr] --> src/ip/icmp.rs:90:11 [INFO] [stderr] | [INFO] [stderr] 90 | pub const ICMP_TYPE_SOURCE_QUENCH: u8 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_REDIRECT` is never used [INFO] [stderr] --> src/ip/icmp.rs:91:11 [INFO] [stderr] | [INFO] [stderr] 91 | pub const ICMP_TYPE_REDIRECT: u8 = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_TIME_EXCEEDED` is never used [INFO] [stderr] --> src/ip/icmp.rs:93:11 [INFO] [stderr] | [INFO] [stderr] 93 | pub const ICMP_TYPE_TIME_EXCEEDED: u8 = 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_PARAM_PROBLEM` is never used [INFO] [stderr] --> src/ip/icmp.rs:94:11 [INFO] [stderr] | [INFO] [stderr] 94 | pub const ICMP_TYPE_PARAM_PROBLEM: u8 = 12; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_TIMESTAMP` is never used [INFO] [stderr] --> src/ip/icmp.rs:95:11 [INFO] [stderr] | [INFO] [stderr] 95 | pub const ICMP_TYPE_TIMESTAMP: u8 = 13; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_TIMESTAMP_REPLY` is never used [INFO] [stderr] --> src/ip/icmp.rs:96:11 [INFO] [stderr] | [INFO] [stderr] 96 | pub const ICMP_TYPE_TIMESTAMP_REPLY: u8 = 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_INFO_REQUEST` is never used [INFO] [stderr] --> src/ip/icmp.rs:97:11 [INFO] [stderr] | [INFO] [stderr] 97 | pub const ICMP_TYPE_INFO_REQUEST: u8 = 15; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_TYPE_INFO_REPLY` is never used [INFO] [stderr] --> src/ip/icmp.rs:98:11 [INFO] [stderr] | [INFO] [stderr] 98 | pub const ICMP_TYPE_INFO_REPLY: u8 = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_CODE_NET_UNREACH` is never used [INFO] [stderr] --> src/ip/icmp.rs:100:11 [INFO] [stderr] | [INFO] [stderr] 100 | pub const ICMP_CODE_NET_UNREACH: u8 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_CODE_HOST_UNREACH` is never used [INFO] [stderr] --> src/ip/icmp.rs:101:11 [INFO] [stderr] | [INFO] [stderr] 101 | pub const ICMP_CODE_HOST_UNREACH: u8 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_CODE_FRAGMENT_NEEDED` is never used [INFO] [stderr] --> src/ip/icmp.rs:104:11 [INFO] [stderr] | [INFO] [stderr] 104 | pub const ICMP_CODE_FRAGMENT_NEEDED: u8 = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ICMP_CODE_SOURCE_ROUTE_FAILED` is never used [INFO] [stderr] --> src/ip/icmp.rs:105:11 [INFO] [stderr] | [INFO] [stderr] 105 | pub const ICMP_CODE_SOURCE_ROUTE_FAILED: u8 = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `close` is never used [INFO] [stderr] --> src/net_device.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 16 | pub trait NetDeviceOps: Send + Sync { [INFO] [stderr] | ------------ method in this trait [INFO] [stderr] ... [INFO] [stderr] 21 | fn close(&self) -> Result<(), ()>; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `hlen` and `alen` are never read [INFO] [stderr] --> src/net_device.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 37 | pub struct NetDeviceInfo { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 42 | pub hlen: u16, [INFO] [stderr] | ^^^^ [INFO] [stderr] 43 | pub alen: u16, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `HaveNetDeviceInfo` is never used [INFO] [stderr] --> src/net_device.rs:49:18 [INFO] [stderr] | [INFO] [stderr] 49 | pub(crate) trait HaveNetDeviceInfo { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_open` is never used [INFO] [stderr] --> src/net_device.rs:117:8 [INFO] [stderr] | [INFO] [stderr] 103 | impl NetDeviceInfo { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 117 | fn is_open(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `NetDevice` is never constructed [INFO] [stderr] --> src/net_device.rs:137:12 [INFO] [stderr] | [INFO] [stderr] 137 | pub struct NetDevice { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NET_DEVICE_FLAG_UP` is never used [INFO] [stderr] --> src/net_device.rs:142:11 [INFO] [stderr] | [INFO] [stderr] 142 | pub const NET_DEVICE_FLAG_UP: u16 = 0x0001; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NET_DEVICE_FLAG_P2P` is never used [INFO] [stderr] --> src/net_device.rs:145:11 [INFO] [stderr] | [INFO] [stderr] 145 | pub const NET_DEVICE_FLAG_P2P: u16 = 0x0040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NET_DEVICE_TYPE_DUMMY` is never used [INFO] [stderr] --> src/net_device.rs:148:11 [INFO] [stderr] | [INFO] [stderr] 148 | pub const NET_DEVICE_TYPE_DUMMY: u16 = 0x0000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `gen_dummy_device` is never used [INFO] [stderr] --> src/net_device.rs:163:12 [INFO] [stderr] | [INFO] [stderr] 156 | impl NetDeviceRegistry { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 163 | pub fn gen_dummy_device(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NET_PROTOCOL_TYPE_IPV6` is never used [INFO] [stderr] --> src/protocol.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | pub const NET_PROTOCOL_TYPE_IPV6: u16 = 0x86dd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `socket`, `bind`, `listen`, `accept`, and `connect` are never used [INFO] [stderr] --> src/tcp.rs:727:12 [INFO] [stderr] | [INFO] [stderr] 424 | impl TcpPcbManager { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 727 | pub fn socket(&self) -> Result { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 733 | pub fn bind(&self, desc: TcpPcbDescriptor, local: &IpEndpoint) -> Result<(), ()> { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 761 | pub fn listen(&self, desc: TcpPcbDescriptor, backlog: usize) -> Result<(), ()> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 780 | pub fn accept(&self, desc: TcpPcbDescriptor) -> Result<(TcpPcbDescriptor, IpEndpoint), ()> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 822 | pub fn connect(&self, desc: TcpPcbDescriptor, remote: IpEndpoint) -> Result<(), ()> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Closing` is never constructed [INFO] [stderr] --> src/udp.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 166 | enum UdpPcbState { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 169 | Closing, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UdpPcbState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `remote` and `data` are never read [INFO] [stderr] --> src/udp.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 173 | pub struct UdpQueueEntry { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 174 | pub remote: IpEndpoint, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 175 | pub data: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `UdpQueueEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `PcbDescriptor` is never constructed [INFO] [stderr] --> src/udp.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | pub struct PcbDescriptor(pub usize); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `open`, `close`, `bind`, `recvfrom`, and `sendto` are never used [INFO] [stderr] --> src/udp.rs:193:12 [INFO] [stderr] | [INFO] [stderr] 192 | impl UdpPcbManager { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] 193 | pub fn open(&self) -> Result { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 208 | pub fn close(&self, desc: PcbDescriptor) -> Result<(), ()> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 232 | pub fn bind(&self, desc: &PcbDescriptor, local: IpEndpoint) -> Result<(), ()> { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 267 | pub fn recvfrom(&self, desc: &PcbDescriptor) -> Result { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 296 | pub fn sendto( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `udp_output` is never used [INFO] [stderr] --> src/udp.rs:341:4 [INFO] [stderr] | [INFO] [stderr] 341 | fn udp_output(src: IpEndpoint, dst: IpEndpoint, data: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `microps-rust` (bin "microps-rust" test) generated 40 warnings (6 duplicates) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/microps_rust-d2e489c14aafd661) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test ether::tests::ether_header_has_no_alignment_requirement ... ok [INFO] [stdout] test ether::tests::ether_header_parses_from_misaligned_slice ... ok [INFO] [stdout] test arp::tests::arp_ether_ip_parses_from_misaligned_slice ... ok [INFO] [stdout] test ip::icmp::tests::display_echo_reply_uses_reply_name ... ok [INFO] [stdout] test ip::icmp::tests::display_echo_request_includes_fields ... ok [INFO] [stdout] test ip::icmp::tests::from_bytes_parses_echo_without_alignment_requirements ... ok [INFO] [stdout] test ip::tests::ip_header_parses_from_misaligned_slice ... ok [INFO] [stdout] test ip::icmp::tests::display_destination_unreachable_includes_code ... ok [INFO] [stdout] test ip::tests::ip_header_has_no_alignment_requirement ... ok [INFO] [stdout] test udp::tests::udp_checksum_matches_known_ipv4_packet ... ok [INFO] [stdout] test udp::tests::udp_header_has_no_alignment_requirement ... ok [INFO] [stdout] test udp::tests::udp_header_writes_to_misaligned_slice ... ok [INFO] [stdout] test udp::tests::udp_payload_ignores_ethernet_padding_after_udp_length ... ok [INFO] [stdout] test arp::tests::arp_ether_ip_has_no_alignment_requirement ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/microps_rust-a06b3a76bf4d0982) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test arp::tests::arp_ether_ip_parses_from_misaligned_slice ... ok [INFO] [stdout] test ether::tests::ether_header_parses_from_misaligned_slice ... ok [INFO] [stdout] test ether::tests::ether_header_has_no_alignment_requirement ... ok [INFO] [stdout] test ip::icmp::tests::display_echo_reply_uses_reply_name ... ok [INFO] [stdout] test ip::tests::ip_header_has_no_alignment_requirement ... ok [INFO] [stdout] test ip::tests::ip_header_parses_from_misaligned_slice ... ok [INFO] [stderr] Running unittests src/bin/tap.rs (/opt/rustwide/target/release/deps/tap-89f1e5ff49565397) [INFO] [stdout] test arp::tests::arp_ether_ip_has_no_alignment_requirement ... ok [INFO] [stdout] test udp::tests::udp_header_writes_to_misaligned_slice ... ok [INFO] [stdout] test udp::tests::udp_checksum_matches_known_ipv4_packet ... ok [INFO] [stdout] test udp::tests::udp_header_has_no_alignment_requirement ... ok [INFO] [stdout] test udp::tests::udp_payload_ignores_ethernet_padding_after_udp_length ... ok [INFO] [stdout] test ip::icmp::tests::display_destination_unreachable_includes_code ... ok [INFO] [stdout] test ip::icmp::tests::display_echo_request_includes_fields ... ok [INFO] [stdout] test ip::icmp::tests::from_bytes_parses_echo_without_alignment_requirements ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/test_socket.rs (/opt/rustwide/target/release/deps/test_socket-661a56a3e766fe7b) [INFO] [stderr] Running unittests src/bin/test_socket_2.rs (/opt/rustwide/target/release/deps/test_socket_2-d7442c6f561f35ce) [INFO] [stderr] Running unittests src/bin/udp_test.rs (/opt/rustwide/target/release/deps/udp_test-848cc42fcc1c124d) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests microps_rust [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51", kill_on_drop: false }` [INFO] [stdout] 6e88963b6de8cce09f85d2f1c3b035a707a6f3e015aaa3e11941f0927f72ef51