[INFO] cloning repository https://github.com/mjptree/netsim
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mjptree/netsim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmjptree%2Fnetsim", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmjptree%2Fnetsim'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 380f211979b9f0a55eb036e8fd7a2439dbd92110
[INFO] checking mjptree/netsim against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmjptree%2Fnetsim" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/mjptree/netsim
[INFO] finished tweaking git repo https://github.com/mjptree/netsim
[INFO] tweaked toml for git repo https://github.com/mjptree/netsim written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mjptree/netsim on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mjptree/netsim 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.133
[INFO] [stderr]   Downloaded clap v3.0.5
[INFO] [stderr]   Downloaded clap_derive v3.0.5
[INFO] [stderr]   Downloaded serde v1.0.133
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7f4aae4fbc15ba366c502569ea52c24414079ae8345b3423a1dc2a059a8a8fe
[INFO] running `Command { std: "docker" "start" "-a" "b7f4aae4fbc15ba366c502569ea52c24414079ae8345b3423a1dc2a059a8a8fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7f4aae4fbc15ba366c502569ea52c24414079ae8345b3423a1dc2a059a8a8fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7f4aae4fbc15ba366c502569ea52c24414079ae8345b3423a1dc2a059a8a8fe", kill_on_drop: false }`
[INFO] [stdout] b7f4aae4fbc15ba366c502569ea52c24414079ae8345b3423a1dc2a059a8a8fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fee0ec131ca806dd78c56e5b3016673392ea979624428f85959dc2d7412f50c2
[INFO] running `Command { std: "docker" "start" "-a" "fee0ec131ca806dd78c56e5b3016673392ea979624428f85959dc2d7412f50c2", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling syn v1.0.84
[INFO] [stderr]    Compiling serde_derive v1.0.133
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking textwrap v0.14.2
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking os_str_bytes v6.0.0
[INFO] [stderr]     Checking netsim-gml v0.1.0 (/opt/rustwide/workdir/netsim-gml)
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]    Compiling clap_derive v3.0.5
[INFO] [stderr]     Checking clap v3.0.5
[INFO] [stderr]     Checking toml v0.5.8
[INFO] [stderr]     Checking netsim v0.1.0 (/opt/rustwide/workdir/netsim)
[INFO] [stdout] error[E0432]: unresolved import `std::lazy`
[INFO] [stdout]  --> netsim/src/worker.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::lazy;
[INFO] [stdout]   |     ^^^^^^^^^ no `lazy` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::lazy`
[INFO] [stdout]  --> netsim/src/worker.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::lazy;
[INFO] [stdout]   |     ^^^^^^^^^ no `lazy` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::worker::Worker`
[INFO] [stdout]  --> netsim/src/net.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::worker::Worker;
[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 `if` condition
[INFO] [stdout]   --> netsim/src/task.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 if (this.is_refill_needed()) {
[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] 33 -                 if (this.is_refill_needed()) {
[INFO] [stdout] 33 +                 if this.is_refill_needed()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::worker::Worker`
[INFO] [stdout]  --> netsim/src/net.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::worker::Worker;
[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 `if` condition
[INFO] [stdout]   --> netsim/src/task.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 if (this.is_refill_needed()) {
[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] 33 -                 if (this.is_refill_needed()) {
[INFO] [stdout] 33 +                 if this.is_refill_needed()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `once_cell` has been stable since 1.70.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> netsim/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(once_cell)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `once_cell` has been stable since 1.70.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> netsim/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(once_cell)]
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:39:22
[INFO] [stdout]    |
[INFO] [stdout] 39 |         WORKER.with(|worker| {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 40 |             let _ = worker.set(cell::RefCell::new(Self {
[INFO] [stdout]    |                     ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 39 |         WORKER.with(|worker: /* Type */| {
[INFO] [stdout]    |                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:39:22
[INFO] [stdout]    |
[INFO] [stdout] 39 |         WORKER.with(|worker| {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 40 |             let _ = worker.set(cell::RefCell::new(Self {
[INFO] [stdout]    |                     ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 39 |         WORKER.with(|worker: /* Type */| {
[INFO] [stdout]    |                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker| worker.get().map(|worker| func(&worker.borrow())))
[INFO] [stdout]    |                        ^^^^^^  ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker: /* Type */| worker.get().map(|worker| func(&worker.borrow())))
[INFO] [stdout]    |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker| worker.get().map(|worker| func(&worker.borrow())))
[INFO] [stdout]    |                        ^^^^^^  ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker: /* Type */| worker.get().map(|worker| func(&worker.borrow())))
[INFO] [stdout]    |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker| worker.get().map(|worker| func(&worker.borrow())))
[INFO] [stdout]    |                                                  ^^^^^^        ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker| worker.get().map(|worker: /* Type */| func(&worker.borrow())))
[INFO] [stdout]    |                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker| worker.get().map(|worker| func(&worker.borrow())))
[INFO] [stdout]    |                                                  ^^^^^^        ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 61 |             .try_with(|worker| worker.get().map(|worker: /* Type */| func(&worker.borrow())))
[INFO] [stdout]    |                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker| worker.get().map(|worker| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                        ^^^^^^  ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker: /* Type */| worker.get().map(|worker| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:71:50
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker| worker.get().map(|worker| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                                                  ^^^^^^            ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker| worker.get().map(|worker: /* Type */| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:71:24
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker| worker.get().map(|worker| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                        ^^^^^^  ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker: /* Type */| worker.get().map(|worker| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> netsim/src/worker.rs:71:50
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker| worker.get().map(|worker| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                                                  ^^^^^^            ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 71 |             .try_with(|worker| worker.get().map(|worker: /* Type */| func(&mut worker.borrow_mut())))
[INFO] [stdout]    |                                                        ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cli_args`
[INFO] [stdout]   --> netsim/src/app.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn with_args(cli_args: Args) -> Result<Self, ParseError> {
[INFO] [stdout]    |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cli_args`
[INFO] [stdout]   --> netsim/src/app.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn with_args(cli_args: Args) -> Result<Self, ParseError> {
[INFO] [stdout]    |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cli_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]   --> netsim/src/host.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn execute(&self, task: Task) {}
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]   --> netsim/src/host.rs:33:23
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn execute(&self, task: Task) {}
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> netsim/src/net.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn forward(&self, src: Host, packet: Packet) {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> netsim/src/net.rs:147:34
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn forward(&self, src: Host, packet: Packet) {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]    --> netsim/src/net.rs:170:31
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn receive_packets(&self, host: &Host) {}
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]    --> netsim/src/net.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn send_packets(&self, host: &Host) {}
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> netsim/src/net.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn forward(&self, src: Host, packet: Packet) {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> netsim/src/net.rs:147:34
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn forward(&self, src: Host, packet: Packet) {
[INFO] [stdout]     |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]    --> netsim/src/net.rs:170:31
[INFO] [stdout]     |
[INFO] [stdout] 170 |     fn receive_packets(&self, host: &Host) {}
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]    --> netsim/src/net.rs:172:28
[INFO] [stdout]     |
[INFO] [stdout] 172 |     fn send_packets(&self, host: &Host) {}
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/sim.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn add_host(&mut self, host: &Host) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> netsim/src/sim.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn push(&self, event: &Event, host: &Host, time: SimulationTime) {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/sim.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn push(&self, event: &Event, host: &Host, time: SimulationTime) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> netsim/src/sim.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn push(&self, event: &Event, host: &Host, time: SimulationTime) {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> netsim/src/sim.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn pop(&self, time: SimulationTime) -> Event {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> netsim/src/sim.rs:73:24
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn push(&self, event: Event, host: &Host, delay: SimulationTime) -> bool {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/sim.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn push(&self, event: Event, host: &Host, delay: SimulationTime) -> bool {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]   --> netsim/src/sim.rs:73:51
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn push(&self, event: Event, host: &Host, delay: SimulationTime) -> bool {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/sim.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn add_host(&mut self, host: &Host) {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> netsim/src/sim.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn push(&self, event: &Event, host: &Host, time: SimulationTime) {
[INFO] [stdout]    |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/sim.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn push(&self, event: &Event, host: &Host, time: SimulationTime) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> netsim/src/sim.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn push(&self, event: &Event, host: &Host, time: SimulationTime) {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> netsim/src/sim.rs:39:19
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn pop(&self, time: SimulationTime) -> Event {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]   --> netsim/src/sim.rs:73:24
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn push(&self, event: Event, host: &Host, delay: SimulationTime) -> bool {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/sim.rs:73:38
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn push(&self, event: Event, host: &Host, delay: SimulationTime) -> bool {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `simulation`
[INFO] [stdout]    --> netsim/src/sim.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn has_finished_current_rount(&self, simulation: &Simulation) -> bool {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_simulation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay`
[INFO] [stdout]   --> netsim/src/sim.rs:73:51
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn push(&self, event: Event, host: &Host, delay: SimulationTime) -> bool {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_delay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> netsim/src/sim.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn latency_between(&self, src: &IpAddr, dst: &IpAddr) {}
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> netsim/src/sim.rs:149:45
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn latency_between(&self, src: &IpAddr, dst: &IpAddr) {}
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `simulation`
[INFO] [stdout]    --> netsim/src/sim.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn has_finished_current_rount(&self, simulation: &Simulation) -> bool {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_simulation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> netsim/src/task.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let mut this = interface.lock().unwrap();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> netsim/src/sim.rs:149:31
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn latency_between(&self, src: &IpAddr, dst: &IpAddr) {}
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/task.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn execute(&mut self, host: Arc<Host>) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> netsim/src/sim.rs:149:45
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn latency_between(&self, src: &IpAddr, dst: &IpAddr) {}
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_refill`
[INFO] [stdout]   --> netsim/src/task.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     let next_refill = interval - last_refill % interval;
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_refill`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]   --> netsim/src/task.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     let task = Task::RefillBuckets(interface.clone());
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> netsim/src/task.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let mut this = interface.lock().unwrap();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `host`
[INFO] [stdout]   --> netsim/src/task.rs:21:31
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn execute(&mut self, host: Arc<Host>) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_host`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_refill`
[INFO] [stdout]   --> netsim/src/task.rs:39:25
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     let next_refill = interval - last_refill % interval;
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_refill`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `task`
[INFO] [stdout]   --> netsim/src/task.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     let task = Task::RefillBuckets(interface.clone());
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_task`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `netsim` (lib) due to 6 previous errors; 24 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `netsim` (lib test) due to 6 previous errors; 24 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "fee0ec131ca806dd78c56e5b3016673392ea979624428f85959dc2d7412f50c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fee0ec131ca806dd78c56e5b3016673392ea979624428f85959dc2d7412f50c2", kill_on_drop: false }`
[INFO] [stdout] fee0ec131ca806dd78c56e5b3016673392ea979624428f85959dc2d7412f50c2
