[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] building sjwjames/secure_rf against try#8b8eff55bd72abbb57167bc42222a7f91d41cb0d for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsjwjames%2Fsecure_rf" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sjwjames/secure_rf on toolchain 8b8eff55bd72abbb57167bc42222a7f91d41cb0d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-0-tc2/source/Cargo.toml [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" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8bd0d56c6cdb6eb7e642ca01619ea5a6aac077073c1d7c15b7387209a0824dba [INFO] running `Command { std: "docker" "start" "-a" "8bd0d56c6cdb6eb7e642ca01619ea5a6aac077073c1d7c15b7387209a0824dba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8bd0d56c6cdb6eb7e642ca01619ea5a6aac077073c1d7c15b7387209a0824dba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8bd0d56c6cdb6eb7e642ca01619ea5a6aac077073c1d7c15b7387209a0824dba", kill_on_drop: false }` [INFO] [stdout] 8bd0d56c6cdb6eb7e642ca01619ea5a6aac077073c1d7c15b7387209a0824dba [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bd6a0ed7b61d54def49b8edd33dc8fbbdf288d1c8c21b37e03311299fa945f51 [INFO] running `Command { std: "docker" "start" "-a" "bd6a0ed7b61d54def49b8edd33dc8fbbdf288d1c8c21b37e03311299fa945f51", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.7 [INFO] [stderr] Compiling serde v1.0.102 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling serde v0.8.23 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Compiling thread_local v0.3.6 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling aho-corasick v0.7.6 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling regex-syntax v0.6.12 [INFO] [stderr] Compiling itoa v0.4.4 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling regex-automata v0.1.8 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling linked-hash-map v0.5.2 [INFO] [stderr] Compiling yaml-rust v0.4.3 [INFO] [stderr] Compiling serde_test v0.8.23 [INFO] [stderr] Compiling linked-hash-map v0.3.0 [INFO] [stderr] Compiling csv-core v0.1.6 [INFO] [stderr] Compiling num_cpus v1.11.0 [INFO] [stderr] Compiling rust-ini v0.13.0 [INFO] [stderr] Compiling threadpool v1.7.1 [INFO] [stderr] Compiling num v0.2.0 [INFO] [stderr] Compiling serde_derive v1.0.102 [INFO] [stderr] Compiling regex v1.3.1 [INFO] [stderr] Compiling serde-hjson v0.8.2 [INFO] [stderr] Compiling serde_json v1.0.41 [INFO] [stderr] Compiling toml v0.4.10 [INFO] [stderr] Compiling bstr v0.2.8 [INFO] [stderr] Compiling csv v1.1.1 [INFO] [stderr] Compiling config v0.9.3 [INFO] [stderr] Compiling 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)]` 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 | use crate::computing_party::computing_party::{ComputingParty, get_formatted_address, try_setup_socket, initialize_party_context, ti_r... [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)]` 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, [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] = help: 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: see 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] = help: 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: see 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] = help: 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: see 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] = help: 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: see 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)]` 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)]` 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 | ...stance_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: 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:17 [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: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)]` 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: 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: unused variable: `ctx` [INFO] [stdout] --> src/ti.rs:417:21 [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:17 [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: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: `share1_map` [INFO] [stdout] --> src/ti.rs:464:17 [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: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: 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: 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/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: value assigned to `major_class_index_receive` is never read [INFO] [stdout] --> src/decision_tree.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | let mut major_class_index_receive: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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: 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/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: `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: 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: 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: 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: value assigned to `output` is never read [INFO] [stdout] --> src/field_change.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | let mut output = Vec::new(); [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/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:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let mut output = Vec::new(); [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/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: 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_copi... [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: unused variable: `output` [INFO] [stdout] --> src/or_xor.rs:65:17 [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/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: value assigned to `diff_list_message` is never read [INFO] [stdout] --> src/multiplication.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let mut diff_list_message = String::new(); [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: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: 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: value assigned to `received_list` is never read [INFO] [stdout] --> src/multiplication.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | let mut received_list: Vec = Vec::new(); [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: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: variable `received_list` is assigned to, but never used [INFO] [stdout] --> src/multiplication.rs:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | let mut received_list: Vec> = 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: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: 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: 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: value assigned to `received_list` is never read [INFO] [stdout] --> src/multiplication.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | let mut received_list: Vec>> = Vec::new(); [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: 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_index2].... [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_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/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: 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:17 [INFO] [stdout] | [INFO] [stdout] 20 | let mut w = -1; [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/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_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: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: `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/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_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/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: 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)]` 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>> { [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)]` 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)]` 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 [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` 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 33.29s [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 1` [INFO] running `Command { std: "docker" "inspect" "bd6a0ed7b61d54def49b8edd33dc8fbbdf288d1c8c21b37e03311299fa945f51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd6a0ed7b61d54def49b8edd33dc8fbbdf288d1c8c21b37e03311299fa945f51", kill_on_drop: false }` [INFO] [stdout] bd6a0ed7b61d54def49b8edd33dc8fbbdf288d1c8c21b37e03311299fa945f51 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+8b8eff55bd72abbb57167bc42222a7f91d41cb0d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 183828d6093710ef85fbfd256bfee0bd6a81b31cc50cd744485c876ddd7c6389 [INFO] running `Command { std: "docker" "start" "-a" "183828d6093710ef85fbfd256bfee0bd6a81b31cc50cd744485c876ddd7c6389", kill_on_drop: false }` [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)]` 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 | use crate::computing_party::computing_party::{ComputingParty, get_formatted_address, try_setup_socket, initialize_party_context, ti_r... [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)]` 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, [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] = help: 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: see 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] = help: 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: see 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] = help: 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: see 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] = help: 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: see 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)]` 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)]` 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 | ...stance_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: 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:17 [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: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)]` 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: 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: unused variable: `ctx` [INFO] [stdout] --> src/ti.rs:417:21 [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:17 [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: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: `share1_map` [INFO] [stdout] --> src/ti.rs:464:17 [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: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: 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: 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/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: value assigned to `major_class_index_receive` is never read [INFO] [stdout] --> src/decision_tree.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | let mut major_class_index_receive: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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: 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/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: `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: 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: 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: 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: value assigned to `output` is never read [INFO] [stdout] --> src/field_change.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | let mut output = Vec::new(); [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/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:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let mut output = Vec::new(); [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/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: 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_copi... [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: unused variable: `output` [INFO] [stdout] --> src/or_xor.rs:65:17 [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/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: value assigned to `diff_list_message` is never read [INFO] [stdout] --> src/multiplication.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let mut diff_list_message = String::new(); [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: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: 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: value assigned to `received_list` is never read [INFO] [stdout] --> src/multiplication.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | let mut received_list: Vec = Vec::new(); [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: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: variable `received_list` is assigned to, but never used [INFO] [stdout] --> src/multiplication.rs:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | let mut received_list: Vec> = 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: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: 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: 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: value assigned to `received_list` is never read [INFO] [stdout] --> src/multiplication.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | let mut received_list: Vec>> = Vec::new(); [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: 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_index2].... [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_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/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: 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:17 [INFO] [stdout] | [INFO] [stdout] 20 | let mut w = -1; [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/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_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: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: `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/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_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/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: 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)]` 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>> { [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)]` 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] [stderr] Compiling random_forest_rust v0.1.0 (/opt/rustwide/workdir) [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)]` 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 [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` 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: 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)]` 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 | use crate::computing_party::computing_party::{ComputingParty, get_formatted_address, try_setup_socket, initialize_party_context, ti_r... [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)]` 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, [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] = help: 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: see 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] = help: 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: see 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] = help: 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: see 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] = help: 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: see 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)]` 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)]` 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 | ...stance_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: 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:17 [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: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)]` 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: 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: unused variable: `ctx` [INFO] [stdout] --> src/ti.rs:417:21 [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:17 [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: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: `share1_map` [INFO] [stdout] --> src/ti.rs:464:17 [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: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: 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: 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/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: value assigned to `major_class_index_receive` is never read [INFO] [stdout] --> src/decision_tree.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | let mut major_class_index_receive: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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: 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/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: `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: 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: 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: 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: value assigned to `output` is never read [INFO] [stdout] --> src/field_change.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | let mut output = Vec::new(); [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/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:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let mut output = Vec::new(); [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/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: 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_copi... [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: unused variable: `output` [INFO] [stdout] --> src/or_xor.rs:65:17 [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/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: value assigned to `diff_list_message` is never read [INFO] [stdout] --> src/multiplication.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let mut diff_list_message = String::new(); [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: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: 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: value assigned to `received_list` is never read [INFO] [stdout] --> src/multiplication.rs:257:17 [INFO] [stdout] | [INFO] [stdout] 257 | let mut received_list: Vec = Vec::new(); [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: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: variable `received_list` is assigned to, but never used [INFO] [stdout] --> src/multiplication.rs:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | let mut received_list: Vec> = 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: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: 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: 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: value assigned to `received_list` is never read [INFO] [stdout] --> src/multiplication.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | let mut received_list: Vec>> = Vec::new(); [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: 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_index2].... [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_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/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: 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:17 [INFO] [stdout] | [INFO] [stdout] 20 | let mut w = -1; [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/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_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: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: `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/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_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/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: 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)]` 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>> { [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)]` 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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.53s [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 1` [INFO] running `Command { std: "docker" "inspect" "183828d6093710ef85fbfd256bfee0bd6a81b31cc50cd744485c876ddd7c6389", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "183828d6093710ef85fbfd256bfee0bd6a81b31cc50cd744485c876ddd7c6389", kill_on_drop: false }` [INFO] [stdout] 183828d6093710ef85fbfd256bfee0bd6a81b31cc50cd744485c876ddd7c6389