[INFO] cloning repository https://github.com/goodingc/ipn_sim
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/goodingc/ipn_sim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoodingc%2Fipn_sim", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoodingc%2Fipn_sim'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7d52e2513cadbbbe1bec390e99f6f98758c4c8b5
[INFO] testing goodingc/ipn_sim against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgoodingc%2Fipn_sim" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/goodingc/ipn_sim on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/goodingc/ipn_sim
[INFO] finished tweaking git repo https://github.com/goodingc/ipn_sim
[INFO] tweaked toml for git repo https://github.com/goodingc/ipn_sim written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/goodingc/ipn_sim 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.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/onelson/typescript-definitions`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded yew-router v0.15.0
[INFO] [stderr]   Downloaded yew-router-macro v0.15.0
[INFO] [stderr]   Downloaded yew-router-route-parser v0.15.0
[INFO] [stderr]   Downloaded collision v0.20.1
[INFO] [stderr]   Downloaded yew-macro v0.18.0
[INFO] [stderr]   Downloaded yew v0.18.0
[INFO] [stderr]   Downloaded upcast v0.1.0
[INFO] [stderr]   Downloaded axis-ticks v0.1.0
[INFO] [stderr]   Downloaded serde_derive_internals v0.24.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dc00530691a1c12634370116722df1020230aa8c6cb4cd7e0908e23e23a4284c
[INFO] running `Command { std: "docker" "start" "-a" "dc00530691a1c12634370116722df1020230aa8c6cb4cd7e0908e23e23a4284c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dc00530691a1c12634370116722df1020230aa8c6cb4cd7e0908e23e23a4284c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc00530691a1c12634370116722df1020230aa8c6cb4cd7e0908e23e23a4284c", kill_on_drop: false }`
[INFO] [stdout] dc00530691a1c12634370116722df1020230aa8c6cb4cd7e0908e23e23a4284c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f225b34b94a9cfc013fd8e135a9928b0860c562dcc0492de68b3a8ce16502749
[INFO] running `Command { std: "docker" "start" "-a" "f225b34b94a9cfc013fd8e135a9928b0860c562dcc0492de68b3a8ce16502749", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.27
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.73
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.127
[INFO] [stderr]    Compiling serde v1.0.127
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.75
[INFO] [stderr]    Compiling bumpalo v3.7.0
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling wasm-bindgen v0.2.75
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling cc v1.0.68
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling gimli v0.24.0
[INFO] [stderr]    Compiling cgmath v0.17.0
[INFO] [stderr]    Compiling object v0.25.3
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling anyhow v1.0.41
[INFO] [stderr]    Compiling rustc-demangle v0.1.20
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling backtrace v0.3.60
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling yew v0.18.0
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling anymap v0.12.1
[INFO] [stderr]    Compiling slab v0.4.3
[INFO] [stderr]    Compiling cfg-match v0.2.1
[INFO] [stderr]    Compiling http v0.2.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling smallvec v0.6.14
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling dyn-clone v1.0.4
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling fixedbitset v0.4.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling petgraph v0.6.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling axis-ticks v0.1.0
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling upcast v0.1.0
[INFO] [stderr]    Compiling addr2line v0.15.2
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]    Compiling serde_derive_internals v0.24.1
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.75
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.25
[INFO] [stderr]    Compiling yew-macro v0.18.0
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling dyn-clonable-impl v0.9.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.75
[INFO] [stderr]    Compiling yew-router-route-parser v0.15.0
[INFO] [stderr]    Compiling dyn-clonable v0.9.0
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.75
[INFO] [stderr]    Compiling yew-router-macro v0.15.0
[INFO] [stderr]    Compiling typescript-definitions-derive v0.1.10 (https://github.com/onelson/typescript-definitions?branch=no-debug-attrs#f21e330d)
[INFO] [stderr]    Compiling thiserror v1.0.25
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling typescript-definitions v0.1.10 (https://github.com/onelson/typescript-definitions?branch=no-debug-attrs#f21e330d)
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling js-sys v0.3.52
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.6
[INFO] [stderr]    Compiling collision v0.20.1
[INFO] [stderr]    Compiling ipn_sim_lib v0.1.0 (/opt/rustwide/workdir/ipn_sim_lib)
[INFO] [stdout] warning: unused imports: `Hash`, `Hasher`
[INFO] [stdout]  --> ipn_sim_lib/src/binary_serde.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                 ^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicUsize`, `Ordering`
[INFO] [stdout]  --> ipn_sim_lib/src/binary_serde.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> ipn_sim_lib/src/binary_serde.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> ipn_sim_lib/src/binary_serde.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> ipn_sim_lib/src/binary_serde.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> ipn_sim_lib/src/binary_serde.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustc_hash::FxHasher`
[INFO] [stdout]   --> ipn_sim_lib/src/binary_serde.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rustc_hash::FxHasher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> ipn_sim_lib/src/body.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> ipn_sim_lib/src/event.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/events/awake_router_event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_lib/src/events/awake_router_event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/events/create_message_event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_lib/src/events/create_message_event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> ipn_sim_lib/src/events/create_message_event.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/events/receive_data_event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_lib/src/events/receive_data_event.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `NodeId`
[INFO] [stdout]  --> ipn_sim_lib/src/events/router_event.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::utils::{Data, MessageId, NodeId, TimeMetric};
[INFO] [stdout]   |                    ^^^^             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/events/router_event.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/events/transmit_end_event.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/events/transmit_start_event.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::utils;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Data`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::utils::{Data, NodeId, TimeMetric};
[INFO] [stdout]    |                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::forget`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::mem::forget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/ipn_sim/ipn_sim_builder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::node::message_buffer::MessageBuffer`
[INFO] [stdout]  --> ipn_sim_lib/src/ipn_sim/ipn_sim_builder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::node::message_buffer::MessageBuffer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::router::Router`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim_builder.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::router::Router;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::transceiver::transceiver::Transceiver`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim_builder.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::transceiver::transceiver::Transceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> ipn_sim_lib/src/movement.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/movements/orbital_movement.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> ipn_sim_lib/src/node/node.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> ipn_sim_lib/src/node/message_buffer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::Shared`
[INFO] [stdout]  --> ipn_sim_lib/src/report.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::Shared;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `router_event`
[INFO] [stdout]  --> ipn_sim_lib/src/router_link.rs:2:67
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::events::{router_event::{RouterEvent, RouterEventType}, router_event};
[INFO] [stdout]   |                                                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_lib/src/router_link.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> ipn_sim_lib/src/routers/epidemic/epidemic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FxHasher`
[INFO] [stdout]   --> ipn_sim_lib/src/routers/epidemic/epidemic.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rustc_hash::{FxHashMap, FxHasher};
[INFO] [stdout]    |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::router_link::RouterLink`
[INFO] [stdout]  --> ipn_sim_lib/src/routers/test_router.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::router_link::RouterLink;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::Data`
[INFO] [stdout]  --> ipn_sim_lib/src/routers/test_router.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]   --> ipn_sim_lib/src/routers/source_spray_and_wait/source_spray_and_wait.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::utils::{Data, log, MessageId, NodeId, TimeMetric};
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::routers::source_spray_and_wait::message::Message`
[INFO] [stdout]  --> ipn_sim_lib/src/routers/source_spray_and_wait/packet.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::routers::source_spray_and_wait::message::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::schedule::time_slot::TimeSlot`
[INFO] [stdout]  --> ipn_sim_lib/src/schedule/schedule.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::schedule::time_slot::TimeSlot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> ipn_sim_lib/src/schedule/schedule.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> ipn_sim_lib/src/schedule/schedule.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]  --> ipn_sim_lib/src/utils.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use bit_vec::BitVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> ipn_sim_lib/src/utils.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling web-sys v0.3.52
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.24
[INFO] [stdout] warning: unused import: `crate::router::Router`
[INFO] [stdout]   --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::router::Router;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]   --> ipn_sim_lib/src/router.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |         destination: MessageDestination<NodeId>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destination`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload`
[INFO] [stdout]   --> ipn_sim_lib/src/router.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         payload: Data,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ttl`
[INFO] [stdout]   --> ipn_sim_lib/src/router.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         ttl: Option<TimeMetric>,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ttl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `link`
[INFO] [stdout]   --> ipn_sim_lib/src/router.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn on_awake(&mut self, link: &mut RouterLink) {}
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_link`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_id_hash`
[INFO] [stdout]    --> ipn_sim_lib/src/routers/epidemic/flavours/ack.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn on_ttl_evict(&mut self, message_id_hash: usize) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_id_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> ipn_sim_lib/src/ipn_sim/ipn_sim.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 |         self.reports.take().map(|mut reports| {
[INFO] [stdout]     |                                  ----^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> ipn_sim_lib/src/routers/epidemic/epidemic.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         mut summary_vector: BitVec,
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 55 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ipn_sim_bin v0.1.0 (/opt/rustwide/workdir/ipn_sim_bin)
[INFO] [stdout] warning: unused imports: `File`, `OpenOptions`
[INFO] [stdout]  --> ipn_sim_bin/src/main.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::transceiver::transceiver::Transceiver`
[INFO] [stdout]   --> ipn_sim_bin/src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ipn_sim_lib::transceiver::transceiver::Transceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Data`
[INFO] [stdout]   --> ipn_sim_bin/src/main.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ipn_sim_lib::utils::{Data, NodeId, SpaceMetric, TimeMetric};
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::router_log_report::RouterLogReport`
[INFO] [stdout]   --> ipn_sim_bin/src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::router_log_report::RouterLogReport;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> ipn_sim_bin/src/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     for i in 0..400 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gloo-events v0.1.1
[INFO] [stderr]    Compiling gloo-timers v0.2.1
[INFO] [stderr]    Compiling gloo-console-timer v0.1.0
[INFO] [stderr]    Compiling gloo-file v0.1.0
[INFO] [stderr]    Compiling gloo v0.2.1
[INFO] [stderr]    Compiling graph_layout v0.1.0 (/opt/rustwide/workdir/graph_layout)
[INFO] [stderr]    Compiling yew-router v0.15.0
[INFO] [stdout] warning: unused imports: `Shared`, `shared`
[INFO] [stdout]  --> graph_layout/src/graph_layout.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{Shared, shared};
[INFO] [stdout]   |             ^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Basis2`, `Rad`, `Rotation2`, `Rotation`
[INFO] [stdout]  --> graph_layout/src/graph_layout.rs:3:78
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cgmath::{Point2, EuclideanSpace, Vector2, Zero, MetricSpace, InnerSpace, Rad, Basis2, Rotation2, Rotation};
[INFO] [stdout]   |                                                                              ^^^  ^^^^^^  ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> graph_layout/src/graph_layout.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> graph_layout/src/graph_layout.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`
[INFO] [stdout]  --> graph_layout/src/graph_layout.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashSet, HashMap};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> graph_layout/src/graph_layout.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefaultIx`
[INFO] [stdout]   --> graph_layout/src/graph_layout.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use petgraph::graph::{NodeIndex, DefaultIx};
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ipn_sim_reports v0.1.0 (/opt/rustwide/workdir/ipn_sim_reports)
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/message_states.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `upcast::Upcast`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/message_states.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use upcast::Upcast;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/message_buffer_occupancy.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shared`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/message_buffer_occupancy.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ipn_sim_lib::utils::{Shared, TimeMetric};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/send_deliver_ratio.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Shared`, `log`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/send_deliver_ratio.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ipn_sim_lib::utils::{log, Shared, TimeMetric};
[INFO] [stdout]   |                          ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::reports::message_states::MessageStates`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/send_deliver_ratio.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::reports::message_states::MessageStates;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/message_flight_time.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shared`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/message_flight_time.rs:10:45
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ipn_sim_lib::utils::{MessageId, NodeId, Shared, TimeMetric};
[INFO] [stdout]    |                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::event::Event`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/node_positions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ipn_sim_lib::event::Event;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> ipn_sim_reports/src/reports/single_message_graph.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sim_time`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/node_positions.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn render_graph(&self, width: u16, height: u16, sim_time: TimeMetric) -> Html {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sim_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_node`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/messages.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 |                         source_node,
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: try ignoring the field: `source_node: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_node`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/messages.rs:69:29
[INFO] [stdout]    |
[INFO] [stdout] 69 |                         id, source_node,
[INFO] [stdout]    |                             ^^^^^^^^^^^ help: try ignoring the field: `source_node: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_layout`
[INFO] [stdout]   --> ipn_sim_reports/src/reports/single_message_graph.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut graph_layout = GraphLayout::new(Graph::new(), 20., 0.1, 0.3, 1.8);
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_layout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_y`
[INFO] [stdout]   --> ipn_sim_reports/src/utils/paths.rs:42:37
[INFO] [stdout]    |
[INFO] [stdout] 42 |             .map_or(true, |(last_x, last_y)| (x - *last_x) > 1.);
[INFO] [stdout]    |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> ipn_sim_reports/src/reports/single_message_graph.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let mut graph_layout = GraphLayout::new(Graph::new(), 20., 0.1, 0.3, 1.8);
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> ipn_sim_reports/src/value_logger.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut should_log = if self.history.len() < 2 {
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sent_time` is never read
[INFO] [stdout]   --> ipn_sim_reports/src/reports/message_states.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct MessageInFlight {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] 31 |     sent_time: TimeMetric,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MessageInFlight` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling router_zoo v0.1.0 (/opt/rustwide/workdir/router_zoo)
[INFO] [stderr]    Compiling ipn_sim_web_app v0.1.0 (/opt/rustwide/workdir/ipn_sim_web_app)
[INFO] [stderr]    Compiling ipn_sim_profiler v0.1.0 (/opt/rustwide/workdir/ipn_sim_profiler)
[INFO] [stderr]    Compiling interactive_web_app v0.1.0 (/opt/rustwide/workdir/graph_layout/examples/interactive_web_app)
[INFO] [stdout] warning: unused import: `crate::profiler_report::ProfilerReport`
[INFO] [stdout]  --> ipn_sim_profiler/src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::profiler_report::ProfilerReport;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `OpenOptions`
[INFO] [stdout]  --> ipn_sim_profiler/src/factories.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::epidemic::epidemic::Epidemic`
[INFO] [stdout]   --> ipn_sim_profiler/src/factories.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ipn_sim_lib::routers::epidemic::epidemic::Epidemic;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::transceiver::transceiver::Transceiver`
[INFO] [stdout]   --> ipn_sim_profiler/src/factories.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ipn_sim_lib::transceiver::transceiver::Transceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Data`
[INFO] [stdout]   --> ipn_sim_profiler/src/factories.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ipn_sim_lib::utils::{Data, NodeId, SpaceMetric, TimeMetric};
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_profiler/src/profiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_profiler/src/profiler.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeMetric`
[INFO] [stdout]  --> ipn_sim_profiler/src/profiler.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ipn_sim_lib::utils::{Shared, shared, TimeMetric};
[INFO] [stdout]   |                                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_profiler/src/profiler_report.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_profiler/src/profiler_report.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shared`
[INFO] [stdout]  --> ipn_sim_profiler/src/profiler_report.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ipn_sim_lib::utils::{Shared, TimeMetric};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> ipn_sim_profiler/src/factories.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     for i in 0..400 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> ipn_sim_profiler/src/factories.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     for i in 0..400 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interval::IntervalTask`
[INFO] [stdout]  --> graph_layout/examples/interactive_web_app/src/lib.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use yew::services::{*, interval::IntervalTask};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> graph_layout/examples/interactive_web_app/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]  --> graph_layout/examples/interactive_web_app/src/lib.rs:8:58
[INFO] [stdout]   |
[INFO] [stdout] 8 | use graph_layout::cgmath::{Point2, Vector2, MetricSpace, Zero, InnerSpace, EuclideanSpace};
[INFO] [stdout]   |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph_layout::Shared`
[INFO] [stdout]  --> graph_layout/examples/interactive_web_app/src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graph_layout::Shared;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RouterPage`
[INFO] [stdout]  --> router_zoo/src/components/app.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::components::router_page::{RouterPage, router_page_from_key};
[INFO] [stdout]   |                                      ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> router_zoo/src/components/app.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> router_zoo/src/components/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> router_zoo/src/components/nav_menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> router_zoo/src/components/nav_menu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> router_zoo/src/components/nav_menu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> router_zoo/src/components/router_page.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::router_details::ack_epidemic::AckEpidemic`
[INFO] [stdout]  --> router_zoo/src/components/router_page.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::router_details::ack_epidemic::AckEpidemic;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> router_zoo/src/components/scenario_grid.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> router_zoo/src/components/scenario_grid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConsoleService`, `IntervalService`
[INFO] [stdout]  --> router_zoo/src/components/scenario_grid.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use yew::services::{ConsoleService, IntervalService, RenderService};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `yew::services::interval::IntervalTask`
[INFO] [stdout]  --> router_zoo/src/components/scenario_grid.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use yew::services::interval::IntervalTask;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::epidemic::epidemic::Epidemic`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ipn_sim_lib::routers::epidemic::epidemic::Epidemic;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::epidemic::flavours::ack::Ack`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ipn_sim_lib::routers::epidemic::flavours::ack::Ack;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::utils::log`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ipn_sim_lib::utils::log;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RouterParamType`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::router_details::{RouterDetails, RouterParamType};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> router_zoo/src/components/router_params_editor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ScenarioGridMessage`, `ScenarioGrid`
[INFO] [stdout]  --> router_zoo/src/components/router_params_editor.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::components::scenario_grid::{ScenarioGrid, ScenarioGridMessage};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::epidemic::epidemic::Epidemic`
[INFO] [stdout]   --> router_zoo/src/scenario.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ipn_sim_lib::routers::epidemic::epidemic::Epidemic;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::epidemic::flavours::ack::Ack`
[INFO] [stdout]   --> router_zoo/src/scenario.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ipn_sim_lib::routers::epidemic::flavours::ack::Ack;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::transceiver::transceiver::Transceiver`
[INFO] [stdout]   --> router_zoo/src/scenario.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ipn_sim_lib::transceiver::transceiver::Transceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BTreeMap`
[INFO] [stdout]  --> router_zoo/src/scenario_grid_wrapper.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{BTreeMap, BinaryHeap};
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `yew::prelude::*`
[INFO] [stdout]   --> router_zoo/src/scenario_grid_wrapper.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use yew::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::router::Router`
[INFO] [stdout]  --> router_zoo/src/router_details/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ipn_sim_lib::router::Router;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules
[INFO] [stdout]   --> graph_layout/examples/interactive_web_app/src/lib.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Vertex: std::default::Default` is not satisfied
[INFO] [stdout]     --> graph_layout/examples/interactive_web_app/src/lib.rs:83:13
[INFO] [stdout]      |
[INFO] [stdout] 83   |             Graph::from_edges(&edges),
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `Vertex`
[INFO] [stdout]      |
[INFO] [stdout] note: required by a bound in `Graph::<N, E, Ty, Ix>::from_edges`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/petgraph-0.6.0/src/graph_impl/mod.rs:1308:12
[INFO] [stdout]      |
[INFO] [stdout] 1308 |         N: Default,
[INFO] [stdout]      |            ^^^^^^^ required by this bound in `Graph::<N, E, Ty, Ix>::from_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `interactive_web_app` due to 2 previous errors; 5 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> router_zoo/src/components/app.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn update(&mut self, msg: Self::Message) -> ShouldRender {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `props`
[INFO] [stdout]   --> router_zoo/src/components/router_page.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_props`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> router_zoo/src/components/router_page.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn update(&mut self, msg: Self::Message) -> ShouldRender {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `props`
[INFO] [stdout]   --> router_zoo/src/components/router_page.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn change(&mut self, props: Self::Properties) -> ShouldRender {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_props`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `props`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn create(props: Self::Properties, link: ComponentLink<Self>) -> Self {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_props`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timestamp`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |             Self::Message::Tick(timestamp) => {
[INFO] [stdout]    |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timestamp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `props`
[INFO] [stdout]   --> router_zoo/src/components/scenario_grid.rs:75:26
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn change(&mut self, props: Self::Properties) -> ShouldRender {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_props`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> router_zoo/src/scenario.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |                     for i in 0..400 {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> router_zoo/src/scenario.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |                     for i in 0..400 {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> router_zoo/src/scenario.rs:198:25
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     for i in 0..400 {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `link` is never read
[INFO] [stdout]   --> router_zoo/src/components/app.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct App {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 10 |     link: ComponentLink<Self>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_HEIGHTS` is never used
[INFO] [stdout]   --> router_zoo/src/components/nav_menu.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const HEADER_HEIGHTS: [u8; 4] = [48, 38, 33, 28];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `link` is never read
[INFO] [stdout]   --> router_zoo/src/components/router_page.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct RouterPage<R: Router + RouterDetails + Clone + 'static> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 11 |     link: ComponentLink<Self>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/app.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JsCast`, `JsValue`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/app.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::{JsCast, JsValue};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::bit_vec::BitVec`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/data/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ipn_sim_lib::bit_vec::BitVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/data/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ascii;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::char::decode_utf16`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/data/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::char::decode_utf16;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/events_tab.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/graph.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/graph.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Num`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/graph.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num_traits::Num;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sim_wrapper::sim_wrapper::SimWrapper`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::sim_wrapper::sim_wrapper::SimWrapper;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::format_time::format_time`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::format_time::format_time;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::utils::WrapperProps`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::utils::WrapperProps;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/nodes_tab.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::event_html::event_html::EventHtml`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/nodes_tab.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::event_html::event_html::EventHtml;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sim_wrapper::sim_wrapper::SimWrapper`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/nodes_tab.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::sim_wrapper::sim_wrapper::SimWrapper;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `format_time::format_time`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/nodes_tab.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::utils::{format_time::format_time, WrapperProps};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/nodes_tab.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::iter;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event_to_html`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/router_log_tab.rs:5:48
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::event_html::{event_html::EventHtml, event_to_html};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph_report::GraphReport`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/stats_tab.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     graph_report::GraphReport,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/components/messages_tab.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::node::node::Node`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/messages_tab.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ipn_sim_lib::node::node::Node;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `yew::services::ConsoleService`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/messages_tab.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use yew::services::ConsoleService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> ipn_sim_web_app/src/event_html/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RouterEventType`
[INFO] [stdout]   --> ipn_sim_web_app/src/event_html/mod.rs:10:54
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ipn_sim_lib::events::router_event::{RouterEvent, RouterEventType};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::data::Data`
[INFO] [stdout]   --> ipn_sim_web_app/src/event_html/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::data::Data;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> ipn_sim_web_app/src/event_html/router_event.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::data::Data`
[INFO] [stdout]  --> ipn_sim_web_app/src/event_html/router_event.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::data::Data;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/factories.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::ipn_sim::ipn_sim::IpnSim`
[INFO] [stdout]  --> ipn_sim_web_app/src/factories.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ipn_sim_lib::ipn_sim::ipn_sim::IpnSim;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::movements::path_movement::PathMovement`
[INFO] [stdout]  --> ipn_sim_web_app/src/factories.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ipn_sim_lib::movements::path_movement::PathMovement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `epidemic`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ipn_sim_lib::routers::{epidemic, epidemic_2};
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `vanilla::Vanilla`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:14:48
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ipn_sim_lib::routers::epidemic::flavours::{vanilla::Vanilla, ack::Ack as AckFlavour};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::source_spray_and_wait::source_spray_and_wait::SourceSprayAndWait`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ipn_sim_lib::routers::source_spray_and_wait::source_spray_and_wait::SourceSprayAndWait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::source_spray_and_wait_2::source_spray_and_wait_2::SourceSprayAndWait2`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ipn_sim_lib::routers::source_spray_and_wait_2::source_spray_and_wait_2::SourceSprayAndWait2;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::routers::test_router::TestRouter`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use ipn_sim_lib::routers::test_router::TestRouter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::transceiver::transceiver::Transceiver`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ipn_sim_lib::transceiver::transceiver::Transceiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Data`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ipn_sim_lib::utils::{Data, NodeId, SpaceMetric, TimeMetric};
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::utils`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/interval_event.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ipn_sim_lib::utils;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/setup_data.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/setup_data.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/setup_data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::cgmath::Point3`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/setup_data.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ipn_sim_lib::cgmath::Point3;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpaceMetric`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/setup_data.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ipn_sim_lib::utils::{SpaceMetric, Shared};
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Discrete`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use collision::{Continuous, Discrete, Ray, Sphere};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:8:60
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ipn_sim_lib::cgmath::{InnerSpace, MetricSpace, Point3, Vector3};
[INFO] [stdout]   |                                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::report::Report`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ipn_sim_lib::report::Report;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ipn_sim_lib::utils::{log, Shared, shared, SpaceMetric, TimeMetric};
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sim_wrapper::value_logger::ValueLogger`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::sim_wrapper::value_logger::ValueLogger;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/tick_data.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/tick_data.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/tick_data.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeId`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/tick_data.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ipn_sim_lib::utils::{NodeId, TimeMetric, Shared};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::downcast_rs::__std::cmp::Ordering`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/value_logger.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ipn_sim_lib::downcast_rs::__std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::Any;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageId`, `Shared`, `shared`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ipn_sim_lib::utils::{MessageId, NodeId, TimeMetric, shared, Shared};
[INFO] [stdout]    |                          ^^^^^^^^^                      ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::events::create_message_event::CreateMessageEvent`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ipn_sim_lib::events::create_message_event::CreateMessageEvent;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ipn_sim_lib::node::node::Node`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ipn_sim_lib::node::node::Node;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::iter;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> ipn_sim_web_app/src/utils/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> ipn_sim_web_app/src/utils/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:53:26
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn update(&mut self, msg: Self::Message) -> ShouldRender {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_render`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:77:28
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn rendered(&mut self, first_render: bool) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_render`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/router_log_tab.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn update(&mut self, msg: Self::Message) -> ShouldRender {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/stats_tab.rs:30:26
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn update(&mut self, msg: Self::Message) -> ShouldRender {
[INFO] [stdout]    |                          ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `web_app_report`
[INFO] [stdout]   --> ipn_sim_web_app/src/components/stats_tab.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let web_app_report = wrapper.web_app_report.borrow();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_web_app_report`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> ipn_sim_web_app/src/factories.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for i in 0..400 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> ipn_sim_web_app/src/factories.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     for i in 0..400 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> ipn_sim_web_app/src/factories.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     for i in 0..400 {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 | ...                   id,
[INFO] [stdout]    |                       ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destination`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:63:33
[INFO] [stdout]    |
[INFO] [stdout] 63 | ...                   destination,
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: try ignoring the field: `destination: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ttl`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:64:33
[INFO] [stdout]    |
[INFO] [stdout] 64 | ...                   ttl,
[INFO] [stdout]    |                       ^^^ help: try ignoring the field: `ttl: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:95:65
[INFO] [stdout]    |
[INFO] [stdout] 95 | ...                   RouterEventType::MessageDelivered { id, .. } => {
[INFO] [stdout]    |                                                           ^^-
[INFO] [stdout]    |                                                           |
[INFO] [stdout]    |                                                           help: try removing the field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/sim_wrapper.rs:43:16
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn new(mut sim_builder: IpnSimBuilder, interval: TimeMetric) -> Self {
[INFO] [stdout]    |                ----^^^^^^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `link` is never read
[INFO] [stdout]   --> ipn_sim_web_app/src/components/data/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Data {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 13 |     link: ComponentLink<Self>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEFT_MARGIN` is never used
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const LEFT_MARGIN: u16 = 30;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RIGHT_MARGIN` is never used
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const RIGHT_MARGIN: u16 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOP_MARGIN` is never used
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const TOP_MARGIN: u16 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOTTOM_MARGIN` is never used
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BOTTOM_MARGIN: u16 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HORIZONTAL_TICK_SPACING` is never used
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const HORIZONTAL_TICK_SPACING: u16 = 30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VERTICAL_TICK_SPACING` is never used
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const VERTICAL_TICK_SPACING: u16 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `link` and `expanded` are never read
[INFO] [stdout]   --> ipn_sim_web_app/src/components/graph.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Graph<G: GraphReport + Clone + 'static> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 25 |     link: ComponentLink<Self>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     expanded: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `link` is never read
[INFO] [stdout]  --> ipn_sim_web_app/src/components/router_log_tab.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RouterLogTab {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 9 |     link: ComponentLink<Self>,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `link` is never read
[INFO] [stdout]   --> ipn_sim_web_app/src/components/stats_tab.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct StatsTab {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 18 |     link: ComponentLink<Self>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sent_time`, `alive`, `remaining_destination_ids`, and `ttl` are never read
[INFO] [stdout]   --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct MessageInFlight {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 27 |     sent_time: TimeMetric,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 28 |     alive: bool,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 29 |     remaining_destination_ids: HashSet<NodeId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     ttl: Option<TimeMetric>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_std_dev` is never used
[INFO] [stdout]    --> ipn_sim_web_app/src/sim_wrapper/web_app_report.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn mean_std_dev(values: &Vec<f32>) -> (f32, f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 89 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f225b34b94a9cfc013fd8e135a9928b0860c562dcc0492de68b3a8ce16502749", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f225b34b94a9cfc013fd8e135a9928b0860c562dcc0492de68b3a8ce16502749", kill_on_drop: false }`
[INFO] [stdout] f225b34b94a9cfc013fd8e135a9928b0860c562dcc0492de68b3a8ce16502749
