[INFO] cloning repository https://github.com/szn-cs/rust-practice [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/szn-cs/rust-practice" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fszn-cs%2Frust-practice", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fszn-cs%2Frust-practice'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bf04cded513951d4157c3291588a0c997832782f [INFO] checking szn-cs/rust-practice against try#5de9e0e6cf775e94e0de2003f35e183f3f77bfe8 for pr-143808 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fszn-cs%2Frust-practice" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/szn-cs/rust-practice [INFO] finished tweaking git repo https://github.com/szn-cs/rust-practice [INFO] tweaked toml for git repo https://github.com/szn-cs/rust-practice written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/szn-cs/rust-practice on toolchain 5de9e0e6cf775e94e0de2003f35e183f3f77bfe8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/szn-cs/rust-practice 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" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/datastructure/Cargo.toml: unused manifest key: toolchain [INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/Cargo.toml: unused manifest key: toolchain [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking szn-cs/rust-practice against try#5de9e0e6cf775e94e0de2003f35e183f3f77bfe8 for pr-143808 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fszn-cs%2Frust-practice" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/szn-cs/rust-practice [INFO] finished tweaking git repo https://github.com/szn-cs/rust-practice [INFO] tweaked toml for git repo https://github.com/szn-cs/rust-practice written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/szn-cs/rust-practice on toolchain 5de9e0e6cf775e94e0de2003f35e183f3f77bfe8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/szn-cs/rust-practice 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" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/datastructure/Cargo.toml: unused manifest key: toolchain [INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/Cargo.toml: unused manifest key: toolchain [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 652bf7c03c6ac52faaf3b2921871e6171c5dbf847e46cb716b66d25c6a8bc1f7 [INFO] running `Command { std: "docker" "start" "-a" "652bf7c03c6ac52faaf3b2921871e6171c5dbf847e46cb716b66d25c6a8bc1f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "652bf7c03c6ac52faaf3b2921871e6171c5dbf847e46cb716b66d25c6a8bc1f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "652bf7c03c6ac52faaf3b2921871e6171c5dbf847e46cb716b66d25c6a8bc1f7", kill_on_drop: false }` [INFO] [stdout] 652bf7c03c6ac52faaf3b2921871e6171c5dbf847e46cb716b66d25c6a8bc1f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6e4e7caa9e350fd2e0b00f9d565ba674412681a857dcfdda2a96641e4ec92bc0 [INFO] running `Command { std: "docker" "start" "-a" "6e4e7caa9e350fd2e0b00f9d565ba674412681a857dcfdda2a96641e4ec92bc0", kill_on_drop: false }` [INFO] [stderr] warning: /opt/rustwide/workdir/datastructure/Cargo.toml: unused manifest key: toolchain [INFO] [stderr] warning: /opt/rustwide/workdir/Cargo.toml: unused manifest key: toolchain [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.16 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking once_cell v1.20.3 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Compiling serde_json v1.0.138 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Checking specification v0.1.0 (/opt/rustwide/workdir/specification) [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stdout] warning: unused import: `Iterator` [INFO] [stdout] --> specification/src/datastructure/linked_list.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use std::iter::{IntoIterator, Iterator}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking bytes v1.10.0 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking ryu v1.0.19 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking log v0.4.25 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking datastructure v0.1.0 (/opt/rustwide/workdir/datastructure) [INFO] [stderr] Checking algorithm v0.1.0 (/opt/rustwide/workdir/algorithm) [INFO] [stderr] Checking clap v2.34.0 [INFO] [stdout] warning: unused imports: `Debug` and `Display` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::zip` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | use std::iter::zip; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:342:9 [INFO] [stdout] | [INFO] [stdout] 342 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:408:23 [INFO] [stdout] | [INFO] [stdout] 408 | if(h >= n) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 408 - if(h >= n) { [INFO] [stdout] 408 + if h >= n { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Debug` and `Display` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::zip` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 92 | use std::iter::zip; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:342:9 [INFO] [stdout] | [INFO] [stdout] 342 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:344:9 [INFO] [stdout] | [INFO] [stdout] 344 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:408:23 [INFO] [stdout] | [INFO] [stdout] 408 | if(h >= n) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 408 - if(h >= n) { [INFO] [stdout] 408 + if h >= n { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Iterator` [INFO] [stdout] --> specification/src/datastructure/linked_list.rs:1:31 [INFO] [stdout] | [INFO] [stdout] 1 | use std::iter::{IntoIterator, Iterator}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tracing-log v0.1.4 [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `specification::algorithm::sort::Sorter` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use specification::algorithm::sort::Sorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `specification::algorithm::sort::Sorter` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use specification::algorithm::sort::Sorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compare` [INFO] [stdout] --> algorithm/src/sort/insertion_sort.rs:70:40 [INFO] [stdout] | [INFO] [stdout] 70 | fn sort(slice: &mut [T], compare: F) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `specification::algorithm::sort::Sorter` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use specification::algorithm::sort::Sorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `specification::algorithm::sort::Sorter` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use specification::algorithm::sort::Sorter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | use super::*; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compare` [INFO] [stdout] --> algorithm/src/sort/insertion_sort.rs:70:40 [INFO] [stdout] | [INFO] [stdout] 70 | fn sort(slice: &mut [T], compare: F) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> algorithm/src/sort/merge_sort.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | let mut sorted = { [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] --> algorithm/src/sort/merge_sort.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 44 | let mut sorted = { [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: unused variable: `slice` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:95:31 [INFO] [stdout] | [INFO] [stdout] 95 | let pick_pivot = |slice: &mut [T]| 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:95:31 [INFO] [stdout] | [INFO] [stdout] 95 | let pick_pivot = |slice: &mut [T]| 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:180:31 [INFO] [stdout] | [INFO] [stdout] 180 | let pick_pivot = |slice: &mut [T]| 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:180:31 [INFO] [stdout] | [INFO] [stdout] 180 | let pick_pivot = |slice: &mut [T]| 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:263:39 [INFO] [stdout] | [INFO] [stdout] 263 | let pick_pivot = |slice: &mut [T]| 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> algorithm/src/sort/quick_sort.rs:263:39 [INFO] [stdout] | [INFO] [stdout] 263 | let pick_pivot = |slice: &mut [T]| 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compare` [INFO] [stdout] --> algorithm/src/sort/selection_sort.rs:47:40 [INFO] [stdout] | [INFO] [stdout] 47 | fn sort(slice: &mut [T], compare: F) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compare` [INFO] [stdout] --> algorithm/src/sort/selection_sort.rs:47:40 [INFO] [stdout] | [INFO] [stdout] 47 | fn sort(slice: &mut [T], compare: F) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Checking chrono v0.4.39 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking atoi v0.3.3 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking matchers v0.0.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking tracing-serde v0.1.3 [INFO] [stderr] Compiling structopt-derive v0.4.18 [INFO] [stderr] Checking structopt v0.3.26 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling pin-project-internal v1.1.9 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking tokio v1.43.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking pin-project v1.1.9 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking tracing-subscriber v0.2.25 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking coding_problem v0.1.0 (/opt/rustwide/workdir/coding_problem) [INFO] [stdout] warning: unused import: `ops::Sub` [INFO] [stdout] --> coding_problem/src/binary_search.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | ops::Sub, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeBounds` [INFO] [stdout] --> coding_problem/src/k_maximum_element.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | use std::ops::RangeBounds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> coding_problem/src/missing_positive_num.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for i in (1..=v.len() as i32) { [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 i in (1..=v.len() as i32) { [INFO] [stdout] 71 + for i in 1..=v.len() as i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Reverse` [INFO] [stdout] --> coding_problem/src/top_k_most_frequent.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> coding_problem/src/valid_parentheses.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ops::Sub` [INFO] [stdout] --> coding_problem/src/binary_search.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | ops::Sub, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> coding_problem/src/binary_search.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeBounds` [INFO] [stdout] --> coding_problem/src/k_maximum_element.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | use std::ops::RangeBounds; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> coding_problem/src/missing_positive_num.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for i in (1..=v.len() as i32) { [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 i in (1..=v.len() as i32) { [INFO] [stdout] 71 + for i in 1..=v.len() as i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::Reverse` [INFO] [stdout] --> coding_problem/src/top_k_most_frequent.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::Reverse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> coding_problem/src/two_sum.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> coding_problem/src/valid_parentheses.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/elements_at_level_in_binary_tree.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut current = NonNull::new(&mut (*self).clone()); [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] --> coding_problem/src/elements_at_level_in_binary_tree.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | let (mut l, mut r) = ( [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> coding_problem/src/fibunnaci.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | fn generate_fib(p: u64) -> u64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/linked_list_intersection.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut head = Node::new('z'); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> coding_problem/src/linked_list_kth_element.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let p = list as *mut _ as *mut u8; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tail` [INFO] [stdout] --> coding_problem/src/linked_list_kth_element.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let tail = unsafe { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tail` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | s.push_str(&format!("{} ", unsafe { current_ref.value })); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut dummy = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let mut node = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut dummy = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/missing_positive_num.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn missing_positive_integer(mut v: &mut [i32]) -> Option { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> coding_problem/src/remove_zero_sum_nodes.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | let b = unsafe { Box::from_raw(last) }; // drop allocated memory [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/sort_colors.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut range_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] --> coding_problem/src/top_k_most_frequent.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut v = 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] --> coding_problem/src/two_sum.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut list = { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `balanced_tree::Node` is more private than the item `is_balanced_tree` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn is_balanced_tree(n: NonNull) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `is_balanced_tree` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `balanced_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `balanced_tree::Node` is more private than the item `is_balanced_tree_helper` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn is_balanced_tree_helper(n: NonNull) -> (bool, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `is_balanced_tree_helper` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `balanced_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `count_unival_subtrees::Node` is more private than the item `count_unival_subtrees` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn count_unival_subtrees(node: Option) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `count_unival_subtrees` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `count_unival_subtrees::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `count_unival_subtrees::Node` is more private than the item `count_unival_subtrees_helper` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn count_unival_subtrees_helper(node: Option) -> (usize, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `count_unival_subtrees_helper` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `count_unival_subtrees::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `depth_binary_tree::Node` is more private than the item `depth_binary_tree` [INFO] [stdout] --> coding_problem/src/depth_binary_tree.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn depth_binary_tree(node: Option) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `depth_binary_tree` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `depth_binary_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/depth_binary_tree.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `elements_at_level_in_binary_tree::Node` is more private than the item `values_at_level` [INFO] [stdout] --> coding_problem/src/elements_at_level_in_binary_tree.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn values_at_level(node: NonNull, depth: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `values_at_level` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `elements_at_level_in_binary_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/elements_at_level_in_binary_tree.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::str::::trim` that must be used [INFO] [stdout] --> coding_problem/src/linked_list_intersection.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | s.trim(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this returns the trimmed string as a slice, without modifying the original [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = s.trim(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let ROW = grid.len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let COL = grid[0].len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let ROW = grid.len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let COL = grid[0].len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | let ROW = grid.len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | let COL = grid[0].len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:120:14 [INFO] [stdout] | [INFO] [stdout] 120 | let (ROW, COL) = (grid.len(), grid[0].len()); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:120:19 [INFO] [stdout] | [INFO] [stdout] 120 | let (ROW, COL) = (grid.len(), grid[0].len()); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let R: usize = v.len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let C: usize = v[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | let N: usize = v.len() * v[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let N = v.len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | let M = v[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | let N = self.matrix.len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let M = self.matrix[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:16:34 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/elements_at_level_in_binary_tree.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut current = NonNull::new(&mut (*self).clone()); [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] --> coding_problem/src/elements_at_level_in_binary_tree.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | let (mut l, mut r) = ( [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> coding_problem/src/fibunnaci.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | fn generate_fib(p: u64) -> u64 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/k_maximum_element.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let mut v = vec![3, 7, 1, 4, 2, 9, 8, 6]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/linked_list_intersection.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut head = Node::new('z'); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> coding_problem/src/linked_list_kth_element.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let p = list as *mut _ as *mut u8; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tail` [INFO] [stdout] --> coding_problem/src/linked_list_kth_element.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | let tail = unsafe { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tail` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | s.push_str(&format!("{} ", unsafe { current_ref.value })); [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut dummy = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let mut node = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | let mut dummy = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | for (i, &value) in [3, 5, 6, 10, 11, 13].iter().enumerate() { [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] --> coding_problem/src/merge_linked_lists.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | let mut dummy = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> coding_problem/src/merge_linked_lists.rs:190:18 [INFO] [stdout] | [INFO] [stdout] 190 | for (i, &value) in [3, 5, 6, 10, 11, 13].iter().enumerate() { [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] --> coding_problem/src/merge_linked_lists.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 202 | let mut dummy = NonNull::new(Box::into_raw(Box::new(Node { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/missing_positive_num.rs:13:37 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn missing_positive_integer(mut v: &mut [i32]) -> Option { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/num_islands.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | let mut grid = vec![ [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> coding_problem/src/remove_zero_sum_nodes.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | let b = unsafe { Box::from_raw(last) }; // drop allocated memory [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> coding_problem/src/sort_colors.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut range_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] --> coding_problem/src/sort_colors.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let mut v = [1, 0, 1, 2, 0, 2, 0, 1, 0, 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] --> coding_problem/src/sort_colors.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut v = [1, 0, 1, 2, 0, 2, 0, 1, 0, 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] --> coding_problem/src/top_k_most_frequent.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut v = 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] --> coding_problem/src/two_sum.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut list = { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `balanced_tree::Node` is more private than the item `balanced_tree::is_balanced_tree` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn is_balanced_tree(n: NonNull) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `balanced_tree::is_balanced_tree` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `balanced_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `balanced_tree::Node` is more private than the item `is_balanced_tree_helper` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn is_balanced_tree_helper(n: NonNull) -> (bool, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `is_balanced_tree_helper` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `balanced_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/balanced_tree.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `count_unival_subtrees::Node` is more private than the item `count_unival_subtrees::count_unival_subtrees` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn count_unival_subtrees(node: Option) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `count_unival_subtrees::count_unival_subtrees` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `count_unival_subtrees::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `count_unival_subtrees::Node` is more private than the item `count_unival_subtrees_helper` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn count_unival_subtrees_helper(node: Option) -> (usize, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `count_unival_subtrees_helper` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `count_unival_subtrees::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/count_unival_subtrees.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `depth_binary_tree::Node` is more private than the item `depth_binary_tree::depth_binary_tree` [INFO] [stdout] --> coding_problem/src/depth_binary_tree.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn depth_binary_tree(node: Option) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `depth_binary_tree::depth_binary_tree` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `depth_binary_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/depth_binary_tree.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `elements_at_level_in_binary_tree::Node` is more private than the item `elements_at_level_in_binary_tree::values_at_level` [INFO] [stdout] --> coding_problem/src/elements_at_level_in_binary_tree.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn values_at_level(node: NonNull, depth: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `elements_at_level_in_binary_tree::values_at_level` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `elements_at_level_in_binary_tree::Node` is only usable at visibility `pub(self)` [INFO] [stdout] --> coding_problem/src/elements_at_level_in_binary_tree.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | struct Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::str::::trim` that must be used [INFO] [stdout] --> coding_problem/src/linked_list_intersection.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | s.trim(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this returns the trimmed string as a slice, without modifying the original [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 44 | let _ = s.trim(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let ROW = grid.len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:17:13 [INFO] [stdout] | [INFO] [stdout] 17 | let COL = grid[0].len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let ROW = grid.len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let COL = grid[0].len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | let ROW = grid.len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | let COL = grid[0].len(); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ROW` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:120:14 [INFO] [stdout] | [INFO] [stdout] 120 | let (ROW, COL) = (grid.len(), grid[0].len()); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `COL` should have a snake case name [INFO] [stdout] --> coding_problem/src/num_islands.rs:120:19 [INFO] [stdout] | [INFO] [stdout] 120 | let (ROW, COL) = (grid.len(), grid[0].len()); [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `R` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let R: usize = v.len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `C` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let C: usize = v[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | let N: usize = v.len() * v[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:111:17 [INFO] [stdout] | [INFO] [stdout] 111 | let N = v.len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | let M = v[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | let N = self.matrix.len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/spiral_matrix.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let M = self.matrix[0].len(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:3:34 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `N` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `M` should have a snake case name [INFO] [stdout] --> coding_problem/src/unique_path.rs:16:34 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn unique_path(N: usize, M: usize) -> usize { [INFO] [stdout] | ^ help: convert the identifier to snake case: `m` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking concept v0.1.0 (/opt/rustwide/workdir/concept) [INFO] [stdout] warning: unused import: `std::iter` [INFO] [stdout] --> concept/src/custom_range.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::iter; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Shutdown` [INFO] [stdout] --> concept/src/sync.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{self, Shutdown, TcpStream}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> concept/src/iterator.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | let iter = (0..10); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 22 - let iter = (0..10); [INFO] [stdout] 22 + let iter = 0..10; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Shutdown` [INFO] [stdout] --> concept/src/sync.rs:2:22 [INFO] [stdout] | [INFO] [stdout] 2 | use std::net::{self, Shutdown, TcpStream}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> concept/src/twoD_to_slices.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `work_type` [INFO] [stdout] --> concept/src/asynchronous.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | async fn do_work(work_type: WorkType) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_work_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `work_type` [INFO] [stdout] --> concept/src/asynchronous.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | async fn do_work(work_type: WorkType) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_work_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> concept/src/cell.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut r: &mut i32 = c.get_mut(); // compile time borrowing [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] --> concept/src/cell.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut t = c.borrow_mut(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p9` [INFO] [stdout] --> concept/src/unsafe_pionter.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let p9 = p1 as *mut _; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p9` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p5` [INFO] [stdout] --> concept/src/unsafe_pionter.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let p5 = NonNull::new(p2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p5` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> concept/src/unsafe_pionter.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let p = v.as_mut_ptr(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_work_1` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | fn do_work_1() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_work_2` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | fn do_work_2() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_threads` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn run_threads(n: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_scoped_threads` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn run_scoped_threads(n: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_work_a` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 66 | async fn do_work_a() -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_work_b` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:71:14 [INFO] [stdout] | [INFO] [stdout] 71 | async fn do_work_b() -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WorkType` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | enum WorkType {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_work` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | async fn do_work(work_type: WorkType) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_async_work` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:81:18 [INFO] [stdout] | [INFO] [stdout] 81 | pub async fn run_async_work(n: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interior_mutability_references` is never used [INFO] [stdout] --> concept/src/cell.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn interior_mutability_references() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Method` is never used [INFO] [stdout] --> concept/src/from_trait.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | enum Method { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Trait` is never used [INFO] [stdout] --> concept/src/generic_trait.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | trait Trait { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reference_counting` is never used [INFO] [stdout] --> concept/src/reference_counting.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn reference_counting() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rc_weak` is never used [INFO] [stdout] --> concept/src/reference_counting.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn rc_weak() { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `twoD_to_slices` should have a snake case name [INFO] [stdout] --> concept/src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub mod twoD_to_slices; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `two_d_to_slices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rust-practice v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> concept/src/cell.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut r: &mut i32 = c.get_mut(); // compile time borrowing [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] --> concept/src/cell.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut t = c.borrow_mut(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `method` [INFO] [stdout] --> concept/src/from_trait.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let method: Method = type_method.into(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> concept/src/bin/sync.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | use std::net::{self, Shutdown, TcpStream}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> concept/src/bin/sync.rs:12:16 [INFO] [stdout] | [INFO] [stdout] 12 | use std::net::{self, Shutdown, TcpStream}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p9` [INFO] [stdout] --> concept/src/unsafe_pionter.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let p9 = p1 as *mut _; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p9` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p5` [INFO] [stdout] --> concept/src/unsafe_pionter.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let p5 = NonNull::new(p2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_p5` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> concept/src/unsafe_pionter.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let p = v.as_mut_ptr(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WorkType` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:76:10 [INFO] [stdout] | [INFO] [stdout] 76 | enum WorkType {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_work` is never used [INFO] [stdout] --> concept/src/asynchronous.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | async fn do_work(work_type: WorkType) {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `field` is never read [INFO] [stdout] --> concept/src/generic_trait.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 13 | struct Struct { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 14 | field: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `twoD_to_slices` should have a snake case name [INFO] [stdout] --> concept/src/lib.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub mod twoD_to_slices; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `two_d_to_slices` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option` [INFO] [stdout] --> src/tests/single_linked_list_2.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::option; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option` [INFO] [stdout] --> src/tests/single_linked_list_3.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::option; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::option` [INFO] [stdout] --> src/tests/single_linked_list_pointer.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::option; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/tests/practice.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | 'l2: loop { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> src/tests/practice.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | 'l3: loop { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/tests/practice.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 28 | break 'l1; [INFO] [stdout] | --------- any code following this expression is unreachable [INFO] [stdout] 29 | } [INFO] [stdout] 30 | println!("l{}", 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `S` is never constructed [INFO] [stdout] --> src/tests/practice.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct S; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `method` is never used [INFO] [stdout] --> src/tests/practice.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl S { [INFO] [stdout] | ------ method in this implementation [INFO] [stdout] 17 | fn method(&self) -> &S { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculateCompileTime` should have a snake case name [INFO] [stdout] --> src/tests/practice.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | const fn calculateCompileTime() -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `calculate_compile_time` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `controlFlow` should have a snake case name [INFO] [stdout] --> src/tests/practice.rs:23:4 [INFO] [stdout] | [INFO] [stdout] 23 | fn controlFlow() { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `control_flow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `optionTake` should have a snake case name [INFO] [stdout] --> src/tests/practice.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn optionTake() { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `option_take` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking mini-redis v0.4.1 [INFO] [stderr] Checking package v0.1.0 (/opt/rustwide/workdir/package) [INFO] [stdout] warning: unused import: `MutexGuard` [INFO] [stdout] --> package/src/tokio.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex, MutexGuard}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TcpStream` [INFO] [stdout] --> package/src/tokio.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::net::{TcpListener, TcpStream}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::future::join_all` [INFO] [stdout] --> package/src/tokio.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use futures::future::join_all; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> package/src/tokio.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::sleep` [INFO] [stdout] --> package/src/tokio.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | use tokio::time::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `async_closure` has been stable since 1.85.0 and no longer requires an attribute to enable [INFO] [stdout] --> package/src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(async_closure)] [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MutexGuard` [INFO] [stdout] --> package/src/tokio.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex, MutexGuard}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TcpStream` [INFO] [stdout] --> package/src/tokio.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::net::{TcpListener, TcpStream}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> package/src/tokio.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::sleep` [INFO] [stdout] --> package/src/tokio.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | use tokio::time::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `async_closure` has been stable since 1.85.0 and no longer requires an attribute to enable [INFO] [stdout] --> package/src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(async_closure)] [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Result` is never used [INFO] [stdout] --> package/src/tokio.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | type Result = result::Result>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DATABASE` is never used [INFO] [stdout] --> package/src/tokio.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type DATABASE = Arc>>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NUM_CONNECTIONS` is never used [INFO] [stdout] --> package/src/tokio.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const NUM_CONNECTIONS: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `server` is never used [INFO] [stdout] --> package/src/tokio.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn server(num_connections: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `client` is never used [INFO] [stdout] --> package/src/tokio.rs:81:18 [INFO] [stdout] | [INFO] [stdout] 81 | pub async fn client() -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DATABASE` is never used [INFO] [stdout] --> package/src/tokio.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | type DATABASE = Arc>>; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NUM_CONNECTIONS` is never used [INFO] [stdout] --> package/src/tokio.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const NUM_CONNECTIONS: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.01s [INFO] running `Command { std: "docker" "inspect" "6e4e7caa9e350fd2e0b00f9d565ba674412681a857dcfdda2a96641e4ec92bc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e4e7caa9e350fd2e0b00f9d565ba674412681a857dcfdda2a96641e4ec92bc0", kill_on_drop: false }` [INFO] [stdout] 6e4e7caa9e350fd2e0b00f9d565ba674412681a857dcfdda2a96641e4ec92bc0