[INFO] cloning repository https://github.com/Roja-Eswaran/Rust_Multithreaded [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Roja-Eswaran/Rust_Multithreaded" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoja-Eswaran%2FRust_Multithreaded", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoja-Eswaran%2FRust_Multithreaded'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ed308c6e57e0a04404ffb60ea3cec1b8d8bb19d2 [INFO] checking Roja-Eswaran/Rust_Multithreaded/ed308c6e57e0a04404ffb60ea3cec1b8d8bb19d2 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRoja-Eswaran%2FRust_Multithreaded" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 96% (611/636) Updating files: 97% (617/636) Updating files: 98% (624/636) Updating files: 99% (630/636) Updating files: 100% (636/636) Updating files: 100% (636/636), done. [INFO] validating manifest of git repo https://github.com/Roja-Eswaran/Rust_Multithreaded on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Roja-Eswaran/Rust_Multithreaded [INFO] finished tweaking git repo https://github.com/Roja-Eswaran/Rust_Multithreaded [INFO] tweaked toml for git repo https://github.com/Roja-Eswaran/Rust_Multithreaded written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Roja-Eswaran/Rust_Multithreaded 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4c26091aec0af02b11fa8c0a71bc3240e557011349c598fa387bc1cc13ac5e5b [INFO] running `Command { std: "docker" "start" "-a" "4c26091aec0af02b11fa8c0a71bc3240e557011349c598fa387bc1cc13ac5e5b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4c26091aec0af02b11fa8c0a71bc3240e557011349c598fa387bc1cc13ac5e5b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c26091aec0af02b11fa8c0a71bc3240e557011349c598fa387bc1cc13ac5e5b", kill_on_drop: false }` [INFO] [stdout] 4c26091aec0af02b11fa8c0a71bc3240e557011349c598fa387bc1cc13ac5e5b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 505e3f3eebe7d65ab560f8c4cce8ce032879ff7f74722a5b107b844b41d6cf21 [INFO] running `Command { std: "docker" "start" "-a" "505e3f3eebe7d65ab560f8c4cce8ce032879ff7f74722a5b107b844b41d6cf21", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking libsteg v0.1.0 (/opt/rustwide/workdir/libsteg) [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking encode_decode_multi_thread v0.1.0 (/opt/rustwide/workdir/encode_decode_multi_thread) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ordering_decode_message` should have an upper camel case name [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ordering_decode_message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderingDecodeMessage` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:256:20 [INFO] [stdout] | [INFO] [stdout] 256 | if (index <= valid_files.len() - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 256 - if (index <= valid_files.len() - 1) { [INFO] [stdout] 256 + if index <= valid_files.len() - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:320:16 [INFO] [stdout] | [INFO] [stdout] 320 | if (index <= max_value - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 320 - if (index <= max_value - 1) { [INFO] [stdout] 320 + if index <= max_value - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:386:14 [INFO] [stdout] | [INFO] [stdout] 386 | for j in (0..valid_files.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 386 - for j in (0..valid_files.len()){ [INFO] [stdout] 386 + for j in 0..valid_files.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | type Job = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 39 | type Job = Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `flag` is never read [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let mut flag = 0; [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: unused variable: `ppm` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 197 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ppm` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | for i in 0..valid_files.len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fc` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | let fc = required_number_files(&valid_files, &message); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_message` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | let new_message = message.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `start_index` is assigned to, but never used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | let mut start_index = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_start_index` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message_vec` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | let message_vec: Vec = message.chars().collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | for i in 0..final_file_count { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_index` is never read [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:304:21 [INFO] [stdout] | [INFO] [stdout] 304 | start_index = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:333:21 [INFO] [stdout] | [INFO] [stdout] 333 | let handle = pool.execute(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | let mut value = &names[i]; [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] --> encode_decode_multi_thread/src/lib.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let mut total_character_message = message.chars().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] --> encode_decode_multi_thread/src/lib.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | let mut final_file_count = required_number_files(&valid_files, &message); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flag` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:370:17 [INFO] [stdout] | [INFO] [stdout] 370 | let mut flag = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_flag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ppm` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:371:17 [INFO] [stdout] | [INFO] [stdout] 371 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ppm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | let handle = pool.execute(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:406:13 [INFO] [stdout] | [INFO] [stdout] 406 | for i in 0..valid_files.len(){ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:412:13 [INFO] [stdout] | [INFO] [stdout] 412 | for i in arrange_message { [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] --> encode_decode_multi_thread/src/lib.rs:398:25 [INFO] [stdout] | [INFO] [stdout] 398 | let mut final_content = ordering_decode_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] --> encode_decode_multi_thread/src/lib.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let mut value = &names[i]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | let mut flag = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:418:9 [INFO] [stdout] | [INFO] [stdout] 418 | let mut file_format = ".ppm"; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | let mut concat_file = format!("{:07}{}", filename, file_format.to_string()); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:438:9 [INFO] [stdout] | [INFO] [stdout] 438 | let mut total_character_message = message.chars().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] --> encode_decode_multi_thread/src/lib.rs:439:9 [INFO] [stdout] | [INFO] [stdout] 439 | let mut required_bytes = total_character_message * 8; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:442:13 [INFO] [stdout] | [INFO] [stdout] 442 | let mut ppm = match libsteg::PPM::new(valid_files[i].to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:451:9 [INFO] [stdout] | [INFO] [stdout] 451 | let mut file_count: f64 = required_bytes as f64 / available_bytes as f64; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 456 | let mut total_required_null_bytes: u64 = file_count.ceil() as u64 * 8; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_character_message` [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | let mut total_character_message = message.chars().count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_character_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded` is never read [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:498:5 [INFO] [stdout] | [INFO] [stdout] 498 | encoded = vec![0u8; 0]; [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] --> encode_decode_multi_thread/src/lib.rs:476:9 [INFO] [stdout] | [INFO] [stdout] 476 | let mut total_character_message = message.chars().count(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 98 | struct Worker { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 99 | id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `message` is never read [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct ordering_decode_message { [INFO] [stdout] | ----------------------- field in this struct [INFO] [stdout] 153 | arrival: u32, [INFO] [stdout] 154 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement drops value [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | ppm; [INFO] [stdout] | ^^^^ help: use `drop` to clarify the intent: `drop(ppm);` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:423:5 [INFO] [stdout] | [INFO] [stdout] 423 | out_file.write_all(&ppm.header.magic_number); [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] 423 | let _ = out_file.write_all(&ppm.header.magic_number); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 424 | out_file.write_all(&"\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] 424 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:425:5 [INFO] [stdout] | [INFO] [stdout] 425 | out_file.write_all(ppm.header.width.to_string().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] 425 | let _ = out_file.write_all(ppm.header.width.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:426:5 [INFO] [stdout] | [INFO] [stdout] 426 | out_file.write_all(&" ".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] 426 | let _ = out_file.write_all(&" ".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | out_file.write_all(ppm.header.height.to_string().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] 427 | let _ = out_file.write_all(ppm.header.height.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:428:5 [INFO] [stdout] | [INFO] [stdout] 428 | out_file.write_all(&"\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] 428 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | out_file.write_all(ppm.header.max_color_value.to_string().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] 429 | let _ = out_file.write_all(ppm.header.max_color_value.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | out_file.write_all(&"\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] 430 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 431 | out_file.write_all(&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] 431 | let _ = out_file.write_all(&bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> encode_decode_multi_thread/src/lib.rs:432:5 [INFO] [stdout] | [INFO] [stdout] 432 | out_file.write_all(&"\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] 432 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 54 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking project04 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | type Job = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | type Job = Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | type Job = Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 | type Job = Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/lib.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 85 | struct Worker { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 86 | id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/lib.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 85 | struct Worker { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 86 | id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> src/bin/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/bin/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> src/bin/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/bin/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/bin/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ordering_decode_message` should have an upper camel case name [INFO] [stdout] --> src/bin/main.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct ordering_decode_message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderingDecodeMessage` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/bin/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ordering_decode_message` should have an upper camel case name [INFO] [stdout] --> src/bin/main.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct ordering_decode_message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `OrderingDecodeMessage` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bin/main.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | for j in (0..valid_files.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - for j in (0..valid_files.len()){ [INFO] [stdout] 71 + for j in 0..valid_files.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/bin/main.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | for j in (0..valid_files.len()){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 71 - for j in (0..valid_files.len()){ [INFO] [stdout] 71 + for j in 0..valid_files.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/main.rs:186:28 [INFO] [stdout] | [INFO] [stdout] 186 | if (index <= valid_files.len() - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 186 - if (index <= valid_files.len() - 1) { [INFO] [stdout] 186 + if index <= valid_files.len() - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/main.rs:186:28 [INFO] [stdout] | [INFO] [stdout] 186 | if (index <= valid_files.len() - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 186 - if (index <= valid_files.len() - 1) { [INFO] [stdout] 186 + if index <= valid_files.len() - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/main.rs:250:24 [INFO] [stdout] | [INFO] [stdout] 250 | if (index <= max_value - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - if (index <= max_value - 1) { [INFO] [stdout] 250 + if index <= max_value - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/bin/main.rs:250:24 [INFO] [stdout] | [INFO] [stdout] 250 | if (index <= max_value - 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 250 - if (index <= max_value - 1) { [INFO] [stdout] 250 + if index <= max_value - 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flag` [INFO] [stdout] --> src/bin/main.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | let mut flag = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_flag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ppm` [INFO] [stdout] --> src/bin/main.rs:56:25 [INFO] [stdout] | [INFO] [stdout] 56 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ppm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/bin/main.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | let handle = pool.execute(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/main.rs:91:21 [INFO] [stdout] | [INFO] [stdout] 91 | for i in 0..valid_files.len(){ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `flag` is never read [INFO] [stdout] --> src/bin/main.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | let mut flag = 0; [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: unused variable: `ppm` [INFO] [stdout] --> src/bin/main.rs:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ppm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/main.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | for i in 0..valid_files.len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fc` [INFO] [stdout] --> src/bin/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let fc = required_number_files(&valid_files, &message); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_message` [INFO] [stdout] --> src/bin/main.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | let new_message = message.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `start_index` is assigned to, but never used [INFO] [stdout] --> src/bin/main.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | let mut start_index = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_start_index` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message_vec` [INFO] [stdout] --> src/bin/main.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | let message_vec: Vec = message.chars().collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/main.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | for i in 0..final_file_count { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_index` is never read [INFO] [stdout] --> src/bin/main.rs:234:29 [INFO] [stdout] | [INFO] [stdout] 234 | ... start_index = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/bin/main.rs:263:29 [INFO] [stdout] | [INFO] [stdout] 263 | let handle = pool.execute(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flag` [INFO] [stdout] --> src/bin/main.rs:55:25 [INFO] [stdout] | [INFO] [stdout] 55 | let mut flag = 0; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_flag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ppm` [INFO] [stdout] --> src/bin/main.rs:56:25 [INFO] [stdout] | [INFO] [stdout] 56 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ppm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/bin/main.rs:80:29 [INFO] [stdout] | [INFO] [stdout] 80 | let handle = pool.execute(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/main.rs:91:21 [INFO] [stdout] | [INFO] [stdout] 91 | for i in 0..valid_files.len(){ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `flag` is never read [INFO] [stdout] --> src/bin/main.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | let mut flag = 0; [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: unused variable: `ppm` [INFO] [stdout] --> src/bin/main.rs:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ppm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/main.rs:145:17 [INFO] [stdout] | [INFO] [stdout] 145 | for i in 0..valid_files.len() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fc` [INFO] [stdout] --> src/bin/main.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | let fc = required_number_files(&valid_files, &message); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_fc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_message` [INFO] [stdout] --> src/bin/main.rs:156:17 [INFO] [stdout] | [INFO] [stdout] 156 | let new_message = message.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `start_index` is assigned to, but never used [INFO] [stdout] --> src/bin/main.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | let mut start_index = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_start_index` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message_vec` [INFO] [stdout] --> src/bin/main.rs:168:17 [INFO] [stdout] | [INFO] [stdout] 168 | let message_vec: Vec = message.chars().collect(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/bin/main.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | for i in 0..final_file_count { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_index` is never read [INFO] [stdout] --> src/bin/main.rs:234:29 [INFO] [stdout] | [INFO] [stdout] 234 | ... start_index = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handle` [INFO] [stdout] --> src/bin/main.rs:263:29 [INFO] [stdout] | [INFO] [stdout] 263 | let handle = pool.execute(move || { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:83:33 [INFO] [stdout] | [INFO] [stdout] 83 | ... let mut final_content = ordering_decode_message { [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/bin/main.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | let mut value = &names[i]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | let mut flag = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let mut value = &names[i]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | let mut total_character_message = message.chars().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/bin/main.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | let mut final_file_count = required_number_files(&valid_files, &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/bin/main.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | let mut file_format = ".ppm"; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | let mut concat_file = format!("{:07}{}", filename, file_format.to_string()); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:83:33 [INFO] [stdout] | [INFO] [stdout] 83 | ... let mut final_content = ordering_decode_message { [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/bin/main.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | let mut total_character_message = message.chars().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/bin/main.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | let mut required_bytes = total_character_message * 8; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let mut ppm = match libsteg::PPM::new(valid_files[i].to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | let mut file_count: f64 = required_bytes as f64 / available_bytes as f64; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:319:9 [INFO] [stdout] | [INFO] [stdout] 319 | let mut total_required_null_bytes: u64 = file_count.ceil() as u64 * 8; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_character_message` [INFO] [stdout] --> src/bin/main.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | let mut total_character_message = message.chars().count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_character_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded` is never read [INFO] [stdout] --> src/bin/main.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | encoded = vec![0u8; 0]; [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/bin/main.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | let mut total_character_message = message.chars().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/bin/main.rs:53:21 [INFO] [stdout] | [INFO] [stdout] 53 | let mut value = &names[i]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | let mut flag = 0; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | let mut value = &names[i]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:127:21 [INFO] [stdout] | [INFO] [stdout] 127 | let mut ppm = match libsteg::PPM::new(value.to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | let mut total_character_message = message.chars().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/bin/main.rs:178:17 [INFO] [stdout] | [INFO] [stdout] 178 | let mut final_file_count = required_number_files(&valid_files, &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/bin/main.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | let mut file_format = ".ppm"; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | let mut concat_file = format!("{:07}{}", filename, file_format.to_string()); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | let mut total_character_message = message.chars().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/bin/main.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | let mut required_bytes = total_character_message * 8; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let mut ppm = match libsteg::PPM::new(valid_files[i].to_string()) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | let mut file_count: f64 = required_bytes as f64 / available_bytes as f64; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/main.rs:319:9 [INFO] [stdout] | [INFO] [stdout] 319 | let mut total_required_null_bytes: u64 = file_count.ceil() as u64 * 8; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_character_message` [INFO] [stdout] --> src/bin/main.rs:340:13 [INFO] [stdout] | [INFO] [stdout] 340 | let mut total_character_message = message.chars().count(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_character_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `encoded` is never read [INFO] [stdout] --> src/bin/main.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | encoded = vec![0u8; 0]; [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/bin/main.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | let mut total_character_message = message.chars().count(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:98:21 [INFO] [stdout] | [INFO] [stdout] 98 | io::stdout().write(&i.message.as_bytes()); [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] 98 | let _ = io::stdout().write(&i.message.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement drops value [INFO] [stdout] --> src/bin/main.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | ppm; [INFO] [stdout] | ^^^^ help: use `drop` to clarify the intent: `drop(ppm);` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | out_file.write_all(&ppm.header.magic_number); [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] 291 | let _ = out_file.write_all(&ppm.header.magic_number); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | out_file.write_all(&"\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] 292 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | out_file.write_all(ppm.header.width.to_string().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] 293 | let _ = out_file.write_all(ppm.header.width.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:294:5 [INFO] [stdout] | [INFO] [stdout] 294 | out_file.write_all(&" ".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] 294 | let _ = out_file.write_all(&" ".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 295 | out_file.write_all(ppm.header.height.to_string().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] 295 | let _ = out_file.write_all(ppm.header.height.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | out_file.write_all(&"\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] 296 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | out_file.write_all(ppm.header.max_color_value.to_string().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] 297 | let _ = out_file.write_all(ppm.header.max_color_value.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | out_file.write_all(&"\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] 298 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | out_file.write_all(&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] 299 | let _ = out_file.write_all(&bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | out_file.write_all(&"\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] 300 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:98:21 [INFO] [stdout] | [INFO] [stdout] 98 | io::stdout().write(&i.message.as_bytes()); [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] 98 | let _ = io::stdout().write(&i.message.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: path statement drops value [INFO] [stdout] --> src/bin/main.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | ppm; [INFO] [stdout] | ^^^^ help: use `drop` to clarify the intent: `drop(ppm);` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(path_statements)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:291:5 [INFO] [stdout] | [INFO] [stdout] 291 | out_file.write_all(&ppm.header.magic_number); [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] 291 | let _ = out_file.write_all(&ppm.header.magic_number); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | out_file.write_all(&"\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] 292 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:293:5 [INFO] [stdout] | [INFO] [stdout] 293 | out_file.write_all(ppm.header.width.to_string().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] 293 | let _ = out_file.write_all(ppm.header.width.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:294:5 [INFO] [stdout] | [INFO] [stdout] 294 | out_file.write_all(&" ".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] 294 | let _ = out_file.write_all(&" ".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 295 | out_file.write_all(ppm.header.height.to_string().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] 295 | let _ = out_file.write_all(ppm.header.height.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | out_file.write_all(&"\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] 296 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | out_file.write_all(ppm.header.max_color_value.to_string().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] 297 | let _ = out_file.write_all(ppm.header.max_color_value.to_string().as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | out_file.write_all(&"\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] 298 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:299:5 [INFO] [stdout] | [INFO] [stdout] 299 | out_file.write_all(&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] 299 | let _ = out_file.write_all(&bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/main.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | out_file.write_all(&"\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] 300 | let _ = out_file.write_all(&"\n".as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "505e3f3eebe7d65ab560f8c4cce8ce032879ff7f74722a5b107b844b41d6cf21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "505e3f3eebe7d65ab560f8c4cce8ce032879ff7f74722a5b107b844b41d6cf21", kill_on_drop: false }` [INFO] [stdout] 505e3f3eebe7d65ab560f8c4cce8ce032879ff7f74722a5b107b844b41d6cf21