[INFO] crate mech-program 0.0.4 is already in cache
[INFO] checking mech-program-0.0.4 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate mech-program 0.0.4 into /workspace/builds/worker-3/source
[INFO] validating manifest of crates.io crate mech-program 0.0.4 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate mech-program 0.0.4
[INFO] finished tweaking crates.io crate mech-program 0.0.4
[INFO] tweaked toml for crates.io crate mech-program 0.0.4 written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate crates.io crate mech-program 0.0.4 already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] f571972f439ab438476add8419ee699935fdc04415b1e36c4cbd657a31114eeb
[INFO] running `"docker" "start" "-a" "f571972f439ab438476add8419ee699935fdc04415b1e36c4cbd657a31114eeb"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling serde v1.0.105
[INFO] [stderr]    Compiling proc-macro-hack v0.5.14
[INFO] [stderr]    Compiling hashbrown v0.7.1
[INFO] [stderr]     Checking flate2 v1.0.14
[INFO] [stderr]     Checking cookie v0.12.0
[INFO] [stderr]     Checking openssl v0.10.28
[INFO] [stderr]     Checking publicsuffix v1.5.4
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]    Compiling const-random-macro v0.1.8
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking const-random v0.1.8
[INFO] [stderr]     Checking ahash v0.3.2
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking hyper v0.12.35
[INFO] [stderr]     Checking native-tls v0.2.4
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.105
[INFO] [stderr]    Compiling failure_derive v0.1.7
[INFO] [stderr]     Checking hyper-tls v0.3.2
[INFO] [stderr]     Checking failure v0.1.7
[INFO] [stderr]     Checking serde_json v1.0.50
[INFO] [stderr]     Checking mech-core v0.0.4
[INFO] [stderr]     Checking serde_urlencoded v0.5.5
[INFO] [stderr]     Checking bincode v0.8.0
[INFO] [stderr]     Checking mech-utilities v0.0.4
[INFO] [stderr]     Checking mech-syntax v0.0.4
[INFO] [stderr]     Checking cookie_store v0.7.0
[INFO] [stderr]     Checking reqwest v0.9.24
[INFO] [stderr]     Checking mech-program v0.0.4 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Change`, `Core`, `Interner`, `Transaction`
[INFO] [stderr]   --> src/lib.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 21 | use mech_core::{Core, Change, Transaction, Interner};
[INFO] [stderr]    |                 ^^^^  ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mech_core::Value`
[INFO] [stderr]   --> src/lib.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use mech_core::Value;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Hasher`, `TableIndex`
[INFO] [stderr]   --> src/lib.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 | use mech_core::{TableIndex, Hasher};
[INFO] [stderr]    |                 ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Block`, `Constraint`
[INFO] [stderr]   --> src/lib.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 | use mech_core::{Block, Constraint};
[INFO] [stderr]    |                 ^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SendError`
[INFO] [stderr]  --> src/program.rs:7:41
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::mpsc::{Sender, Receiver, SendError};
[INFO] [stderr]   |                                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BTreeMap`, `Bound`
[INFO] [stderr]   --> src/program.rs:10:42
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::{HashMap, HashSet, Bound, BTreeMap};
[INFO] [stderr]    |                                          ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stderr]   --> src/program.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::hash_map::Entry;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `canonicalize`
[INFO] [stderr]   --> src/program.rs:13:34
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::fs::{OpenOptions, File, canonicalize, create_dir};
[INFO] [stderr]    |                                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/program.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TableIndex`
[INFO] [stderr]   --> src/program.rs:20:24
[INFO] [stderr]    |
[INFO] [stderr] 20 | use mech_core::{Table, TableIndex, Hasher, TableId};
[INFO] [stderr]    |                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program.rs:34:34
[INFO] [stderr]    |
[INFO] [stderr] 34 |   pub watchers: HashMap<u64, Box<Watcher + Send>>,
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Watcher + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program.rs:274:66
[INFO] [stderr]     |
[INFO] [stderr] 274 |   pub fn load_program(&mut self, input: String) -> Result<(),Box<std::error::Error>> {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program.rs:286:85
[INFO] [stderr]     |
[INFO] [stderr] 286 |           fn download_mism(name: &str, path: &str, ver: &str) -> Result<Library,Box<std::error::Error>> {
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program.rs:326:48
[INFO] [stderr]     |
[INFO] [stderr] 326 |   pub fn attach_watcher(&mut self, watcher:Box<Watcher + Send>) {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Watcher + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `info`
[INFO] [stderr]    --> src/program.rs:207:13
[INFO] [stderr]     |
[INFO] [stderr] 207 |         Err(info) => {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `watcher`
[INFO] [stderr]    --> src/program.rs:326:36
[INFO] [stderr]     |
[INFO] [stderr] 326 |   pub fn attach_watcher(&mut self, watcher:Box<Watcher + Send>) {
[INFO] [stderr]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_watcher`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta_changes`
[INFO] [stderr]    --> src/program.rs:353:17
[INFO] [stderr]     |
[INFO] [stderr] 353 |             let delta_changes = program.mech.store.len() - pre_changes;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_changes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time`
[INFO] [stderr]    --> src/program.rs:355:17
[INFO] [stderr]     |
[INFO] [stderr] 355 |             let time = (end_ns - start_ns) as f64;              
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_count`
[INFO] [stderr]    --> src/program.rs:418:17
[INFO] [stderr]     |
[INFO] [stderr] 418 |             let block_count = program.mech.runtime.blocks.len();
[INFO] [stderr]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/program.rs:339:9
[INFO] [stderr]     |
[INFO] [stderr] 339 |     let name = self.name;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/program.rs:249:9
[INFO] [stderr]     |
[INFO] [stderr] 249 |     let mut program = Program::new(name, capacity);
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/program.rs:312:17
[INFO] [stderr]     |
[INFO] [stderr] 312 |             let mut s = format!("{}\0", fun_name.replace("/","_"));
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `capacity`
[INFO] [stderr]   --> src/program.rs:35:3
[INFO] [stderr]    |
[INFO] [stderr] 35 |   capacity: usize,
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the feature `extern_prelude` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/lib.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | #![feature(extern_prelude)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/program.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     self.outgoing.send(RunLoopMessage::Transaction(txn));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/program.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 86 |     self.outgoing.send(RunLoopMessage::Transaction(txn));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |             create_dir("misms");
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:374:15
[INFO] [stderr]     |
[INFO] [stderr] 374 |               client_outgoing.send(ClientMessage::Transaction(txn));
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:384:13
[INFO] [stderr]     |
[INFO] [stderr] 384 |             client_outgoing.send(ClientMessage::Done);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:387:13
[INFO] [stderr]     |
[INFO] [stderr] 387 |             client_outgoing.send(ClientMessage::Stop);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:395:13
[INFO] [stderr]     |
[INFO] [stderr] 395 |             client_outgoing.send(table_msg);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:399:13
[INFO] [stderr]     |
[INFO] [stderr] 399 |             client_outgoing.send(ClientMessage::Pause);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:404:13
[INFO] [stderr]     |
[INFO] [stderr] 404 |             client_outgoing.send(ClientMessage::Resume);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:411:13
[INFO] [stderr]     |
[INFO] [stderr] 411 |             client_outgoing.send(ClientMessage::Time(program.mech.offset));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:415:13
[INFO] [stderr]     |
[INFO] [stderr] 415 |             client_outgoing.send(ClientMessage::Time(program.mech.offset));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:420:13
[INFO] [stderr]     |
[INFO] [stderr] 420 |             client_outgoing.send(ClientMessage::Done);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:424:13
[INFO] [stderr]     |
[INFO] [stderr] 424 |             client_outgoing.send(ClientMessage::Clear);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:427:13
[INFO] [stderr]     |
[INFO] [stderr] 427 |             client_outgoing.send(ClientMessage::String(format!("{:?}",program.mech)));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:430:13
[INFO] [stderr]     |
[INFO] [stderr] 430 |             client_outgoing.send(ClientMessage::String(format!("{:?}",program.mech.runtime)));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:437:9
[INFO] [stderr]     |
[INFO] [stderr] 437 |         channel.send(PersisterMessage::Stop);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Change`, `Core`, `Interner`, `Transaction`
[INFO] [stderr]   --> src/lib.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 21 | use mech_core::{Core, Change, Transaction, Interner};
[INFO] [stderr]    |                 ^^^^  ^^^^^^  ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mech_core::Value`
[INFO] [stderr]   --> src/lib.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use mech_core::Value;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Hasher`, `TableIndex`
[INFO] [stderr]   --> src/lib.rs:23:17
[INFO] [stderr]    |
[INFO] [stderr] 23 | use mech_core::{TableIndex, Hasher};
[INFO] [stderr]    |                 ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Block`, `Constraint`
[INFO] [stderr]   --> src/lib.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 | use mech_core::{Block, Constraint};
[INFO] [stderr]    |                 ^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SendError`
[INFO] [stderr]  --> src/program.rs:7:41
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::sync::mpsc::{Sender, Receiver, SendError};
[INFO] [stderr]   |                                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BTreeMap`, `Bound`
[INFO] [stderr]   --> src/program.rs:10:42
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::collections::{HashMap, HashSet, Bound, BTreeMap};
[INFO] [stderr]    |                                          ^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stderr]   --> src/program.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::hash_map::Entry;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `canonicalize`
[INFO] [stderr]   --> src/program.rs:13:34
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::fs::{OpenOptions, File, canonicalize, create_dir};
[INFO] [stderr]    |                                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/program.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TableIndex`
[INFO] [stderr]   --> src/program.rs:20:24
[INFO] [stderr]    |
[INFO] [stderr] 20 | use mech_core::{Table, TableIndex, Hasher, TableId};
[INFO] [stderr]    |                        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/program.rs:34:34
[INFO] [stderr]    |
[INFO] [stderr] 34 |   pub watchers: HashMap<u64, Box<Watcher + Send>>,
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Watcher + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program.rs:274:66
[INFO] [stderr]     |
[INFO] [stderr] 274 |   pub fn load_program(&mut self, input: String) -> Result<(),Box<std::error::Error>> {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program.rs:286:85
[INFO] [stderr]     |
[INFO] [stderr] 286 |           fn download_mism(name: &str, path: &str, ver: &str) -> Result<Library,Box<std::error::Error>> {
[INFO] [stderr]     |                                                                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/program.rs:326:48
[INFO] [stderr]     |
[INFO] [stderr] 326 |   pub fn attach_watcher(&mut self, watcher:Box<Watcher + Send>) {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn Watcher + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `info`
[INFO] [stderr]    --> src/program.rs:207:13
[INFO] [stderr]     |
[INFO] [stderr] 207 |         Err(info) => {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `watcher`
[INFO] [stderr]    --> src/program.rs:326:36
[INFO] [stderr]     |
[INFO] [stderr] 326 |   pub fn attach_watcher(&mut self, watcher:Box<Watcher + Send>) {
[INFO] [stderr]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_watcher`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta_changes`
[INFO] [stderr]    --> src/program.rs:353:17
[INFO] [stderr]     |
[INFO] [stderr] 353 |             let delta_changes = program.mech.store.len() - pre_changes;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_changes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time`
[INFO] [stderr]    --> src/program.rs:355:17
[INFO] [stderr]     |
[INFO] [stderr] 355 |             let time = (end_ns - start_ns) as f64;              
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_count`
[INFO] [stderr]    --> src/program.rs:418:17
[INFO] [stderr]     |
[INFO] [stderr] 418 |             let block_count = program.mech.runtime.blocks.len();
[INFO] [stderr]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_count`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/program.rs:339:9
[INFO] [stderr]     |
[INFO] [stderr] 339 |     let name = self.name;
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/program.rs:249:9
[INFO] [stderr]     |
[INFO] [stderr] 249 |     let mut program = Program::new(name, capacity);
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/program.rs:312:17
[INFO] [stderr]     |
[INFO] [stderr] 312 |             let mut s = format!("{}\0", fun_name.replace("/","_"));
[INFO] [stderr]     |                 ----^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `capacity`
[INFO] [stderr]   --> src/program.rs:35:3
[INFO] [stderr]    |
[INFO] [stderr] 35 |   capacity: usize,
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the feature `extern_prelude` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stderr]  --> src/lib.rs:4:12
[INFO] [stderr]   |
[INFO] [stderr] 4 | #![feature(extern_prelude)]
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/program.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     self.outgoing.send(RunLoopMessage::Transaction(txn));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/program.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 86 |     self.outgoing.send(RunLoopMessage::Transaction(txn));
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |             create_dir("misms");
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:374:15
[INFO] [stderr]     |
[INFO] [stderr] 374 |               client_outgoing.send(ClientMessage::Transaction(txn));
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:384:13
[INFO] [stderr]     |
[INFO] [stderr] 384 |             client_outgoing.send(ClientMessage::Done);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:387:13
[INFO] [stderr]     |
[INFO] [stderr] 387 |             client_outgoing.send(ClientMessage::Stop);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:395:13
[INFO] [stderr]     |
[INFO] [stderr] 395 |             client_outgoing.send(table_msg);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:399:13
[INFO] [stderr]     |
[INFO] [stderr] 399 |             client_outgoing.send(ClientMessage::Pause);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:404:13
[INFO] [stderr]     |
[INFO] [stderr] 404 |             client_outgoing.send(ClientMessage::Resume);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:411:13
[INFO] [stderr]     |
[INFO] [stderr] 411 |             client_outgoing.send(ClientMessage::Time(program.mech.offset));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:415:13
[INFO] [stderr]     |
[INFO] [stderr] 415 |             client_outgoing.send(ClientMessage::Time(program.mech.offset));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:420:13
[INFO] [stderr]     |
[INFO] [stderr] 420 |             client_outgoing.send(ClientMessage::Done);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:424:13
[INFO] [stderr]     |
[INFO] [stderr] 424 |             client_outgoing.send(ClientMessage::Clear);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:427:13
[INFO] [stderr]     |
[INFO] [stderr] 427 |             client_outgoing.send(ClientMessage::String(format!("{:?}",program.mech)));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:430:13
[INFO] [stderr]     |
[INFO] [stderr] 430 |             client_outgoing.send(ClientMessage::String(format!("{:?}",program.mech.runtime)));
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/program.rs:437:9
[INFO] [stderr]     |
[INFO] [stderr] 437 |         channel.send(PersisterMessage::Stop);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ClientMessage`, `RunLoop`
[INFO] [stderr]  --> tests/program.rs:3:35
[INFO] [stderr]   |
[INFO] [stderr] 3 | use mech_program::{ProgramRunner, RunLoop, ClientMessage};
[INFO] [stderr]   |                                   ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `mech_utilities::Watcher`
[INFO] [stderr]  --> tests/program.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use mech_utilities::Watcher;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `running`
[INFO] [stderr]   --> tests/program.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 |   let running = runner.run();
[INFO] [stderr]    |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_running`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `running`
[INFO] [stderr]   --> tests/program.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 |   let running = runner.run();
[INFO] [stderr]    |       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_running`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]  --> tests/program.rs:9:3
[INFO] [stderr]   |
[INFO] [stderr] 9 |   runner.load_program("#test = 1 + 1".to_string());
[INFO] [stderr]   |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> tests/program.rs:16:3
[INFO] [stderr]    |
[INFO] [stderr] 16 |   runner.load_program("#test = math/sin(degrees: 90)".to_string());
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RunLoop`
[INFO] [stderr]  --> src/bin/main.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use mech_program::{ProgramRunner, RunLoop, ClientMessage};
[INFO] [stderr]   |                                   ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Watcher`
[INFO] [stderr]  --> src/bin/main.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use mech_utilities::{Watcher, RunLoopMessage};
[INFO] [stderr]   |                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> src/bin/main.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | use mech_core::{Value, Hasher};
[INFO] [stderr]   |                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/bin/main.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 |       (Ok(ClientMessage::Table(table))) => {
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outgoing`
[INFO] [stderr]   --> src/bin/main.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 |   let outgoing = runner.program.outgoing.clone();
[INFO] [stderr]    |       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/main.rs:11:3
[INFO] [stderr]    |
[INFO] [stderr] 11 | /   runner.load_program("
[INFO] [stderr] 12 | | block
[INFO] [stderr] 13 | |   #test1 = math/sin(degrees: 45)
[INFO] [stderr] 14 | |   #test2 = math/cos(degrees: 60)
[INFO] [stderr] 15 | | block
[INFO] [stderr] 16 | |   #test = #test1 + #test2".to_string());
[INFO] [stderr]    | |________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/main.rs:18:3
[INFO] [stderr]    |
[INFO] [stderr] 18 |   running.send(RunLoopMessage::Table(Hasher::hash_str("test")));
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RunLoop`
[INFO] [stderr]  --> src/bin/main.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use mech_program::{ProgramRunner, RunLoop, ClientMessage};
[INFO] [stderr]   |                                   ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Watcher`
[INFO] [stderr]  --> src/bin/main.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use mech_utilities::{Watcher, RunLoopMessage};
[INFO] [stderr]   |                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> src/bin/main.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | use mech_core::{Value, Hasher};
[INFO] [stderr]   |                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]   --> src/bin/main.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 |       (Ok(ClientMessage::Table(table))) => {
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outgoing`
[INFO] [stderr]   --> src/bin/main.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 |   let outgoing = runner.program.outgoing.clone();
[INFO] [stderr]    |       ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/main.rs:11:3
[INFO] [stderr]    |
[INFO] [stderr] 11 | /   runner.load_program("
[INFO] [stderr] 12 | | block
[INFO] [stderr] 13 | |   #test1 = math/sin(degrees: 45)
[INFO] [stderr] 14 | |   #test2 = math/cos(degrees: 60)
[INFO] [stderr] 15 | | block
[INFO] [stderr] 16 | |   #test = #test1 + #test2".to_string());
[INFO] [stderr]    | |________________________________________^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/main.rs:18:3
[INFO] [stderr]    |
[INFO] [stderr] 18 |   running.send(RunLoopMessage::Table(Hasher::hash_str("test")));
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `"docker" "inspect" "f571972f439ab438476add8419ee699935fdc04415b1e36c4cbd657a31114eeb"`
[INFO] running `"docker" "rm" "-f" "f571972f439ab438476add8419ee699935fdc04415b1e36c4cbd657a31114eeb"`
[INFO] [stdout] f571972f439ab438476add8419ee699935fdc04415b1e36c4cbd657a31114eeb
