[INFO] cloning repository https://github.com/sjwjames/secure_rf
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sjwjames/secure_rf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsjwjames%2Fsecure_rf", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsjwjames%2Fsecure_rf'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6c38eb87887aef0461925306fc70d978e681dd77
[INFO] checking sjwjames/secure_rf against try#09eeb2bacb9b40b2ed1d47f03177442c0632cda1 for pr-157710
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsjwjames%2Fsecure_rf" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sjwjames/secure_rf
[INFO] finished tweaking git repo https://github.com/sjwjames/secure_rf
[INFO] tweaked toml for git repo https://github.com/sjwjames/secure_rf written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sjwjames/secure_rf on toolchain 09eeb2bacb9b40b2ed1d47f03177442c0632cda1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sjwjames/secure_rf 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" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98
[INFO] running `Command { std: "docker" "start" "b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling syn v1.0.7
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling num-bigint v0.2.3
[INFO] [stderr]     Checking serde v0.8.23
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking regex-syntax v0.6.12
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking linked-hash-map v0.5.2
[INFO] [stderr]     Checking rust-ini v0.13.0
[INFO] [stderr]     Checking regex-automata v0.1.8
[INFO] [stderr]     Checking yaml-rust v0.4.3
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking num_cpus v1.11.0
[INFO] [stderr]     Checking threadpool v1.7.1
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking csv-core v0.1.6
[INFO] [stderr]     Checking regex v1.3.1
[INFO] [stderr]     Checking serde_test v0.8.23
[INFO] [stderr]     Checking linked-hash-map v0.3.0
[INFO] [stderr]     Checking serde-hjson v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.102
[INFO] [stderr]     Checking num v0.2.0
[INFO] [stderr]     Checking bstr v0.2.8
[INFO] [stderr]     Checking serde_json v1.0.41
[INFO] [stderr]     Checking toml v0.4.10
[INFO] [stderr]     Checking csv v1.1.1
[INFO] [stderr]     Checking config v0.9.3
[INFO] [stderr]     Checking random_forest_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::string::ToString`
[INFO] [stdout]  --> src/computing_party.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::string::ToString;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TI_BATCH_SIZE`
[INFO] [stdout]  --> src/computing_party.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::constants::constants::{TI_BATCH_SIZE, U64S_PER_TX, U8S_PER_TX};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt` and `ToBigUint`
[INFO] [stdout]   --> src/computing_party.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, BigInt, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shutdown`
[INFO] [stdout]   --> src/ti.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use std::net::{TcpStream, TcpListener, SocketAddr, Shutdown};
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufWriter`
[INFO] [stdout]   --> src/ti.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use std::io::{Read, Write, BufWriter};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Barrier`
[INFO] [stdout]   --> src/ti.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::sync::{Arc, Mutex, Barrier};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add` and `Sub`
[INFO] [stdout]   --> src/ti.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     use std::ops::{Add, Sub};
[INFO] [stdout]    |                    ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/ti.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `initialize_party_context`
[INFO] [stdout]  --> src/random_forest.rs:2:108
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...utingParty, get_formatted_address, try_setup_socket, initialize_party_context, ti_receive, reset_share_indices};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/random_forest.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                     ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::current`
[INFO] [stdout]  --> src/random_forest.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::thread::current;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message::message::MessageManager`
[INFO] [stdout]  --> src/random_forest.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::message::message::MessageManager;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/random_forest.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::collections::HashMap;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Bytes`
[INFO] [stdout]  --> src/decision_tree.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::io::{Bytes, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^^         ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> src/decision_tree.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]   |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/decision_tree.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use std::thread::sleep;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/decision_tree.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot_product`
[INFO] [stdout]   --> src/decision_tree.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use crate::dot_product::dot_product::{dot_product, dot_product_integer};
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/decision_tree.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |         pub equality_shares: Vec<(BigUint)>,
[INFO] [stdout]    |                                  ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -         pub equality_shares: Vec<(BigUint)>,
[INFO] [stdout] 54 +         pub equality_shares: Vec<BigUint >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/decision_tree.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/decision_tree.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/decision_tree.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 (*dp_result_map).insert(i, (dp_result.0));
[INFO] [stdout]     |                                            ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 217 -                 (*dp_result_map).insert(i, (dp_result.0));
[INFO] [stdout] 217 +                 (*dp_result_map).insert(i, dp_result.0 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::Wrapping`
[INFO] [stdout]  --> src/protocol.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::num::Wrapping;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BATCH_SIZE`, `BINARY_PRIME`, `BUF_SIZE`, `U64S_PER_TX`, and `U8S_PER_TX`
[INFO] [stdout]  --> src/protocol.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::constants::constants::{BATCH_SIZE, U8S_PER_TX, BUF_SIZE, U64S_PER_TX, BINARY_PRIME};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/protocol.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use std::io::{Read, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `min`
[INFO] [stdout]   --> src/protocol.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use std::cmp::{min, max};
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToBigInt` and `ToBigUint`
[INFO] [stdout]   --> src/protocol.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `FromPrimitive`, `One`, `Zero`, and `abs`
[INFO] [stdout]   --> src/protocol.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |               ^^^^  ^^^  ^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/protocol.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/protocol.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `batch_multiplication_byte` and `multi_thread_batch_mul_byte`
[INFO] [stdout]   --> src/protocol.rs:20:49
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use crate::multiplication::multiplication::{batch_multiplication_byte, parallel_multiplication, multi_thread_batch_mul_byte};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/protocol.rs:44:54
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                                                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout] 44 +             let mut output_map = Arc::new(Mutex::new(HashMap::new() ));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/protocol.rs:70:54
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                                                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout] 70 +             let mut output_map = Arc::new(Mutex::new(HashMap::new() ));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RandBigInt`
[INFO] [stdout]  --> src/utils.rs:2:53
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use num::bigint::{BigUint, ToBigUint, ToBigInt, RandBigInt};
[INFO] [stdout]   |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::integer::*`
[INFO] [stdout]  --> src/field_change.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use num::integer::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigInt`
[INFO] [stdout]  --> src/field_change.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]   |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `One`, and `abs`
[INFO] [stdout]  --> src/field_change.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]   |                     ^^^                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BATCH_SIZE`, `BINARY_PRIME`, `BUF_SIZE`, `U64S_PER_TX`, and `U8S_PER_TX`
[INFO] [stdout]  --> src/or_xor.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::constants::constants::{BATCH_SIZE, U8S_PER_TX, BUF_SIZE, U64S_PER_TX, BINARY_PRIME};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Read`, and `Write`
[INFO] [stdout]  --> src/or_xor.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::io::{Read, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/or_xor.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::cmp::{min, max};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToBigInt` and `ToBigUint`
[INFO] [stdout]   --> src/or_xor.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `FromPrimitive`, `One`, and `abs`
[INFO] [stdout]   --> src/or_xor.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |                     ^^^  ^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/or_xor.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/or_xor.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `batch_multiply`
[INFO] [stdout]   --> src/or_xor.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use crate::multiplication::multiplication::{batch_multiply, batch_multiply_bigint, batch_multiplication_integer};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/multiplication.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::cmp::{min, max};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `abs`
[INFO] [stdout]   --> src/multiplication.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/multiplication.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/multiplication.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/multiplication.rs:387:25
[INFO] [stdout]     |
[INFO] [stdout] 387 |             d_list[i] = (d_list[i] + received_list[i][0]);
[INFO] [stdout]     |                         ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 387 -             d_list[i] = (d_list[i] + received_list[i][0]);
[INFO] [stdout] 387 +             d_list[i] = d_list[i] + received_list[i][0] ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/multiplication.rs:388:25
[INFO] [stdout]     |
[INFO] [stdout] 388 |             e_list[i] = (e_list[i] + received_list[i][1]);
[INFO] [stdout]     |                         ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 388 -             e_list[i] = (e_list[i] + received_list[i][1]);
[INFO] [stdout] 388 +             e_list[i] = e_list[i] + received_list[i][1] ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BATCH_SIZE`, `BINARY_PRIME`, `BUF_SIZE`, `U64S_PER_TX`, and `U8S_PER_TX`
[INFO] [stdout]  --> src/dot_product.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::constants::constants::{BATCH_SIZE, U8S_PER_TX, BUF_SIZE, U64S_PER_TX, BINARY_PRIME};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Read`, and `Write`
[INFO] [stdout]  --> src/dot_product.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::io::{Read, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/dot_product.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::cmp::{min, max};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToBigInt` and `ToBigUint`
[INFO] [stdout]   --> src/dot_product.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `FromPrimitive`, `One`, and `abs`
[INFO] [stdout]   --> src/dot_product.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |                     ^^^  ^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/dot_product.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/dot_product.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]   --> src/dot_product.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use std::ops::{Add, Mul};
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `batch_multiply`
[INFO] [stdout]   --> src/dot_product.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use crate::multiplication::multiplication::{batch_multiply, batch_multiply_bigint, batch_multiplication_integer};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> src/message.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]   |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/message.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                     ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]  --> src/message.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::net::{TcpStream, TcpListener};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read`
[INFO] [stdout]  --> src/message.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::io::{BufReader, BufRead, Read};
[INFO] [stdout]   |                   ^^^^^^^^^  ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/message.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::time::SystemTime;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `threadpool::ThreadPool`
[INFO] [stdout]  --> src/message.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use threadpool::ThreadPool;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/message.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::thread;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/message.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/message.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::ToString`
[INFO] [stdout]  --> src/computing_party.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::string::ToString;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TI_BATCH_SIZE`
[INFO] [stdout]  --> src/computing_party.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::constants::constants::{TI_BATCH_SIZE, U64S_PER_TX, U8S_PER_TX};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt` and `ToBigUint`
[INFO] [stdout]   --> src/computing_party.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, BigInt, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Shutdown`
[INFO] [stdout]   --> src/ti.rs:10:56
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use std::net::{TcpStream, TcpListener, SocketAddr, Shutdown};
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufWriter`
[INFO] [stdout]   --> src/ti.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use std::io::{Read, Write, BufWriter};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Barrier`
[INFO] [stdout]   --> src/ti.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::sync::{Arc, Mutex, Barrier};
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Add` and `Sub`
[INFO] [stdout]   --> src/ti.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 |     use std::ops::{Add, Sub};
[INFO] [stdout]    |                    ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/ti.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `initialize_party_context`
[INFO] [stdout]  --> src/random_forest.rs:2:108
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...utingParty, get_formatted_address, try_setup_socket, initialize_party_context, ti_receive, reset_share_indices};
[INFO] [stdout]   |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/random_forest.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                     ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::current`
[INFO] [stdout]  --> src/random_forest.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::thread::current;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::message::message::MessageManager`
[INFO] [stdout]  --> src/random_forest.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::message::message::MessageManager;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/random_forest.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::collections::HashMap;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Bytes`
[INFO] [stdout]  --> src/decision_tree.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::io::{Bytes, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^^         ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> src/decision_tree.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]   |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/decision_tree.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use std::thread::sleep;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/decision_tree.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::time::{Duration, SystemTime};
[INFO] [stdout]    |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot_product`
[INFO] [stdout]   --> src/decision_tree.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use crate::dot_product::dot_product::{dot_product, dot_product_integer};
[INFO] [stdout]    |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/decision_tree.rs:54:34
[INFO] [stdout]    |
[INFO] [stdout] 54 |         pub equality_shares: Vec<(BigUint)>,
[INFO] [stdout]    |                                  ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -         pub equality_shares: Vec<(BigUint)>,
[INFO] [stdout] 54 +         pub equality_shares: Vec<BigUint >,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/decision_tree.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/decision_tree.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/decision_tree.rs:217:44
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 (*dp_result_map).insert(i, (dp_result.0));
[INFO] [stdout]     |                                            ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 217 -                 (*dp_result_map).insert(i, (dp_result.0));
[INFO] [stdout] 217 +                 (*dp_result_map).insert(i, dp_result.0 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::Wrapping`
[INFO] [stdout]  --> src/protocol.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::num::Wrapping;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BATCH_SIZE`, `BINARY_PRIME`, `BUF_SIZE`, `U64S_PER_TX`, and `U8S_PER_TX`
[INFO] [stdout]  --> src/protocol.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::constants::constants::{BATCH_SIZE, U8S_PER_TX, BUF_SIZE, U64S_PER_TX, BINARY_PRIME};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/protocol.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use std::io::{Read, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `min`
[INFO] [stdout]   --> src/protocol.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use std::cmp::{min, max};
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToBigInt` and `ToBigUint`
[INFO] [stdout]   --> src/protocol.rs:14:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `FromPrimitive`, `One`, `Zero`, and `abs`
[INFO] [stdout]   --> src/protocol.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |               ^^^^  ^^^  ^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/protocol.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/protocol.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `batch_multiplication_byte` and `multi_thread_batch_mul_byte`
[INFO] [stdout]   --> src/protocol.rs:20:49
[INFO] [stdout]    |
[INFO] [stdout] 20 |     use crate::multiplication::multiplication::{batch_multiplication_byte, parallel_multiplication, multi_thread_batch_mul_byte};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/protocol.rs:44:54
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                                                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout] 44 +             let mut output_map = Arc::new(Mutex::new(HashMap::new() ));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/protocol.rs:70:54
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                                                      ^              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout] 70 +             let mut output_map = Arc::new(Mutex::new(HashMap::new() ));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RandBigInt`
[INFO] [stdout]  --> src/utils.rs:2:53
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use num::bigint::{BigUint, ToBigUint, ToBigInt, RandBigInt};
[INFO] [stdout]   |                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::integer::*`
[INFO] [stdout]  --> src/field_change.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use num::integer::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigInt`
[INFO] [stdout]  --> src/field_change.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]   |                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `One`, and `abs`
[INFO] [stdout]  --> src/field_change.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]   |                     ^^^                 ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BATCH_SIZE`, `BINARY_PRIME`, `BUF_SIZE`, `U64S_PER_TX`, and `U8S_PER_TX`
[INFO] [stdout]  --> src/or_xor.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::constants::constants::{BATCH_SIZE, U8S_PER_TX, BUF_SIZE, U64S_PER_TX, BINARY_PRIME};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Read`, and `Write`
[INFO] [stdout]  --> src/or_xor.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::io::{Read, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/or_xor.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::cmp::{min, max};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToBigInt` and `ToBigUint`
[INFO] [stdout]   --> src/or_xor.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `FromPrimitive`, `One`, and `abs`
[INFO] [stdout]   --> src/or_xor.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |                     ^^^  ^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/or_xor.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/or_xor.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `batch_multiply`
[INFO] [stdout]   --> src/or_xor.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use crate::multiplication::multiplication::{batch_multiply, batch_multiply_bigint, batch_multiplication_integer};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/multiplication.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::cmp::{min, max};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `abs`
[INFO] [stdout]   --> src/multiplication.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/multiplication.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/multiplication.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/multiplication.rs:387:25
[INFO] [stdout]     |
[INFO] [stdout] 387 |             d_list[i] = (d_list[i] + received_list[i][0]);
[INFO] [stdout]     |                         ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 387 -             d_list[i] = (d_list[i] + received_list[i][0]);
[INFO] [stdout] 387 +             d_list[i] = d_list[i] + received_list[i][0] ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/multiplication.rs:388:25
[INFO] [stdout]     |
[INFO] [stdout] 388 |             e_list[i] = (e_list[i] + received_list[i][1]);
[INFO] [stdout]     |                         ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 388 -             e_list[i] = (e_list[i] + received_list[i][1]);
[INFO] [stdout] 388 +             e_list[i] = e_list[i] + received_list[i][1] ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BATCH_SIZE`, `BINARY_PRIME`, `BUF_SIZE`, `U64S_PER_TX`, and `U8S_PER_TX`
[INFO] [stdout]  --> src/dot_product.rs:4:39
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::constants::constants::{BATCH_SIZE, U8S_PER_TX, BUF_SIZE, U64S_PER_TX, BINARY_PRIME};
[INFO] [stdout]   |                                       ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Read`, and `Write`
[INFO] [stdout]  --> src/dot_product.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::io::{Read, Write, BufReader, BufRead};
[INFO] [stdout]   |                   ^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]  --> src/dot_product.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::cmp::{min, max};
[INFO] [stdout]   |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ToBigInt` and `ToBigUint`
[INFO] [stdout]   --> src/dot_product.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `FromPrimitive`, `One`, and `abs`
[INFO] [stdout]   --> src/dot_product.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use num::{Zero, One, FromPrimitive, abs, BigInt};
[INFO] [stdout]    |                     ^^^  ^^^^^^^^^^^^^  ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/dot_product.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/dot_product.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     use std::net::TcpStream;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]   --> src/dot_product.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use std::ops::{Add, Mul};
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `batch_multiply`
[INFO] [stdout]   --> src/dot_product.rs:17:49
[INFO] [stdout]    |
[INFO] [stdout] 17 |     use crate::multiplication::multiplication::{batch_multiply, batch_multiply_bigint, batch_multiplication_integer};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serializer`
[INFO] [stdout]  --> src/message.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]   |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/message.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                     ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TcpListener` and `TcpStream`
[INFO] [stdout]  --> src/message.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::net::{TcpStream, TcpListener};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read`
[INFO] [stdout]  --> src/message.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::io::{BufReader, BufRead, Read};
[INFO] [stdout]   |                   ^^^^^^^^^  ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::SystemTime`
[INFO] [stdout]  --> src/message.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use std::time::SystemTime;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `threadpool::ThreadPool`
[INFO] [stdout]  --> src/message.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use threadpool::ThreadPool;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> src/message.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::thread;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/message.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/message.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/message.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         return Ok(message.unwrap());
[INFO] [stdout]    |         --------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 89 |         Err("asd")
[INFO] [stdout]    |         ^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigUint`
[INFO] [stdout]   --> src/ti.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use num::bigint::{BigUint, ToBigUint, ToBigInt, RandBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigUint`
[INFO] [stdout]  --> src/utils.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use num::bigint::{BigUint, ToBigUint, ToBigInt, RandBigInt};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigUint`
[INFO] [stdout]   --> src/multiplication.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/computing_party.rs:160:41
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn try_connect(socket: &SocketAddr, prefix: &str) -> TcpStream {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asymmetric_bit`
[INFO] [stdout]    --> src/computing_party.rs:171:159
[INFO] [stdout]     |
[INFO] [stdout] 171 | ...nce_count: usize, asymmetric_bit: u8) -> DecisionTreeData {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asymmetric_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let mut internal_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut external_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut ti_addr;       //= String::new();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut in_stream_copied = in_stream.try_clone().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_input_path`
[INFO] [stdout]    --> src/computing_party.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let y_input_path = match settings.get_str("y_input_path") {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_input_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer_precision`
[INFO] [stdout]    --> src/computing_party.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let integer_precision = match settings.get_int("integer_precision") {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_stream_copied`
[INFO] [stdout]    --> src/computing_party.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut in_stream_copied = in_stream.try_clone().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_stream_copied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let mut internal_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:521:13
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let mut external_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let mut message_manager = Arc::clone(&ctx.message_manager);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |                 let mut share0 = DecisionTreeShares {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 let mut share1 = DecisionTreeShares {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:358:46
[INFO] [stdout]     |
[INFO] [stdout] 358 |     fn send_dt_shares(mut stream: TcpStream, mut shares: DecisionTreeShares) -> io::Result<()> {
[INFO] [stdout]     |                                              ----^^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let mut additive_shares = shares.additive_triples;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:372:13
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let mut binary_triples = shares.binary_triples;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let mut additive_bigint_triples = shares.additive_bigint_triples;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut equality_bigint_triples = shares.equality_shares;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let mut message_str = serde_json::to_string(&dt_share_message).unwrap() + "\n";
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:415:17
[INFO] [stdout]     |
[INFO] [stdout] 415 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:430:13
[INFO] [stdout]     |
[INFO] [stdout] 430 |         let mut share0_map = &(*(share0_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/ti.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `share1_map`
[INFO] [stdout]    --> src/ti.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_share1_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:446:13
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:449:17
[INFO] [stdout]     |
[INFO] [stdout] 449 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:451:17
[INFO] [stdout]     |
[INFO] [stdout] 451 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:463:13
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let mut share0_map = &(*(share0_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `share1_map`
[INFO] [stdout]    --> src/ti.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_share1_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:478:13
[INFO] [stdout]     |
[INFO] [stdout] 478 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:482:17
[INFO] [stdout]     |
[INFO] [stdout] 482 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:483:17
[INFO] [stdout]     |
[INFO] [stdout] 483 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:484:17
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |             let mut share0_item = share0_map.get(&i).unwrap().clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             let mut share1_item = share1_map.get(&i).unwrap().clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:512:13
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:513:13
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:516:17
[INFO] [stdout]     |
[INFO] [stdout] 516 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:517:17
[INFO] [stdout]     |
[INFO] [stdout] 517 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:518:17
[INFO] [stdout]     |
[INFO] [stdout] 518 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/random_forest.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut remainder = ctx.tree_count;
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/random_forest.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let mut attr_values_bytes = dt_ctx.dt_data.attr_values_bytes.clone();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/random_forest.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut class_value_bytes = dt_ctx.dt_data.class_values_bytes.clone();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt_training`
[INFO] [stdout]    --> src/random_forest.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let dt_training = decision_tree::train(&mut dt_ctx);
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dt_training`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let mut received_message = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let mut received_message = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `major_class_index_receive` is never read
[INFO] [stdout]    --> src/decision_tree.rs:159:54
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let mut major_class_index_receive: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                                      ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 166 |             major_class_index_receive = serde_json::from_str(&received_message.message_content).unwrap();
[INFO] [stdout]     |             ------------------------- `major_class_index_receive` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut now = SystemTime::now();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut subset_transaction_bit_vector = ctx.dt_training.subset_transaction_bit_vector.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut subset_decimal = change_binary_to_decimal_field(&subset_transaction_bit_vector, ctx);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let mut dp_result_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |             let mut dp_result_map = Arc::clone(&dp_result_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let mut subset_decimal_cloned = subset_decimal.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let mut class_value_transaction = ctx.dt_data.class_values.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut dp_result_map = &*(dp_result_map.lock().unwrap());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let mut bd_result_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let mut bd_result_map = Arc::clone(&bd_result_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let mut bd_result_map = &*(bd_result_map.lock().unwrap());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let mut arg_max = arg_max(&bit_shares, ctx);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precision`
[INFO] [stdout]    --> src/decision_tree.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let precision = ctx.decimal_precision;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let mut list = Vec::new();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                             ----^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |                         let mut bit_shares = bit_shares.clone();
[INFO] [stdout]    |                             ----^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut comparison = *output_map.get(&i).unwrap();
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `key` is never read
[INFO] [stdout]   --> src/protocol.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | ...                   key = i * number_count + j;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ti_count`
[INFO] [stdout]   --> src/protocol.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let ti_count = 2 * bit_length + (bit_length * (bit_length - 1) / 2);
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ti_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut in_stream = ctx.in_stream.try_clone()
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut message = serialize_biguint_vec(diff_list);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut diff_list = deserialize_biguint_vec(diff_list_message);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut result = BigUint::from_bytes_le(&(x.to_bytes_le().clone()));
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/field_change.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut dummy_list = vec![Wrapping(0u64); binary_numbers.len()];
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output` is never read
[INFO] [stdout]   --> src/field_change.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut output = Vec::new();
[INFO] [stdout]    |                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 20 |             output = or_xor(&dummy_list, &binary_int_list, ctx, 2);
[INFO] [stdout]    |             ------ `output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/field_change.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut dummy_list = vec![BigUint::zero(); binary_numbers.len()];
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output` is never read
[INFO] [stdout]   --> src/field_change.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut output = Vec::new();
[INFO] [stdout]    |                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 38 |             output = or_xor_bigint(&dummy_list, &binary_num_bigint, ctx, &BigUint::from_usize(2).unwrap());
[INFO] [stdout]    |             ------ `output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/message.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         return Ok(message.unwrap());
[INFO] [stdout]    |         --------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 89 |         Err("asd")
[INFO] [stdout]    |         ^^^^^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigUint`
[INFO] [stdout]   --> src/ti.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use num::bigint::{BigUint, ToBigUint, ToBigInt, RandBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigUint`
[INFO] [stdout]  --> src/utils.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use num::bigint::{BigUint, ToBigUint, ToBigInt, RandBigInt};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToBigUint`
[INFO] [stdout]   --> src/multiplication.rs:11:32
[INFO] [stdout]    |
[INFO] [stdout] 11 |     use num::bigint::{BigUint, ToBigUint, ToBigInt};
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   let mut batch_mul_result = batch_multiplication_integer(&x_list[i..to_index].to_vec(), &y_list[i..to_index].to_vec(), &mut ctx...
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let mut x_list = x_list.clone();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let mut y_list = y_list.clone();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 | ...   let mut batch_mul_result = batch_multiply_bigint(&x_list[i..to_index].to_vec(), &y_list[i..to_index].to_vec(), &mut ctx_copied);
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut output = vec![BigUint::zero(); bit_length];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut x_list = big_uint_vec_clone(x_list);
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut y_list = big_uint_vec_clone(y_list);
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/or_xor.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut output = vec![BigUint::zero(); bit_length];
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/computing_party.rs:160:41
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn try_connect(socket: &SocketAddr, prefix: &str) -> TcpStream {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `asymmetric_bit`
[INFO] [stdout]    --> src/computing_party.rs:171:159
[INFO] [stdout]     |
[INFO] [stdout] 171 | ...nce_count: usize, asymmetric_bit: u8) -> DecisionTreeData {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_asymmetric_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multiplication.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multiplication.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut diff_list_str_vec: Vec<&str> = diff_list_message.split(";").collect();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `diff_list_message` is never read
[INFO] [stdout]   --> src/multiplication.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut diff_list_message = String::new();
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 61 |         diff_list_message = message_received.message_content;
[INFO] [stdout]    |         ----------------- `diff_list_message` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `corr_rand`
[INFO] [stdout]    --> src/multiplication.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let corr_rand = &mut ctx.dt_shares.additive_triples;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_corr_rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut ctx_copied = ctx.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let mut received_message =  search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let mut received_message = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut received_list: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 264 |             received_list = serde_json::from_str(&received_message.message_content).unwrap();
[INFO] [stdout]     |             ------------- `received_list` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let mut ctx_copied = ctx.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:312:17
[INFO] [stdout]     |
[INFO] [stdout] 312 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `received_list` is assigned to, but never used
[INFO] [stdout]    --> src/multiplication.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let mut received_list: Vec<Vec<u8>> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_received_list` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             received_list = serde_json::from_str(&message_received.message_content).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |             received_list = serde_json::from_str(&message_received.message_content).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |         let mut internal_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:395:13
[INFO] [stdout]     |
[INFO] [stdout] 395 |         let mut external_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut ti_addr;       //= String::new();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:370:17
[INFO] [stdout]     |
[INFO] [stdout] 370 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut in_stream_copied = in_stream.try_clone().unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:373:17
[INFO] [stdout]     |
[INFO] [stdout] 373 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:366:58
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let mut received_list: Vec<Vec<Wrapping<u64>>> = Vec::new();
[INFO] [stdout]     |                                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 374 |             received_list = serde_json::from_str(&message_received.message_content).unwrap();
[INFO] [stdout]     |             ------------- `received_list` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_input_path`
[INFO] [stdout]    --> src/computing_party.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let y_input_path = match settings.get_str("y_input_path") {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_input_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer_precision`
[INFO] [stdout]    --> src/computing_party.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let integer_precision = match settings.get_int("integer_precision") {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `in_stream_copied`
[INFO] [stdout]    --> src/computing_party.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut in_stream_copied = in_stream.try_clone().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_in_stream_copied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:520:13
[INFO] [stdout]     |
[INFO] [stdout] 520 |         let mut internal_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:521:13
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let mut external_addr; //= String::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:431:25
[INFO] [stdout]     |
[INFO] [stdout] 431 | ...   let mut batch_mul_result = batch_multiplication_byte(&products_copied[i1..temp_index1].to_vec(), &products_copied[i2..temp_in...
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |             let mut to_index1 = size / 2;
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut products_copied = products.clone();
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:427:21
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |             let mut output_map = &*(output_map.lock().unwrap());
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/computing_party.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |         let mut message_manager = Arc::clone(&ctx.message_manager);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:463:13
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let mut in_stream = ctx.in_stream.try_clone()
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut message = serialize_biguint_vec(diff_list);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let mut diff_list = deserialize_biguint_vec(diff_list_message);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:500:17
[INFO] [stdout]     |
[INFO] [stdout] 500 |             let mut to_index1 = size / 2;
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:508:17
[INFO] [stdout]     |
[INFO] [stdout] 508 |             let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:513:21
[INFO] [stdout]     |
[INFO] [stdout] 513 |                 let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:515:21
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 let mut products_slice = big_uint_vec_clone(&products[i1..temp_index1].to_vec());
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:526:17
[INFO] [stdout]     |
[INFO] [stdout] 526 |             let mut output_map = &*(output_map.lock().unwrap());
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:553:21
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...   let mut batch_mul_result = batch_multiplication_byte(&x_list[i..to_index].to_vec(), &y_list[i..to_index].to_vec(), &mut ctx_c...
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:547:17
[INFO] [stdout]     |
[INFO] [stdout] 547 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |             let mut x_list = x_list.clone();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:551:17
[INFO] [stdout]     |
[INFO] [stdout] 551 |             let mut y_list = y_list.clone();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/dot_product.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/dot_product.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dot_product.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut x_list_copied = big_uint_vec_clone(&x_list[i..to_index].to_vec());
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dot_product.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut y_list_copied = big_uint_vec_clone(&y_list[i..to_index].to_vec());
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |                 let mut share0 = DecisionTreeShares {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:307:21
[INFO] [stdout]     |
[INFO] [stdout] 307 |                 let mut share1 = DecisionTreeShares {
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:74:29
[INFO] [stdout]    |
[INFO] [stdout] 74 | ...   let mut batch_mul_result = batch_multiplication_byte(&temp_mul_e[i..to_index - 1].to_vec(), &temp_mul_e[i + 1..to_index].to_ve...
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut temp_mul_e = temp_mul_e.clone();
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/comparison.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 let mut batch_mul_result = batch_multiplication_byte(&multiplication_e_copied, &d_shares_copied, &mut ctx_copied);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut d_shares = vec![0u8; bit_length];
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut x_list_copied = x_list.clone();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut y_list_copied = y_list.clone();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut d_shares_wrapper = Arc::new(Mutex::new(d_shares));
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut d_shares_wrapper_copy = Arc::clone(&d_shares_wrapper);
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut d_shares = (*d_shares_wrapper.lock().unwrap()).clone();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut ctx_copied = ctx.clone();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut multiplication_e = vec![0u8; bit_length];
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut multiplication_e_wrapper = Arc::new(Mutex::new(multiplication_e));
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut multiplication_e_copied = Arc::clone(&multiplication_e_wrapper);
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:358:46
[INFO] [stdout]     |
[INFO] [stdout] 358 |     fn send_dt_shares(mut stream: TcpStream, mut shares: DecisionTreeShares) -> io::Result<()> {
[INFO] [stdout]     |                                              ----^^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:364:13
[INFO] [stdout]     |
[INFO] [stdout] 364 |         let mut additive_shares = shares.additive_triples;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:372:13
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let mut binary_triples = shares.binary_triples;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut multiplication_e = (*multiplication_e_wrapper.lock().unwrap()).clone();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/comparison.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/comparison.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let mut additive_bigint_triples = shares.additive_bigint_triples;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let mut equality_bigint_triples = shares.equality_shares;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prime`
[INFO] [stdout]   --> src/comparison.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let prime = BINARY_PRIME;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_prime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ti_shares`
[INFO] [stdout]   --> src/comparison.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let ti_shares = &ctx.dt_shares.binary_triples;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ti_shares`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ti_shares_start_index`
[INFO] [stdout]   --> src/comparison.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let ti_shares_start_index = *(ctx.dt_shares.current_binary_index.lock().unwrap());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ti_shares_start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |         let mut message_str = serde_json::to_string(&dt_share_message).unwrap() + "\n";
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w` is never read
[INFO] [stdout]    --> src/comparison.rs:20:21
[INFO] [stdout]     |
[INFO] [stdout]  20 |         let mut w = -1;
[INFO] [stdout]     |                     ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 132 |         w = ctx.asymmetric_bit as i8;
[INFO] [stdout]     |         ---------------------------- `w` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:415:17
[INFO] [stdout]     |
[INFO] [stdout] 415 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:430:13
[INFO] [stdout]     |
[INFO] [stdout] 430 |         let mut share0_map = &(*(share0_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/ti.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `share1_map`
[INFO] [stdout]    --> src/ti.rs:431:13
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_share1_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 | ...   let mut batch_mul_result = batch_multiplication_byte(&input_shares[0][i..to_index].to_vec(), &input_shares[1][i..to_index].to_...
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut temp0 = vec![0u8; bit_length];
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let mut temp = temp.clone();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let mut temp0 = temp0.clone();
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 445 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut input_shares = input_shares.clone();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_binary_str_vec`
[INFO] [stdout]   --> src/bit_decomposition.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let input_binary_str_vec: Vec<&str> = binary_str.split("").collect();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_binary_str_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bit_decomposition.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         for i in 0..diff {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:446:13
[INFO] [stdout]     |
[INFO] [stdout] 446 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:449:17
[INFO] [stdout]     |
[INFO] [stdout] 449 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:450:17
[INFO] [stdout]     |
[INFO] [stdout] 450 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:451:17
[INFO] [stdout]     |
[INFO] [stdout] 451 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:463:13
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let mut share0_map = &(*(share0_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `share1_map`
[INFO] [stdout]    --> src/ti.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut share1_map = &(*(share1_arc.lock().unwrap())).clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_share1_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:478:13
[INFO] [stdout]     |
[INFO] [stdout] 478 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:482:17
[INFO] [stdout]     |
[INFO] [stdout] 482 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/message.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut message = (*manager_content).map.remove(&message_id);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:483:17
[INFO] [stdout]     |
[INFO] [stdout] 483 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:484:17
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:502:17
[INFO] [stdout]     |
[INFO] [stdout] 502 |             let mut share0_item = share0_map.get(&i).unwrap().clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             let mut share1_item = share1_map.get(&i).unwrap().clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:512:13
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let mut share0_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:513:13
[INFO] [stdout]     |
[INFO] [stdout] 513 |         let mut share1_arc = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:516:17
[INFO] [stdout]     |
[INFO] [stdout] 516 |             let mut share0_arc_copy = Arc::clone(&share0_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:517:17
[INFO] [stdout]     |
[INFO] [stdout] 517 |             let mut share1_arc_copy = Arc::clone(&share1_arc);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ti.rs:518:17
[INFO] [stdout]     |
[INFO] [stdout] 518 |             let mut ctx = ctx.clone();
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `Xbuffer` is never used
[INFO] [stdout]   --> src/computing_party.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     union Xbuffer {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_u64_matrix` is never used
[INFO] [stdout]    --> src/computing_party.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn load_u64_matrix(file_path: &String, instances: usize, add_dummy: bool, one: u64) -> Vec<Vec<Wrapping<u64>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TI_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/ti.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     const TI_BATCH_SIZE: usize = constants::TI_BATCH_SIZE;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U64S_PER_TX` is never used
[INFO] [stdout]   --> src/ti.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 |     const U64S_PER_TX: usize = constants::U64S_PER_TX;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8S_PER_TX` is never used
[INFO] [stdout]   --> src/ti.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 |     const U8S_PER_TX: usize = constants::U8S_PER_TX;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `Xbuffer` is never used
[INFO] [stdout]   --> src/ti.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 |     union Xbuffer {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_xor_triple` is never used
[INFO] [stdout]    --> src/ti.rs:575:8
[INFO] [stdout]     |
[INFO] [stdout] 575 |     fn new_xor_triple(rng: &mut rand::ThreadRng) -> ((u64, u64, u64), (u64, u64, u64)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/random_forest.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut remainder = ctx.tree_count;
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/random_forest.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let mut attr_values_bytes = dt_ctx.dt_data.attr_values_bytes.clone();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/random_forest.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut class_value_bytes = dt_ctx.dt_data.class_values_bytes.clone();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt_training`
[INFO] [stdout]    --> src/random_forest.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let dt_training = decision_tree::train(&mut dt_ctx);
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dt_training`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computing_party.rs:568:17
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 reader.read_line(&mut line);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 let _ = reader.read_line(&mut line);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computing_party.rs:571:17
[INFO] [stdout]     |
[INFO] [stdout] 571 |                 (*manager).add_message(&message);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 571 |                 let _ = (*manager).add_message(&message);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ti.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |         stream.write(message_str.as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let _ = stream.write(message_str.as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/decision_tree.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^--------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Serialize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DecisionTreeTIShareMessage`
[INFO] [stdout] 62 |     pub struct DecisionTreeTIShareMessage {
[INFO] [stdout]    |                -------------------------- `DecisionTreeTIShareMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/decision_tree.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `Deserialize` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DecisionTreeTIShareMessage`
[INFO] [stdout] 62 |     pub struct DecisionTreeTIShareMessage {
[INFO] [stdout]    |                -------------------------- `DecisionTreeTIShareMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/decision_tree.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |             o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let _ = o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/decision_tree.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let _ = o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/protocol.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let _ = o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/multiplication.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 265 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 308 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 375 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |         o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let _ = o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/message.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^--------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Serialize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RFMessage`
[INFO] [stdout] 15 |     pub struct RFMessage {
[INFO] [stdout]    |                --------- `RFMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/message.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `Deserialize` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RFMessage`
[INFO] [stdout] 15 |     pub struct RFMessage {
[INFO] [stdout]    |                --------- `RFMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let mut received_message = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |             let mut received_message = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `major_class_index_receive` is never read
[INFO] [stdout]    --> src/decision_tree.rs:159:54
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let mut major_class_index_receive: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                                      ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 166 |             major_class_index_receive = serde_json::from_str(&received_message.message_content).unwrap();
[INFO] [stdout]     |             ------------------------- `major_class_index_receive` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let mut now = SystemTime::now();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut subset_transaction_bit_vector = ctx.dt_training.subset_transaction_bit_vector.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut subset_decimal = change_binary_to_decimal_field(&subset_transaction_bit_vector, ctx);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let mut dp_result_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:208:17
[INFO] [stdout]     |
[INFO] [stdout] 208 |             let mut dp_result_map = Arc::clone(&dp_result_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let mut subset_decimal_cloned = subset_decimal.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:210:17
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let mut class_value_transaction = ctx.dt_data.class_values.clone();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let mut dp_result_map = &*(dp_result_map.lock().unwrap());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let mut bd_result_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let mut bd_result_map = Arc::clone(&bd_result_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let mut bd_result_map = &*(bd_result_map.lock().unwrap());
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/decision_tree.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let mut arg_max = arg_max(&bit_shares, ctx);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `precision`
[INFO] [stdout]    --> src/decision_tree.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 let precision = ctx.decimal_precision;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_precision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 let mut list = Vec::new();
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                             ----^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |                         let mut bit_shares = bit_shares.clone();
[INFO] [stdout]    |                             ----^^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut comparison = *output_map.get(&i).unwrap();
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let mut output_map = Arc::new(Mutex::new((HashMap::new())));
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/protocol.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `key` is never read
[INFO] [stdout]   --> src/protocol.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 | ...                   key = i * number_count + j;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ti_count`
[INFO] [stdout]   --> src/protocol.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |             let ti_count = 2 * bit_length + (bit_length * (bit_length - 1) / 2);
[INFO] [stdout]    |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ti_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut in_stream = ctx.in_stream.try_clone()
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut message = serialize_biguint_vec(diff_list);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocol.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut diff_list = deserialize_biguint_vec(diff_list_message);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/utils.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let mut result = BigUint::from_bytes_le(&(x.to_bytes_le().clone()));
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/field_change.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut dummy_list = vec![Wrapping(0u64); binary_numbers.len()];
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output` is never read
[INFO] [stdout]   --> src/field_change.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut output = Vec::new();
[INFO] [stdout]    |                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 20 |             output = or_xor(&dummy_list, &binary_int_list, ctx, 2);
[INFO] [stdout]    |             ------ `output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/field_change.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut dummy_list = vec![BigUint::zero(); binary_numbers.len()];
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `output` is never read
[INFO] [stdout]   --> src/field_change.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut output = Vec::new();
[INFO] [stdout]    |                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 38 |             output = or_xor_bigint(&dummy_list, &binary_num_bigint, ctx, &BigUint::from_usize(2).unwrap());
[INFO] [stdout]    |             ------ `output` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | ...   let mut batch_mul_result = batch_multiplication_integer(&x_list[i..to_index].to_vec(), &y_list[i..to_index].to_vec(), &mut ctx...
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |             let mut x_list = x_list.clone();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |             let mut y_list = y_list.clone();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 | ...   let mut batch_mul_result = batch_multiply_bigint(&x_list[i..to_index].to_vec(), &y_list[i..to_index].to_vec(), &mut ctx_copied);
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut output = vec![BigUint::zero(); bit_length];
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut x_list = big_uint_vec_clone(x_list);
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/or_xor.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             let mut y_list = big_uint_vec_clone(y_list);
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/or_xor.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut output = vec![BigUint::zero(); bit_length];
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multiplication.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/multiplication.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut diff_list_str_vec: Vec<&str> = diff_list_message.split(";").collect();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `diff_list_message` is never read
[INFO] [stdout]   --> src/multiplication.rs:49:37
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut diff_list_message = String::new();
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 61 |         diff_list_message = message_received.message_content;
[INFO] [stdout]    |         ----------------- `diff_list_message` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `corr_rand`
[INFO] [stdout]    --> src/multiplication.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 |             let corr_rand = &mut ctx.dt_shares.additive_triples;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_corr_rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let mut ctx_copied = ctx.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let mut received_message =  search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let mut received_message = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:257:42
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let mut received_list: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 264 |             received_list = serde_json::from_str(&received_message.message_content).unwrap();
[INFO] [stdout]     |             ------------- `received_list` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:289:13
[INFO] [stdout]     |
[INFO] [stdout] 289 |         let mut ctx_copied = ctx.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:301:13
[INFO] [stdout]     |
[INFO] [stdout] 301 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:312:17
[INFO] [stdout]     |
[INFO] [stdout] 312 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `received_list` is assigned to, but never used
[INFO] [stdout]    --> src/multiplication.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let mut received_list: Vec<Vec<u8>> = Vec::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_received_list` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             received_list = serde_json::from_str(&message_received.message_content).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |             received_list = serde_json::from_str(&message_received.message_content).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:361:13
[INFO] [stdout]     |
[INFO] [stdout] 361 |         let mut message = RFMessage {
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:370:17
[INFO] [stdout]     |
[INFO] [stdout] 370 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:373:17
[INFO] [stdout]     |
[INFO] [stdout] 373 |             let mut message_received = search_pop_message(ctx, message.message_id.clone()).unwrap();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `received_list` is never read
[INFO] [stdout]    --> src/multiplication.rs:366:58
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let mut received_list: Vec<Vec<Wrapping<u64>>> = Vec::new();
[INFO] [stdout]     |                                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 374 |             received_list = serde_json::from_str(&message_received.message_content).unwrap();
[INFO] [stdout]     |             ------------- `received_list` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:431:25
[INFO] [stdout]     |
[INFO] [stdout] 431 | ...   let mut batch_mul_result = batch_multiplication_byte(&products_copied[i1..temp_index1].to_vec(), &products_copied[i2..temp_in...
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:412:17
[INFO] [stdout]     |
[INFO] [stdout] 412 |             let mut to_index1 = size / 2;
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:421:17
[INFO] [stdout]     |
[INFO] [stdout] 421 |             let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut products_copied = products.clone();
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:427:21
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:441:17
[INFO] [stdout]     |
[INFO] [stdout] 441 |             let mut output_map = &*(output_map.lock().unwrap());
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:463:13
[INFO] [stdout]     |
[INFO] [stdout] 463 |         let mut in_stream = ctx.in_stream.try_clone()
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut message = serialize_biguint_vec(diff_list);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let mut diff_list = deserialize_biguint_vec(diff_list_message);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:500:17
[INFO] [stdout]     |
[INFO] [stdout] 500 |             let mut to_index1 = size / 2;
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:508:17
[INFO] [stdout]     |
[INFO] [stdout] 508 |             let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:513:21
[INFO] [stdout]     |
[INFO] [stdout] 513 |                 let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:515:21
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 let mut products_slice = big_uint_vec_clone(&products[i1..temp_index1].to_vec());
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:526:17
[INFO] [stdout]     |
[INFO] [stdout] 526 |             let mut output_map = &*(output_map.lock().unwrap());
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:553:21
[INFO] [stdout]     |
[INFO] [stdout] 553 | ...   let mut batch_mul_result = batch_multiplication_byte(&x_list[i..to_index].to_vec(), &y_list[i..to_index].to_vec(), &mut ctx_c...
[INFO] [stdout]     |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:545:13
[INFO] [stdout]     |
[INFO] [stdout] 545 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:547:17
[INFO] [stdout]     |
[INFO] [stdout] 547 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:550:17
[INFO] [stdout]     |
[INFO] [stdout] 550 |             let mut x_list = x_list.clone();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/multiplication.rs:551:17
[INFO] [stdout]     |
[INFO] [stdout] 551 |             let mut y_list = y_list.clone();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/dot_product.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/dot_product.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dot_product.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let mut x_list_copied = big_uint_vec_clone(&x_list[i..to_index].to_vec());
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dot_product.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let mut y_list_copied = big_uint_vec_clone(&y_list[i..to_index].to_vec());
[INFO] [stdout]     |                 ----^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:74:29
[INFO] [stdout]    |
[INFO] [stdout] 74 | ...   let mut batch_mul_result = batch_multiplication_byte(&temp_mul_e[i..to_index - 1].to_vec(), &temp_mul_e[i + 1..to_index].to_ve...
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut temp_mul_e = temp_mul_e.clone();
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/comparison.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 let mut batch_mul_result = batch_multiplication_byte(&multiplication_e_copied, &d_shares_copied, &mut ctx_copied);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut d_shares = vec![0u8; bit_length];
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut x_list_copied = x_list.clone();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut y_list_copied = y_list.clone();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut d_shares_wrapper = Arc::new(Mutex::new(d_shares));
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut d_shares_wrapper_copy = Arc::clone(&d_shares_wrapper);
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut d_shares = (*d_shares_wrapper.lock().unwrap()).clone();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let mut ctx_copied = ctx.clone();
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut multiplication_e = vec![0u8; bit_length];
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut multiplication_e_wrapper = Arc::new(Mutex::new(multiplication_e));
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut multiplication_e_copied = Arc::clone(&multiplication_e_wrapper);
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comparison.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let mut multiplication_e = (*multiplication_e_wrapper.lock().unwrap()).clone();
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/comparison.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/comparison.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prime`
[INFO] [stdout]   --> src/comparison.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let prime = BINARY_PRIME;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_prime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ti_shares`
[INFO] [stdout]   --> src/comparison.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let ti_shares = &ctx.dt_shares.binary_triples;
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ti_shares`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ti_shares_start_index`
[INFO] [stdout]   --> src/comparison.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let ti_shares_start_index = *(ctx.dt_shares.current_binary_index.lock().unwrap());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ti_shares_start_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w` is never read
[INFO] [stdout]    --> src/comparison.rs:20:21
[INFO] [stdout]     |
[INFO] [stdout]  20 |         let mut w = -1;
[INFO] [stdout]     |                     ^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 132 |         w = ctx.asymmetric_bit as i8;
[INFO] [stdout]     |         ---------------------------- `w` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 | ...   let mut batch_mul_result = batch_multiplication_byte(&input_shares[0][i..to_index].to_vec(), &input_shares[1][i..to_index].to_...
[INFO] [stdout]    |           ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |           |
[INFO] [stdout]    |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut temp0 = vec![0u8; bit_length];
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let mut temp = temp.clone();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |             let mut temp0 = temp0.clone();
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let mut output_map = Arc::new(Mutex::new(HashMap::new()));
[INFO] [stdout]    |             ----^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |             let mut output_map = Arc::clone(&output_map);
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bit_decomposition.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut input_shares = input_shares.clone();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_binary_str_vec`
[INFO] [stdout]   --> src/bit_decomposition.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let input_binary_str_vec: Vec<&str> = binary_str.split("").collect();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_binary_str_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/bit_decomposition.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         for i in 0..diff {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/message.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let mut message = (*manager_content).map.remove(&message_id);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `Xbuffer` is never used
[INFO] [stdout]   --> src/computing_party.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 |     union Xbuffer {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_u64_matrix` is never used
[INFO] [stdout]    --> src/computing_party.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn load_u64_matrix(file_path: &String, instances: usize, add_dummy: bool, one: u64) -> Vec<Vec<Wrapping<u64>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TI_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/ti.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     const TI_BATCH_SIZE: usize = constants::TI_BATCH_SIZE;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U64S_PER_TX` is never used
[INFO] [stdout]   --> src/ti.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 |     const U64S_PER_TX: usize = constants::U64S_PER_TX;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U8S_PER_TX` is never used
[INFO] [stdout]   --> src/ti.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 |     const U8S_PER_TX: usize = constants::U8S_PER_TX;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `Xbuffer` is never used
[INFO] [stdout]   --> src/ti.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 |     union Xbuffer {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_xor_triple` is never used
[INFO] [stdout]    --> src/ti.rs:575:8
[INFO] [stdout]     |
[INFO] [stdout] 575 |     fn new_xor_triple(rng: &mut rand::ThreadRng) -> ((u64, u64, u64), (u64, u64, u64)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computing_party.rs:568:17
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 reader.read_line(&mut line);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 let _ = reader.read_line(&mut line);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computing_party.rs:571:17
[INFO] [stdout]     |
[INFO] [stdout] 571 |                 (*manager).add_message(&message);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 571 |                 let _ = (*manager).add_message(&message);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ti.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |         stream.write(message_str.as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let _ = stream.write(message_str.as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/decision_tree.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^--------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Serialize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_DecisionTreeTIShareMessage`
[INFO] [stdout] 62 |     pub struct DecisionTreeTIShareMessage {
[INFO] [stdout]    |                -------------------------- `DecisionTreeTIShareMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/decision_tree.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `Deserialize` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_DecisionTreeTIShareMessage`
[INFO] [stdout] 62 |     pub struct DecisionTreeTIShareMessage {
[INFO] [stdout]    |                -------------------------- `DecisionTreeTIShareMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/decision_tree.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |             o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 161 |             let _ = o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/decision_tree.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let _ = o_stream.write(format!("{}\n", serde_json::to_string(&message).unwrap()).as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/protocol.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let _ = o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/multiplication.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 265 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 308 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:375:13
[INFO] [stdout]     |
[INFO] [stdout] 375 |             o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 375 |             let _ = o_stream.write((serde_json::to_string(&message).unwrap() + "\n").as_bytes());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/multiplication.rs:470:9
[INFO] [stdout]     |
[INFO] [stdout] 470 |         o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let _ = o_stream.write((message + "\n").as_bytes());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/message.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |              ^--------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `Serialize` is not local
[INFO] [stdout]    |              move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_RFMessage`
[INFO] [stdout] 15 |     pub struct RFMessage {
[INFO] [stdout]    |                --------- `RFMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/message.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Serialize, Deserialize, Debug)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `Deserialize` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_RFMessage`
[INFO] [stdout] 15 |     pub struct RFMessage {
[INFO] [stdout]    |                --------- `RFMessage` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/main.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{env, thread};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TI`
[INFO] [stdout]  --> src/main.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use random_forest_rust::ti::ti::{TI, initialize_ti_context, run_ti_module};
[INFO] [stdout]   |                                  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigUint`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketAddr`, `TcpListener`, and `TcpStream`
[INFO] [stdout]   --> src/main.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{TcpListener, TcpStream, SocketAddr};
[INFO] [stdout]    |                ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Write, Read};
[INFO] [stdout]    |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::integer::*`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use num::integer::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/main.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{env, thread};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TI`
[INFO] [stdout]  --> src/main.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use random_forest_rust::ti::ti::{TI, initialize_ti_context, run_ti_module};
[INFO] [stdout]   |                                  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigUint`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::BigUint;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SocketAddr`, `TcpListener`, and `TcpStream`
[INFO] [stdout]   --> src/main.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::net::{TcpListener, TcpStream, SocketAddr};
[INFO] [stdout]    |                ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `Write`
[INFO] [stdout]   --> src/main.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::io::{Write, Read};
[INFO] [stdout]    |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> src/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use serde::{Serialize, Deserialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::integer::*`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use num::integer::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 format!("{} encountered a problem while parsing settings: {:?}", &prefix, error))
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 46 -                 format!("{} encountered a problem while parsing settings: {:?}", &prefix, error))
[INFO] [stdout] 46 +                 "{} encountered a problem while parsing settings: {:?}", &prefix, error)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 format!("{} encountered a problem while parsing settings: {:?}", &prefix, error))
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 46 -                 format!("{} encountered a problem while parsing settings: {:?}", &prefix, error))
[INFO] [stdout] 46 +                 "{} encountered a problem while parsing settings: {:?}", &prefix, error)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.78s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98", kill_on_drop: false }`
[INFO] [stdout] b4629f8cfc5208d1ed6dd89ed842092d8e561104d052feb1be34810b56550e98
