[INFO] cloning repository https://github.com/the10thWiz/autoConf [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/the10thWiz/autoConf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe10thWiz%2FautoConf", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe10thWiz%2FautoConf'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a7d3e07c003351399b22f98eaf7004af6436ab1a [INFO] linting the10thWiz/autoConf against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe10thWiz%2FautoConf" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/the10thWiz/autoConf [INFO] finished tweaking git repo https://github.com/the10thWiz/autoConf [INFO] tweaked toml for git repo https://github.com/the10thWiz/autoConf written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/the10thWiz/autoConf on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/the10thWiz/autoConf 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 633747f408c6778bf5badf85fd90d868deb4a8d83f2f373692eed53b8ded3780 [INFO] running `Command { std: "docker" "start" "-a" "633747f408c6778bf5badf85fd90d868deb4a8d83f2f373692eed53b8ded3780", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "633747f408c6778bf5badf85fd90d868deb4a8d83f2f373692eed53b8ded3780", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "633747f408c6778bf5badf85fd90d868deb4a8d83f2f373692eed53b8ded3780", kill_on_drop: false }` [INFO] [stdout] 633747f408c6778bf5badf85fd90d868deb4a8d83f2f373692eed53b8ded3780 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 747742b507bc14b49b05251266b8eae93d2d2866800344904e24338a53709f78 [INFO] running `Command { std: "docker" "start" "-a" "747742b507bc14b49b05251266b8eae93d2d2866800344904e24338a53709f78", kill_on_drop: false }` [INFO] [stderr] Checking autonetconf v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::ip::IP` [INFO] [stdout] --> src/switch.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ip::IP; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/switch.rs:155:23 [INFO] [stdout] | [INFO] [stdout] 155 | channel_protocol: (ChannelProtocol), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - channel_protocol: (ChannelProtocol), [INFO] [stdout] 155 + channel_protocol: ChannelProtocol, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ip::IP` [INFO] [stdout] --> src/switch.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ip::IP; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/switch.rs:155:23 [INFO] [stdout] | [INFO] [stdout] 155 | channel_protocol: (ChannelProtocol), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 155 - channel_protocol: (ChannelProtocol), [INFO] [stdout] 155 + channel_protocol: ChannelProtocol, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SubnetMask` and `SubnetAddr` are never constructed [INFO] [stdout] --> src/ip.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum IPType { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 5 | Network, [INFO] [stdout] 6 | SubnetMask, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | SubnetAddr, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IPType` 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: enum `IPClass` is never used [INFO] [stdout] --> src/ip.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum IPClass { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IPError` is never used [INFO] [stdout] --> src/ip.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum IPError { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ip.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait IP: fmt::Display + Copy + Eq { [INFO] [stdout] | -- methods in this trait [INFO] [stdout] 25 | fn next(&self) -> Option; [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | fn first(&self) -> Self; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 27 | fn last(&self) -> Self; [INFO] [stdout] | ^^^^ [INFO] [stdout] 28 | fn ip_type(&self) -> IPType; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 29 | fn network(&self) -> Self; [INFO] [stdout] 30 | fn subnet_mask(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | fn subnet_addr(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 32 | fn subnet_net(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | fn subnet_net_num(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | fn broadcast(&self) -> Self; [INFO] [stdout] 35 | fn class(&self) -> IPClass; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 36 | fn is_valid(&self) -> Result<(), IPError>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | fn num_hosts(&self) -> u32; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Config` is never used [INFO] [stdout] --> src/config.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Service` is never used [INFO] [stdout] --> src/switch.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum Service { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TimestampType` is never used [INFO] [stdout] --> src/switch.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum TimestampType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Service { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 15 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VlanRange` is never constructed [INFO] [stdout] --> src/switch.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct VlanRange { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 40 | impl VlanRange { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 41 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpanningTree` is never used [INFO] [stdout] --> src/switch.rs:51:6 [INFO] [stdout] | [INFO] [stdout] 51 | enum SpanningTree { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpanningTreeMode` is never used [INFO] [stdout] --> src/switch.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | enum SpanningTreeMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl SpanningTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 61 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InterfaceType` is never used [INFO] [stdout] --> src/switch.rs:82:6 [INFO] [stdout] | [INFO] [stdout] 82 | enum InterfaceType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 90 | impl InterfaceType { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 91 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GroupAction` is never used [INFO] [stdout] --> src/switch.rs:125:6 [INFO] [stdout] | [INFO] [stdout] 125 | enum GroupAction{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ChannelProtocol` is never used [INFO] [stdout] --> src/switch.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum ChannelProtocol { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DHCPSnoop` is never used [INFO] [stdout] --> src/switch.rs:132:6 [INFO] [stdout] | [INFO] [stdout] 132 | enum DHCPSnoop { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MLSAction` is never used [INFO] [stdout] --> src/switch.rs:136:6 [INFO] [stdout] | [INFO] [stdout] 136 | enum MLSAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpanningTreeI` is never used [INFO] [stdout] --> src/switch.rs:140:6 [INFO] [stdout] | [INFO] [stdout] 140 | enum SpanningTreeI { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Speed` is never used [INFO] [stdout] --> src/switch.rs:143:6 [INFO] [stdout] | [INFO] [stdout] 143 | enum Speed { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SwitchPort` is never used [INFO] [stdout] --> src/switch.rs:148:6 [INFO] [stdout] | [INFO] [stdout] 148 | enum SwitchPort { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interface` is never constructed [INFO] [stdout] --> src/switch.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | struct Interface { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 169 | impl Interface { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 170 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Line` is never used [INFO] [stdout] --> src/switch.rs:193:6 [INFO] [stdout] | [INFO] [stdout] 193 | enum Line { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Access` is never constructed [INFO] [stdout] --> src/switch.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | struct Access { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Timezone` is never used [INFO] [stdout] --> src/switch.rs:199:6 [INFO] [stdout] | [INFO] [stdout] 199 | enum Timezone { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `KeyAction` is never used [INFO] [stdout] --> src/switch.rs:202:6 [INFO] [stdout] | [INFO] [stdout] 202 | enum KeyAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IPAction` is never used [INFO] [stdout] --> src/switch.rs:205:6 [INFO] [stdout] | [INFO] [stdout] 205 | enum IPAction { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LogAction` is never constructed [INFO] [stdout] --> src/switch.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | struct LogAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StaticMacAddress` is never constructed [INFO] [stdout] --> src/switch.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | struct StaticMacAddress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonitorSession` is never constructed [INFO] [stdout] --> src/switch.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | struct MonitorSession { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NTPAction` is never constructed [INFO] [stdout] --> src/switch.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 217 | struct NTPAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vlan` is never constructed [INFO] [stdout] --> src/switch.rs:220:8 [INFO] [stdout] | [INFO] [stdout] 220 | struct Vlan { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VTPAction` is never constructed [INFO] [stdout] --> src/switch.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | struct VTPAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SwitchConfig` is never constructed [INFO] [stdout] --> src/switch.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | struct SwitchConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EMPTY_LINE` is never used [INFO] [stdout] --> src/switch.rs:250:7 [INFO] [stdout] | [INFO] [stdout] 250 | const EMPTY_LINE : &str = "!\n"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `hostname` and `banner` are never used [INFO] [stdout] --> src/switch.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 251 | impl SwitchConfig { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 252 | fn hostname(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn banner(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SubnetMask` and `SubnetAddr` are never constructed [INFO] [stdout] --> src/ip.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum IPType { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 5 | Network, [INFO] [stdout] 6 | SubnetMask, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | SubnetAddr, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IPType` 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: enum `IPClass` is never used [INFO] [stdout] --> src/ip.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum IPClass { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IPError` is never used [INFO] [stdout] --> src/ip.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum IPError { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ip.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub trait IP: fmt::Display + Copy + Eq { [INFO] [stdout] | -- methods in this trait [INFO] [stdout] 25 | fn next(&self) -> Option; [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | fn first(&self) -> Self; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 27 | fn last(&self) -> Self; [INFO] [stdout] | ^^^^ [INFO] [stdout] 28 | fn ip_type(&self) -> IPType; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 29 | fn network(&self) -> Self; [INFO] [stdout] 30 | fn subnet_mask(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 31 | fn subnet_addr(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 32 | fn subnet_net(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | fn subnet_net_num(&self) -> Self; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 34 | fn broadcast(&self) -> Self; [INFO] [stdout] 35 | fn class(&self) -> IPClass; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 36 | fn is_valid(&self) -> Result<(), IPError>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | fn num_hosts(&self) -> u32; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Config` is never used [INFO] [stdout] --> src/config.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Service` is never used [INFO] [stdout] --> src/switch.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum Service { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TimestampType` is never used [INFO] [stdout] --> src/switch.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum TimestampType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Service { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 15 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VlanRange` is never constructed [INFO] [stdout] --> src/switch.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct VlanRange { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 40 | impl VlanRange { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 41 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpanningTree` is never used [INFO] [stdout] --> src/switch.rs:51:6 [INFO] [stdout] | [INFO] [stdout] 51 | enum SpanningTree { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpanningTreeMode` is never used [INFO] [stdout] --> src/switch.rs:56:6 [INFO] [stdout] | [INFO] [stdout] 56 | enum SpanningTreeMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl SpanningTree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 61 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InterfaceType` is never used [INFO] [stdout] --> src/switch.rs:82:6 [INFO] [stdout] | [INFO] [stdout] 82 | enum InterfaceType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 90 | impl InterfaceType { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 91 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GroupAction` is never used [INFO] [stdout] --> src/switch.rs:125:6 [INFO] [stdout] | [INFO] [stdout] 125 | enum GroupAction{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ip.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | if !ip_split.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ip_split.next().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ChannelProtocol` is never used [INFO] [stdout] --> src/switch.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum ChannelProtocol { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ip.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if !tmp.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tmp.next().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DHCPSnoop` is never used [INFO] [stdout] --> src/switch.rs:132:6 [INFO] [stdout] | [INFO] [stdout] 132 | enum DHCPSnoop { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MLSAction` is never used [INFO] [stdout] --> src/switch.rs:136:6 [INFO] [stdout] | [INFO] [stdout] 136 | enum MLSAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | let mask = u32::max_value() << (32 - tmp.next().expect("Mask not provided").parse::().expect("Mask was not int")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 67 - let mask = u32::max_value() << (32 - tmp.next().expect("Mask not provided").parse::().expect("Mask was not int")); [INFO] [stdout] 67 + let mask = u32::MAX << (32 - tmp.next().expect("Mask not provided").parse::().expect("Mask was not int")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SpanningTreeI` is never used [INFO] [stdout] --> src/switch.rs:140:6 [INFO] [stdout] | [INFO] [stdout] 140 | enum SpanningTreeI { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Speed` is never used [INFO] [stdout] --> src/switch.rs:143:6 [INFO] [stdout] | [INFO] [stdout] 143 | enum Speed { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SwitchPort` is never used [INFO] [stdout] --> src/switch.rs:148:6 [INFO] [stdout] | [INFO] [stdout] 148 | enum SwitchPort { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interface` is never constructed [INFO] [stdout] --> src/switch.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | struct Interface { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/switch.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 169 | impl Interface { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 170 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Line` is never used [INFO] [stdout] --> src/switch.rs:193:6 [INFO] [stdout] | [INFO] [stdout] 193 | enum Line { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Access` is never constructed [INFO] [stdout] --> src/switch.rs:196:8 [INFO] [stdout] | [INFO] [stdout] 196 | struct Access { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Timezone` is never used [INFO] [stdout] --> src/switch.rs:199:6 [INFO] [stdout] | [INFO] [stdout] 199 | enum Timezone { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `KeyAction` is never used [INFO] [stdout] --> src/switch.rs:202:6 [INFO] [stdout] | [INFO] [stdout] 202 | enum KeyAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IPAction` is never used [INFO] [stdout] --> src/switch.rs:205:6 [INFO] [stdout] | [INFO] [stdout] 205 | enum IPAction { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LogAction` is never constructed [INFO] [stdout] --> src/switch.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | struct LogAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StaticMacAddress` is never constructed [INFO] [stdout] --> src/switch.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | struct StaticMacAddress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonitorSession` is never constructed [INFO] [stdout] --> src/switch.rs:214:8 [INFO] [stdout] | [INFO] [stdout] 214 | struct MonitorSession { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NTPAction` is never constructed [INFO] [stdout] --> src/switch.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 217 | struct NTPAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vlan` is never constructed [INFO] [stdout] --> src/switch.rs:220:8 [INFO] [stdout] | [INFO] [stdout] 220 | struct Vlan { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VTPAction` is never constructed [INFO] [stdout] --> src/switch.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | struct VTPAction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SwitchConfig` is never constructed [INFO] [stdout] --> src/switch.rs:227:8 [INFO] [stdout] | [INFO] [stdout] 227 | struct SwitchConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EMPTY_LINE` is never used [INFO] [stdout] --> src/switch.rs:250:7 [INFO] [stdout] | [INFO] [stdout] 250 | const EMPTY_LINE : &str = "!\n"; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `hostname` and `banner` are never used [INFO] [stdout] --> src/switch.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 251 | impl SwitchConfig { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 252 | fn hostname(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn banner(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:97:20 [INFO] [stdout] | [INFO] [stdout] 97 | let mask = u32::max_value() << (32 - (network.mask_num()+bits)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 97 - let mask = u32::max_value() << (32 - (network.mask_num()+bits)); [INFO] [stdout] 97 + let mask = u32::MAX << (32 - (network.mask_num()+bits)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:134:42 [INFO] [stdout] | [INFO] [stdout] 134 | ip: (self.ip & self.mask) + (u32::max_value() & !self.mask) - 1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 134 - ip: (self.ip & self.mask) + (u32::max_value() & !self.mask) - 1, [INFO] [stdout] 134 + ip: (self.ip & self.mask) + (u32::MAX & !self.mask) - 1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:185:42 [INFO] [stdout] | [INFO] [stdout] 185 | ip: (self.ip & self.mask) + (u32::max_value() & !self.mask), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 185 - ip: (self.ip & self.mask) + (u32::max_value() & !self.mask), [INFO] [stdout] 185 + ip: (self.ip & self.mask) + (u32::MAX & !self.mask), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ip.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | if !ip_split.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ip_split.next().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ip.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if !tmp.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `tmp.next().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | let mask = u32::max_value() << (32 - tmp.next().expect("Mask not provided").parse::().expect("Mask was not int")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 67 - let mask = u32::max_value() << (32 - tmp.next().expect("Mask not provided").parse::().expect("Mask was not int")); [INFO] [stdout] 67 + let mask = u32::MAX << (32 - tmp.next().expect("Mask not provided").parse::().expect("Mask was not int")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DHCP` contains a capitalized acronym [INFO] [stdout] --> src/switch.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | DHCP(bool),// (no)? service dhcp [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Dhcp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::Service` [INFO] [stdout] --> src/switch.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | / fn to_string(&self) -> String { [INFO] [stdout] 16 | | let mut ret = String::default(); [INFO] [stdout] 17 | | match *self { [INFO] [stdout] 18 | | Service::DHCP(b) | Service::Encryption(b) | Service::Timestamps(b, _) => if b {ret.push_str("no ")}, [INFO] [stdout] ... | [INFO] [stdout] 33 | | ret [INFO] [stdout] 34 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::Service` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/switch.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | ret.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `ret.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::VlanRange` [INFO] [stdout] --> src/switch.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / fn to_string(&self) -> String { [INFO] [stdout] 42 | | let mut ret = String::default(); [INFO] [stdout] 43 | | ret+= &self.start.to_string(); [INFO] [stdout] 44 | | if self.end != 0 { [INFO] [stdout] ... | [INFO] [stdout] 48 | | ret [INFO] [stdout] 49 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::VlanRange` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:97:20 [INFO] [stdout] | [INFO] [stdout] 97 | let mask = u32::max_value() << (32 - (network.mask_num()+bits)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 97 - let mask = u32::max_value() << (32 - (network.mask_num()+bits)); [INFO] [stdout] 97 + let mask = u32::MAX << (32 - (network.mask_num()+bits)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:134:42 [INFO] [stdout] | [INFO] [stdout] 134 | ip: (self.ip & self.mask) + (u32::max_value() & !self.mask) - 1, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 134 - ip: (self.ip & self.mask) + (u32::max_value() & !self.mask) - 1, [INFO] [stdout] 134 + ip: (self.ip & self.mask) + (u32::MAX & !self.mask) - 1, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::SpanningTree` [INFO] [stdout] --> src/switch.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | / fn to_string(&self) -> String { [INFO] [stdout] 62 | | let mut ret = String::default(); [INFO] [stdout] 63 | | ret+= "spanning-tree "; [INFO] [stdout] 64 | | match self { [INFO] [stdout] ... | [INFO] [stdout] 78 | | ret [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::SpanningTree` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::InterfaceType` [INFO] [stdout] --> src/switch.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | / fn to_string(&self) -> String { [INFO] [stdout] 92 | | let mut ret = String::default(); [INFO] [stdout] 93 | | match self { [INFO] [stdout] 94 | | Self::Ethernet(a, b) => { [INFO] [stdout] ... | [INFO] [stdout] 122 | | ret [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::InterfaceType` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/ip.rs:185:42 [INFO] [stdout] | [INFO] [stdout] 185 | ip: (self.ip & self.mask) + (u32::max_value() & !self.mask), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 185 - ip: (self.ip & self.mask) + (u32::max_value() & !self.mask), [INFO] [stdout] 185 + ip: (self.ip & self.mask) + (u32::MAX & !self.mask), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::Interface` [INFO] [stdout] --> src/switch.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / fn to_string(&self) -> String { [INFO] [stdout] 171 | | let mut ret = String::default(); [INFO] [stdout] 172 | | ret+= "interface "; [INFO] [stdout] 173 | | ret+= &self.name.0.to_string(); [INFO] [stdout] ... | [INFO] [stdout] 190 | | ret [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::Interface` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DHCP` contains a capitalized acronym [INFO] [stdout] --> src/switch.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | DHCP(bool),// (no)? service dhcp [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Dhcp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::Service` [INFO] [stdout] --> src/switch.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | / fn to_string(&self) -> String { [INFO] [stdout] 16 | | let mut ret = String::default(); [INFO] [stdout] 17 | | match *self { [INFO] [stdout] 18 | | Service::DHCP(b) | Service::Encryption(b) | Service::Timestamps(b, _) => if b {ret.push_str("no ")}, [INFO] [stdout] ... | [INFO] [stdout] 33 | | ret [INFO] [stdout] 34 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::Service` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/switch.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | ret.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `ret.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::VlanRange` [INFO] [stdout] --> src/switch.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / fn to_string(&self) -> String { [INFO] [stdout] 42 | | let mut ret = String::default(); [INFO] [stdout] 43 | | ret+= &self.start.to_string(); [INFO] [stdout] 44 | | if self.end != 0 { [INFO] [stdout] ... | [INFO] [stdout] 48 | | ret [INFO] [stdout] 49 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::VlanRange` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::SpanningTree` [INFO] [stdout] --> src/switch.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | / fn to_string(&self) -> String { [INFO] [stdout] 62 | | let mut ret = String::default(); [INFO] [stdout] 63 | | ret+= "spanning-tree "; [INFO] [stdout] 64 | | match self { [INFO] [stdout] ... | [INFO] [stdout] 78 | | ret [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::SpanningTree` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::InterfaceType` [INFO] [stdout] --> src/switch.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | / fn to_string(&self) -> String { [INFO] [stdout] 92 | | let mut ret = String::default(); [INFO] [stdout] 93 | | match self { [INFO] [stdout] 94 | | Self::Ethernet(a, b) => { [INFO] [stdout] ... | [INFO] [stdout] 122 | | ret [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::InterfaceType` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `switch::Interface` [INFO] [stdout] --> src/switch.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | / fn to_string(&self) -> String { [INFO] [stdout] 171 | | let mut ret = String::default(); [INFO] [stdout] 172 | | ret+= "interface "; [INFO] [stdout] 173 | | ret+= &self.name.0.to_string(); [INFO] [stdout] ... | [INFO] [stdout] 190 | | ret [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `switch::Interface` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] running `Command { std: "docker" "inspect" "747742b507bc14b49b05251266b8eae93d2d2866800344904e24338a53709f78", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "747742b507bc14b49b05251266b8eae93d2d2866800344904e24338a53709f78", kill_on_drop: false }` [INFO] [stdout] 747742b507bc14b49b05251266b8eae93d2d2866800344904e24338a53709f78