[INFO] cloning repository https://github.com/FooVoo/rust-basics [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FooVoo/rust-basics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFooVoo%2Frust-basics", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFooVoo%2Frust-basics'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 533a598260b2f635e5cbe9ef65f7e7d28799a6ef [INFO] checking FooVoo/rust-basics against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFooVoo%2Frust-basics" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/FooVoo/rust-basics [INFO] finished tweaking git repo https://github.com/FooVoo/rust-basics [INFO] tweaked toml for git repo https://github.com/FooVoo/rust-basics written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/FooVoo/rust-basics on toolchain 93086cfebfccb79083c59d0d3b2052944bba643c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/FooVoo/rust-basics 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" "+93086cfebfccb79083c59d0d3b2052944bba643c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c09354787e614acfcd19e62965a6441ec524937b50dbd772f40d8093045c3a88 [INFO] running `Command { std: "docker" "start" "-a" "c09354787e614acfcd19e62965a6441ec524937b50dbd772f40d8093045c3a88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c09354787e614acfcd19e62965a6441ec524937b50dbd772f40d8093045c3a88", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c09354787e614acfcd19e62965a6441ec524937b50dbd772f40d8093045c3a88", kill_on_drop: false }` [INFO] [stdout] c09354787e614acfcd19e62965a6441ec524937b50dbd772f40d8093045c3a88 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 29a955ccb2576f587bd14467d42ad98987d08102b6fbb949b234bb425789cbaa [INFO] running `Command { std: "docker" "start" "-a" "29a955ccb2576f587bd14467d42ad98987d08102b6fbb949b234bb425789cbaa", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking futures-sink v0.3.32 [INFO] [stderr] Checking futures-core v0.3.32 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking futures-io v0.3.32 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Checking futures-task v0.3.32 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking socket2 v0.6.2 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking Rusts-Basics v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/exercises/memory_management/exercise_22.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::task` [INFO] [stdout] --> src/exercises/async_rust/exercise_04.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::task; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_05.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `sleep`, and `timeout` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, timeout, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/exercises/async_rust/exercise_10.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/exercises/async_rust/exercise_11.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/async_rust/exercise_11.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Semaphore` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::Semaphore; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Barrier` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::Barrier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Notify` [INFO] [stdout] --> src/exercises/async_rust/exercise_18.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::Notify; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_18.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/async_rust/exercise_18.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::watch` [INFO] [stdout] --> src/exercises/async_rust/exercise_19.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::watch; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_19.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::oneshot` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::sync::oneshot; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StreamExt` and `self` [INFO] [stdout] --> src/exercises/async_rust/exercise_21.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | use futures::stream::{self, StreamExt}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StreamExt` and `self` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:9:23 [INFO] [stdout] | [INFO] [stdout] 9 | use futures::stream::{self, StreamExt}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_24.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::task::JoinSet` [INFO] [stdout] --> src/exercises/async_rust/exercise_25.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::task::JoinSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_25.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_26.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_29.rs:13:19 [INFO] [stdout] | [INFO] [stdout] 13 | use tokio::time::{sleep, Duration, Instant}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `sleep` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::time::{sleep, Duration}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_01.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_02.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_03.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/exercises/threads/exercise_03.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_04.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_04.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_05.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_05.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_06.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_07.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_08.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_08.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/exercises/threads/exercise_08.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/exercises/threads/exercise_09.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_09.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/exercises/threads/exercise_10.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_10.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_11.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/exercises/threads/exercise_11.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_11.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> src/exercises/threads/exercise_12.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_12.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_13.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_13.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_14.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_15.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_16.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_17.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_18.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_18.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> src/exercises/threads/exercise_19.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_19.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_20.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/exercises/threads/exercise_20.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Barrier`, and `Mutex` [INFO] [stdout] --> src/exercises/threads/exercise_21.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Barrier, Mutex}; [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_21.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Condvar`, and `Mutex` [INFO] [stdout] --> src/exercises/threads/exercise_22.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::{Arc, Condvar, Mutex}; [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_22.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_23.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/threads/exercise_23.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_23.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_24.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/threads/exercise_24.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_24.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc` [INFO] [stdout] --> src/exercises/threads/exercise_25.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_25.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_26.rs:9:37 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/threads/exercise_26.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_26.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicUsize` and `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_27.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/threads/exercise_27.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_27.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicBool`, `AtomicUsize`, and `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_28.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/threads/exercise_28.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_28.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr` [INFO] [stdout] --> src/exercises/threads/exercise_29.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::ptr; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_29.rs:11:36 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::atomic::{AtomicPtr, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_07.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_23.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alloc` and `dealloc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_26.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use std::alloc::{alloc, dealloc, Layout}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_26.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | use std::sync::atomic::{AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/exercises/enums/exercise_29.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:12:53 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn retry(max_attempts: u32, mut operation: F) -> Result [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | mut operation: F, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:34:35 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn process_with_context(mut ctx: RequestContext, value: i32) -> (RequestContext, i32) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_01.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parse_number(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `age` [INFO] [stdout] --> src/exercises/error_handling/exercise_02.rs:11:21 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn validate_age(age: i32) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_age` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opt` [INFO] [stdout] --> src/exercises/error_handling/exercise_03.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn option_to_result(opt: Option, error_msg: &str) -> Result { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_opt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error_msg` [INFO] [stdout] --> src/exercises/error_handling/exercise_03.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn option_to_result(opt: Option, error_msg: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/error_handling/exercise_04.rs:11:20 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn safe_divide(a: f64, b: f64) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/error_handling/exercise_04.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn safe_divide(a: f64, b: f64) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/error_handling/exercise_05.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn safe_get(slice: &[T], index: usize) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/error_handling/exercise_05.rs:11:40 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn safe_get(slice: &[T], index: usize) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/error_handling/exercise_06.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parse_and_add(a: &str, b: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/error_handling/exercise_06.rs:11:31 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parse_and_add(a: &str, b: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `username` [INFO] [stdout] --> src/exercises/error_handling/exercise_07.rs:11:26 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn validate_username(username: &str) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `filename` [INFO] [stdout] --> src/exercises/error_handling/exercise_08.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn validate_file_extension(filename: &str, allowed: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allowed` [INFO] [stdout] --> src/exercises/error_handling/exercise_08.rs:11:48 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn validate_file_extension(filename: &str, allowed: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allowed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_09.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/exercises/error_handling/exercise_09.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn sqrt(x: f64) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/error_handling/exercise_09.rs:34:23 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn checked_divide(a: i32, b: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/error_handling/exercise_09.rs:34:31 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn checked_divide(a: i32, b: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/error_handling/exercise_10.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(input: impl Into, reason: impl Into) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/exercises/error_handling/exercise_10.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(input: impl Into, reason: impl Into) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_10.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_10.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn parse_with_context(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/error_handling/exercise_10.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn parse_multiple(strings: &[&str]) -> Result, Vec> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/error_handling/exercise_11.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_multiply(a: &str, b: &str, c: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/error_handling/exercise_11.rs:10:36 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_multiply(a: &str, b: &str, c: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/exercises/error_handling/exercise_11.rs:10:45 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_multiply(a: &str, b: &str, c: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/exercises/error_handling/exercise_11.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | r1: Result, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r2` [INFO] [stdout] --> src/exercises/error_handling/exercise_11.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | r2: Result, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | f: F, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_12.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `email` [INFO] [stdout] --> src/exercises/error_handling/exercise_12.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn validate_email(email: &str) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_email` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_13.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_double(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_13.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_double_stringify(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_13.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn parse_and_transform(s: &str, f: F) -> Result [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_13.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn parse_and_transform(s: &str, f: F) -> Result [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_14.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `password` [INFO] [stdout] --> src/exercises/error_handling/exercise_14.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn validate_password(password: &str) -> Result<(), Vec> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_password` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/exercises/error_handling/exercise_15.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | fn from(err: ParseIntError) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_15.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_15.rs:32:20 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn parse_to_u8(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/error_handling/exercise_15.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn parse_many_u8(strings: &[&str]) -> Result, ConversionError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_16.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/error_handling/exercise_16.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn parse_user(data: &HashMap) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(id: u32, balance: i64) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `balance` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:16:25 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(id: u32, balance: i64) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_balance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:30:19 [INFO] [stdout] | [INFO] [stdout] 30 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | from: &mut Account, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | to: &mut Account, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | amount: i64, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `account` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn withdraw(account: &mut Account, amount: i64) -> Result<(), TransactionError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:48:40 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn withdraw(account: &mut Account, amount: i64) -> Result<(), TransactionError> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `account` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:53:16 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn deposit(account: &mut Account, amount: i64) -> Result<(), TransactionError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/exercises/error_handling/exercise_17.rs:53:39 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn deposit(account: &mut Account, amount: i64) -> Result<(), TransactionError> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_18.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/error_handling/exercise_18.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn parse_config(data: &HashMap) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn retry(mut f: F, max_attempts: usize) -> Result> [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn retry(mut f: F, max_attempts: usize) -> Result> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:25:33 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn retry(mut f: F, max_attempts: usize) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | mut f: F, [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | mut f: F, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | max_attempts: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_retryable` [INFO] [stdout] --> src/exercises/error_handling/exercise_19.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | is_retryable: P, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_retryable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(field: impl Into, message: impl Into) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:16:42 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(field: impl Into, message: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:22:19 [INFO] [stdout] | [INFO] [stdout] 22 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:35:16 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:40:24 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn validate(mut self, field: &str, predicate: F, message: &str) -> Self [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:40:34 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn validate(mut self, field: &str, predicate: F, message: &str) -> Self [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_field` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn validate(mut self, field: &str, predicate: F, message: &str) -> Self [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:40:61 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn validate(mut self, field: &str, predicate: F, message: &str) -> Self [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn validate_product(name: &str, price: f64) -> Result<(String, f64), Vec> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `price` [INFO] [stdout] --> src/exercises/error_handling/exercise_20.rs:54:37 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn validate_product(name: &str, price: f64) -> Result<(String, f64), Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_price` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:34:19 [INFO] [stdout] | [INFO] [stdout] 34 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | fn from(err: DatabaseError) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `success` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:52:23 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn database_query(success: bool) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn fetch_user(id: u32, db_success: bool) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `db_success` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn fetch_user(id: u32, db_success: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_db_success` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/exercises/error_handling/exercise_21.rs:62:26 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn error_chain_depth(err: &dyn Error) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `primary` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | primary: F1, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_primary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fallback` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | fallback: F2, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fallback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sources` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | sources: Vec Result>, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fetcher` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn fetch_or_default(fetcher: F, default: Data) -> Data [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetcher` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:50:40 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn fetch_or_default(fetcher: F, default: Data) -> Data [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fetchers` [INFO] [stdout] --> src/exercises/error_handling/exercise_22.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | fetchers: Vec, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetchers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(message: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:22:20 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn context(mut self, ctx: impl Into) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:22:30 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn context(mut self, ctx: impl Into) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn with_context(result: Result<(), String>, ctx: F) -> Result<(), Self> [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:26:56 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn with_context(result: Result<(), String>, ctx: F) -> Result<(), Self> [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:35:19 [INFO] [stdout] | [INFO] [stdout] 35 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | fn read_file(path: &str) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:48:21 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn parse_config(path: &str) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config_path` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:53:23 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn initialize_app(config_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_config_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `paths` [INFO] [stdout] --> src/exercises/error_handling/exercise_23.rs:58:22 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn process_batch(paths: &[&str]) -> Result, Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_24.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/error_handling/exercise_24.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(id: u32) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_state` [INFO] [stdout] --> src/exercises/error_handling/exercise_24.rs:45:34 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn transition(&mut self, new_state: OrderState) -> Result<(), StateError> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:18:19 [INFO] [stdout] | [INFO] [stdout] 18 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | data: &HashMap>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outer_key` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | outer_key: &str, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner_key` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | inner_key: &str, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | data: &HashMap>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outer_key` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | outer_key: &str, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner_key` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | inner_key: &str, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | data: &HashMap>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queries` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | queries: &[(&str, &str)], [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_queries` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | data: &HashMap>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outer1` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | outer1: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner1` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | inner1: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `outer2` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | outer2: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_outer2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner2` [INFO] [stdout] --> src/exercises/error_handling/exercise_25.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | inner2: &str, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_26.rs:19:19 [INFO] [stdout] | [INFO] [stdout] 19 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/error_handling/exercise_26.rs:34:16 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(name: impl Into) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resource` [INFO] [stdout] --> src/exercises/error_handling/exercise_26.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn acquire(resource: &'a mut TrackedResource) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resource` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `should_fail` [INFO] [stdout] --> src/exercises/error_handling/exercise_26.rs:61:41 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn perform_operation(&mut self, should_fail: bool) -> Result<(), ResourceError> { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_should_fail` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resource` [INFO] [stdout] --> src/exercises/error_handling/exercise_26.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | resource: &mut TrackedResource, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resource` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/error_handling/exercise_26.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | operation: F, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | message: impl Into, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `severity` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | severity: ErrorSeverity, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | location: impl Into, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:57:27 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn log(&mut self, log: ErrorLog) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `severity` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:65:37 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn count_by_severity(&self, severity: ErrorSeverity) -> usize { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_severity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logger` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | logger: &mut ErrorLogger, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | location: &str, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | operation: F, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:91:21 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn parse_logged(s: &str, logger: &mut ErrorLogger) -> LoggedResult { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logger` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn parse_logged(s: &str, logger: &mut ErrorLogger) -> LoggedResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:96:22 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn divide_logged(a: i32, b: i32, logger: &mut ErrorLogger) -> LoggedResult { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:96:30 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn divide_logged(a: i32, b: i32, logger: &mut ErrorLogger) -> LoggedResult { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logger` [INFO] [stdout] --> src/exercises/error_handling/exercise_27.rs:96:38 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn divide_logged(a: i32, b: i32, logger: &mut ErrorLogger) -> LoggedResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_logger` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:35:19 [INFO] [stdout] | [INFO] [stdout] 35 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | fn from(err: IoError) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | fn from(err: ValidationError) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | fn from(err: ParseIntError) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:81:22 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn process_input(input: &str) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn load_and_process(path: &str, content: Option<&str>) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:86:37 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn load_and_process(path: &str, content: Option<&str>) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/exercises/error_handling/exercise_28.rs:91:22 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn batch_process(inputs: &[&str]) -> Result, Vec> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(result: Result) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn with_context(mut self, context: impl Into) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:24:35 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn with_context(mut self, context: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | fn handle(&self, error: E) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | fn handle(&self, error: E) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:65:33 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn with_handler(operation: F, handler: &H) -> Result [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:65:47 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn with_handler(operation: F, handler: &H) -> Result [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | result: Result, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mapper` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | mapper: F, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | results: Vec>, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transformer` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | transformer: F, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transformer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | mut operation: F, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | mut operation: F, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | max_attempts: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error_mapper` [INFO] [stdout] --> src/exercises/error_handling/exercise_29.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | error_mapper: M, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn add(&mut self, error: E) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:26:30 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn extend(&mut self, errors: Vec) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:38:33 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn into_result(self, value: T) -> Result> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:58:27 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn add(&mut self, category: K, error: E) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:58:40 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn add(&mut self, category: K, error: E) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `category` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn get_category(&self, category: &K) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:78:33 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn into_result(self, value: T) -> Result>> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:97:18 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn valid(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `errors` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn invalid(errors: Vec) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_errors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | value: T, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `validators` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | validators: Vec<(String, F)>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operations` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | operations: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | items: Vec, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/error_handling/exercise_30.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | processor: F, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_01.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn take_ownership(s: String) -> usize { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_01.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn take_and_give_back(s: String) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_02.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn calculate_length(s: &String) -> usize { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_02.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn starts_with(s: &String, prefix: &str) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/exercises/memory_management/exercise_02.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn starts_with(s: &String, prefix: &str) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_02.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn first_char(s: &String) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_03.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn append_string(s: &mut String, suffix: &str) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suffix` [INFO] [stdout] --> src/exercises/memory_management/exercise_03.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn append_string(s: &mut String, suffix: &str) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_03.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn clear_string(s: &mut String) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_03.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn uppercase_in_place(s: &mut String) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_04.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn clone_and_modify(s: &String, suffix: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suffix` [INFO] [stdout] --> src/exercises/memory_management/exercise_04.rs:10:37 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn clone_and_modify(s: &String, suffix: &str) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/memory_management/exercise_04.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn clone_all(strings: &[String]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_04.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn count_char_in_clone(s: &String, ch: char) -> usize { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ch` [INFO] [stdout] --> src/exercises/memory_management/exercise_04.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn count_char_in_clone(s: &String, ch: char) -> usize { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_05.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn first_word(s: &str) -> &str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/exercises/memory_management/exercise_05.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn get_slice(v: &[i32], start: usize, end: usize) -> &[i32] { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/memory_management/exercise_05.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn get_slice(v: &[i32], start: usize, end: usize) -> &[i32] { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/memory_management/exercise_05.rs:15:43 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn get_slice(v: &[i32], start: usize, end: usize) -> &[i32] { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_05.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn count_words(s: &str) -> usize { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/memory_management/exercise_06.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn describe_number(n: &i32) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/memory_management/exercise_06.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn first_even(numbers: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_06.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn classify_by_length(s: &str) -> &'static str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/exercises/memory_management/exercise_07.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn add_element(v: &mut Vec, element: i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `element` [INFO] [stdout] --> src/exercises/memory_management/exercise_07.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn add_element(v: &mut Vec, element: i32) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/exercises/memory_management/exercise_07.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn remove_last(v: &mut Vec) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/exercises/memory_management/exercise_07.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn double_values(v: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/exercises/memory_management/exercise_07.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn sum_vector(v: &[i32]) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/memory_management/exercise_08.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(name: String, age: u32) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `age` [INFO] [stdout] --> src/exercises/memory_management/exercise_08.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(name: String, age: u32) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_age` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/memory_management/exercise_08.rs:34:22 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn create_person(name: &str, age: u32) -> Person { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `age` [INFO] [stdout] --> src/exercises/memory_management/exercise_08.rs:34:34 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn create_person(name: &str, age: u32) -> Person { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_age` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `person` [INFO] [stdout] --> src/exercises/memory_management/exercise_08.rs:39:24 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn describe_person(person: &Person) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_person` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/exercises/memory_management/exercise_09.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/exercises/memory_management/exercise_09.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/memory_management/exercise_09.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn first_element<'a, T>(slice: &'a [T]) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/memory_management/exercise_09.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn concat_with_sep<'a>(a: &'a str, b: &'a str, sep: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/memory_management/exercise_09.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn concat_with_sep<'a>(a: &'a str, b: &'a str, sep: &str) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sep` [INFO] [stdout] --> src/exercises/memory_management/exercise_09.rs:20:52 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn concat_with_sep<'a>(a: &'a str, b: &'a str, sep: &str) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sep` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/exercises/memory_management/exercise_10.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(text: &'a str) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/exercises/memory_management/exercise_10.rs:29:27 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn create_excerpt<'a>(text: &'a str, start: usize, end: usize) -> Excerpt<'a> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/memory_management/exercise_10.rs:29:42 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn create_excerpt<'a>(text: &'a str, start: usize, end: usize) -> Excerpt<'a> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/memory_management/exercise_10.rs:29:56 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn create_excerpt<'a>(text: &'a str, start: usize, end: usize) -> Excerpt<'a> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `excerpts` [INFO] [stdout] --> src/exercises/memory_management/exercise_10.rs:34:28 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn longest_excerpt<'a>(excerpts: &'a [Excerpt<'a>]) -> Option<&'a Excerpt<'a>> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_excerpts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/memory_management/exercise_11.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn find_max<'a>(slice: &'a [i32]) -> Option<&'a i32> { [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] --> src/exercises/memory_management/exercise_11.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_min_max<'a>(slice: &'a [i32]) -> Option<(&'a i32, &'a i32)> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/memory_management/exercise_11.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn filter_even<'a>(numbers: &'a [i32]) -> Vec<&'a i32> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/memory_management/exercise_11.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn first_and_last<'a, T>(slice: &'a [T]) -> Option<(&'a T, &'a T)> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_static` [INFO] [stdout] --> src/exercises/memory_management/exercise_12.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn choose_string<'a>(use_static: bool, dynamic: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dynamic` [INFO] [stdout] --> src/exercises/memory_management/exercise_12.rs:15:44 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn choose_string<'a>(use_static: bool, dynamic: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dynamic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/memory_management/exercise_12.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn format_name(first: &str, last: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last` [INFO] [stdout] --> src/exercises/memory_management/exercise_12.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn format_name(first: &str, last: &str) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_last` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> src/exercises/memory_management/exercise_12.rs:25:26 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn get_error_message(code: i32) -> &'static str { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn find_with_prefix<'a>(strings: &'a [String], prefix: &str) -> Vec<&'a String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:10:52 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn find_with_prefix<'a>(strings: &'a [String], prefix: &str) -> Vec<&'a String> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn longer_than<'a>(strings: &'a [String], min_len: usize) -> Vec<&'a String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_len` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:15:47 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn longer_than<'a>(strings: &'a [String], min_len: usize) -> Vec<&'a String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn first_chars(strings: &[String]) -> Vec> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:25:26 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn count_matching(strings: &[String], predicate: F) -> usize [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/memory_management/exercise_13.rs:25:46 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn count_matching(strings: &[String], predicate: F) -> usize [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/exercises/memory_management/exercise_14.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn add(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter` [INFO] [stdout] --> src/exercises/memory_management/exercise_14.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn increment_and_get(counter: &mut Counter) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter` [INFO] [stdout] --> src/exercises/memory_management/exercise_14.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn add_all(counter: &mut Counter, values: &[i32]) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/memory_management/exercise_14.rs:37:39 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn add_all(counter: &mut Counter, values: &[i32]) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/memory_management/exercise_14.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn double_evens(numbers: &mut Vec) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn trim_spaces(s: &str) -> &str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn take_prefix(s: &str, n: usize) -> &str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn take_prefix(s: &str, n: usize) -> &str { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn extract_between<'a>(s: &'a str, start: &str, end: &str) -> Option<&'a str> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn extract_between<'a>(s: &'a str, start: &str, end: &str) -> Option<&'a str> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn extract_between<'a>(s: &'a str, start: &str, end: &str) -> Option<&'a str> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/memory_management/exercise_15.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new(input: &'a str) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn find_in_map<'a>(map: &'a HashMap, key: &str) -> Option<&'a i32> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:12:55 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn find_in_map<'a>(map: &'a HashMap, key: &str) -> Option<&'a i32> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn values_greater_than<'a>(map: &'a HashMap, threshold: i32) -> Vec<&'a i32> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threshold` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:17:63 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn values_greater_than<'a>(map: &'a HashMap, threshold: i32) -> Vec<&'a i32> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:22:31 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn key_with_max_value<'a>(map: &'a HashMap) -> Option<&'a String> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn filter_keys<'a, F>(map: &'a HashMap, predicate: F) -> Vec<&'a String> [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/memory_management/exercise_16.rs:27:58 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn filter_keys<'a, F>(map: &'a HashMap, predicate: F) -> Vec<&'a String> [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_17.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(value: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/exercises/memory_management/exercise_17.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn add_child(&mut self, child: Node) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/memory_management/exercise_17.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn sum_tree(node: &Node) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/memory_management/exercise_17.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn count_nodes(node: &Node) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/memory_management/exercise_17.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn max_value(node: &Node) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/memory_management/exercise_18.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(data: &'a T) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/memory_management/exercise_18.rs:24:30 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn make_container<'a, T>(data: &'a T) -> Container<'a, T> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c1` [INFO] [stdout] --> src/exercises/memory_management/exercise_18.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | c1: &Container<'a, T>, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c2` [INFO] [stdout] --> src/exercises/memory_management/exercise_18.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | c2: &Container<'a, T>, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_c2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/memory_management/exercise_18.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(first: &'a T, second: &'a U) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/memory_management/exercise_18.rs:42:30 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(first: &'a T, second: &'a U) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/exercises/memory_management/exercise_19.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(text: &'a str) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word` [INFO] [stdout] --> src/exercises/memory_management/exercise_19.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn find_word(&self, word: &str) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/memory_management/exercise_19.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn get_line(&self, n: usize) -> Option<&str> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `analyzer` [INFO] [stdout] --> src/exercises/memory_management/exercise_19.rs:36:20 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn count_lines(analyzer: &TextAnalyzer) -> usize { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/exercises/memory_management/exercise_19.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn extract_words(text: &str) -> Vec<&str> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/memory_management/exercise_20.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn add(&mut self, item: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/memory_management/exercise_20.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn get(&self, index: usize) -> Option<&String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `query` [INFO] [stdout] --> src/exercises/memory_management/exercise_20.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn find(&self, query: &str) -> Option<&String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_query` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> src/exercises/memory_management/exercise_20.rs:42:28 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn filter_store<'a, F>(store: &'a DataStore, predicate: F) -> Vec<&'a String> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/memory_management/exercise_20.rs:42:50 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn filter_store<'a, F>(store: &'a DataStore, predicate: F) -> Vec<&'a String> [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `store` [INFO] [stdout] --> src/exercises/memory_management/exercise_20.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn longest_in_store(store: &DataStore) -> Option<&String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_store` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn choose_str<'a, 'b>(x: &'a str, y: &'b str, use_first: bool) -> &'a str [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn choose_str<'a, 'b>(x: &'a str, y: &'b str, use_first: bool) -> &'a str [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_first` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:10:51 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn choose_str<'a, 'b>(x: &'a str, y: &'b str, use_first: bool) -> &'a str [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(source: &'s str, target: &'t str) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(source: &'s str, target: &'t str) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn process_context<'a, 'b>(source: &'a str, target: &'b str) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:41:49 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn process_context<'a, 'b>(source: &'a str, target: &'b str) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn new(first: &'a T, second: &'b T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/memory_management/exercise_21.rs:51:30 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn new(first: &'a T, second: &'b T) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/memory_management/exercise_22.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(name: String, counter: Arc) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter` [INFO] [stdout] --> src/exercises/memory_management/exercise_22.rs:18:30 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(name: String, counter: Arc) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/memory_management/exercise_22.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(id: u32, size: usize) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/memory_management/exercise_22.rs:39:25 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(id: u32, size: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/memory_management/exercise_22.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn use_resource(id: u32) -> u32 { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new(path: String) -> io::Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write(&mut self, data: &[u8]) -> io::Result<()> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(data: &'a mut T, cleanup_fn: impl FnOnce(&mut T) + 'a) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cleanup_fn` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:44:33 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(data: &'a mut T, cleanup_fn: impl FnOnce(&mut T) + 'a) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cleanup_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_23.rs:64:27 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn create_reset_guard(value: &mut i32) -> Guard<'_, i32> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/exercises/memory_management/exercise_24.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(content: &'a str) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/memory_management/exercise_24.rs:19:37 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn take_while(&mut self, predicate: F) -> &'a str [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parser` [INFO] [stdout] --> src/exercises/memory_management/exercise_24.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn parse_words<'a>(parser: &mut Parser<'a>) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/exercises/memory_management/exercise_24.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(text: &'text str, delimiter: char) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delimiter` [INFO] [stdout] --> src/exercises/memory_management/exercise_24.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn new(text: &'text str, delimiter: char) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delimiter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn add(&mut self, item: T) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn get(&self, id: usize) -> Option<&T> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn get_mut(&mut self, id: usize) -> Option<&mut T> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(value: i32, parent: Option) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:43:28 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(value: i32, parent: Option) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:57:32 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn add_node(&mut self, value: i32, parent: Option) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:57:44 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn add_node(&mut self, value: i32, parent: Option) -> usize { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/memory_management/exercise_25.rs:61:28 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn get_node(&self, id: usize) -> Option<&TreeNode> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `logs` [INFO] [stdout] --> src/exercises/memory_management/exercise_26.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(logs: Rc>>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_logs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/memory_management/exercise_26.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn log(&self, message: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/memory_management/exercise_26.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new(id: u32) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/memory_management/exercise_26.rs:66:16 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn new(size: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/memory_management/exercise_26.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn get(&mut self, index: usize) -> Option<&mut Connection> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:19:23 [INFO] [stdout] | [INFO] [stdout] 19 | fn process(&self, input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:25:37 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn process_with_lifetime<'a, P>(processor: &P, input: &'a str) -> P::Output [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:25:52 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn process_with_lifetime<'a, P>(processor: &P, input: &'a str) -> P::Output [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(items: &'a [T]) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:41:36 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn filter_map(&self, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:50:37 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn transform_items<'a, T, U, F>(items: &'a [T], transform: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transform` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:50:53 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn transform_items<'a, T, U, F>(items: &'a [T], transform: F) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `valid_values` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(valid_values: &'a [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valid_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:66:28 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn is_valid(&self, value: &T) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/memory_management/exercise_27.rs:70:32 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn filter_valid(&self, values: &'a [T]) -> Vec<&'a T> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/memory_management/exercise_28.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(data: &'a mut T) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rollback_fn` [INFO] [stdout] --> src/exercises/memory_management/exercise_28.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(rollback_fn: impl FnMut() + 'a) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rollback_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cleanup` [INFO] [stdout] --> src/exercises/memory_management/exercise_28.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(cleanup: F) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cleanup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/memory_management/exercise_28.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn disarm(mut self) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter` [INFO] [stdout] --> src/exercises/memory_management/exercise_28.rs:78:29 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn create_counter_guard(counter: &mut i32) -> ScopeGuard { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn apply_to_all(strings: &[String], f: F) -> Vec [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:15:44 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn apply_to_all(strings: &[String], f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(func: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | fn map(&self, input: &T) -> U { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compare` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(compare: F) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compare` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:68:40 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn are_equal(&self, a: &T, b: &T) -> bool [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:68:47 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn are_equal(&self, a: &T, b: &T) -> bool [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:75:37 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn find_equal<'s, T>(&self, items: &'s [T], target: &T) -> Option<&'s T> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:75:53 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn find_equal<'s, T>(&self, items: &'s [T], target: &T) -> Option<&'s T> [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:84:33 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn case_insensitive_compare(a: &str, b: &str) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:84:42 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn case_insensitive_compare(a: &str, b: &str) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:95:35 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn process_with_hrtb(items: &[T], processor: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/memory_management/exercise_29.rs:95:48 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn process_with_hrtb(items: &[T], processor: F) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn initialize(self, size: usize) -> Builder { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn set(&mut self, index: usize, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:32:41 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn set(&mut self, index: usize, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter1` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:61:34 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn zip_map(iter1: I, iter2: J, func: F) -> ZipMap [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_iter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter2` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:61:44 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn zip_map(iter1: I, iter2: J, func: F) -> ZipMap [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_iter2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:61:54 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn zip_map(iter1: I, iter2: J, func: F) -> ZipMap [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn push(&mut self, value: u8) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:88:23 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn get(&self, index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:111:16 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn new(value: f64) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:133:28 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn add_distances(a: Distance, b: Distance) -> Distance { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/memory_management/exercise_30.rs:133:47 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn add_distances(a: Distance, b: Distance) -> Distance { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_01.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn sum_numbers(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_01.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn count_positive(numbers: &[i32]) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_01.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn find_max(numbers: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_02.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn double_numbers(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_02.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn string_lengths(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_02.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn square_numbers(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_02.rs:25:27 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn numbers_to_strings(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn filter_even(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn filter_long_strings(strings: &[&str], min_length: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_length` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn filter_long_strings(strings: &[&str], min_length: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn filter_in_range(numbers: &[i32], min: i32, max: i32) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:20:41 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn filter_in_range(numbers: &[i32], min: i32, max: i32) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:20:51 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn filter_in_range(numbers: &[i32], min: i32, max: i32) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_03.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn filter_non_empty(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:10:16 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn product(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn join_strings(strings: &[&str], separator: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `separator` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn join_strings(strings: &[&str], separator: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:20:30 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn count_char_in_strings(strings: &[&str], target: char) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:20:48 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn count_char_in_strings(strings: &[&str], target: char) -> usize { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chars` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn build_repeated_string(chars: &[char], repeat: usize) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `repeat` [INFO] [stdout] --> src/exercises/iterators/exercise_04.rs:25:46 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn build_repeated_string(chars: &[char], repeat: usize) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_05.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn filter_and_double_evens(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_05.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn sum_long_string_lengths(strings: &[&str], min_length: usize) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_length` [INFO] [stdout] --> src/exercises/iterators/exercise_05.rs:15:50 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn sum_long_string_lengths(strings: &[&str], min_length: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_05.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn square_positive(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_05.rs:25:34 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn uppercase_starting_with_a(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_06.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn unique_numbers(numbers: &[i32]) -> HashSet { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/iterators/exercise_06.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn char_frequency(s: &str) -> HashMap { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `words` [INFO] [stdout] --> src/exercises/iterators/exercise_06.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn word_lengths(words: &[&str]) -> HashMap { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_06.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn partition_even_odd(numbers: &[i32]) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn find_first_even(numbers: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_negative_position(numbers: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn all_positive(numbers: &[i32]) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:25:26 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn any_contains_char(strings: &[&str], target: char) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn any_contains_char(strings: &[&str], target: char) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn find_long_string(strings: &[&str], min_length: usize) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_length` [INFO] [stdout] --> src/exercises/iterators/exercise_07.rs:30:43 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn find_long_string(strings: &[&str], min_length: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn take_first(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:10:36 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn take_first(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn skip_first(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:15:36 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn skip_first(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn take_while_positive(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn skip_and_take(numbers: &[i32], skip_count: usize, take_count: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `skip_count` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:25:39 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn skip_and_take(numbers: &[i32], skip_count: usize, take_count: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_skip_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `take_count` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:25:58 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn skip_and_take(numbers: &[i32], skip_count: usize, take_count: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_take_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn take_every_nth(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_08.rs:30:40 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn take_every_nth(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nested` [INFO] [stdout] --> src/exercises/iterators/exercise_09.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn flatten_vectors(nested: &[Vec]) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nested` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_09.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn split_and_collect(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_09.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn all_chars(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_09.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn generate_pairs(numbers: &[i32], multipliers: &[i32]) -> Vec<(i32, i32)> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `multipliers` [INFO] [stdout] --> src/exercises/iterators/exercise_09.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn generate_pairs(numbers: &[i32], multipliers: &[i32]) -> Vec<(i32, i32)> { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_multipliers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn indices_of_evens(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn zip_slices(a: &[i32], b: &[i32]) -> Vec<(i32, i32)> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn zip_slices(a: &[i32], b: &[i32]) -> Vec<(i32, i32)> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:20:26 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn sum_corresponding(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn sum_corresponding(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn diff_indices(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn diff_indices(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_10.rs:30:24 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn indexed_strings(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_11.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn running_sum(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_11.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn running_product(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_11.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn running_max(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_11.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn running_count(items: &[char], target: char) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/iterators/exercise_11.rs:25:38 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn running_count(items: &[char], target: char) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn concat_slices(a: &[i32], b: &[i32], c: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn concat_slices(a: &[i32], b: &[i32], c: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn concat_slices(a: &[i32], b: &[i32], c: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn interleave(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn interleave(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pattern` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn repeat_pattern(pattern: &[i32], times: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `times` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn repeat_pattern(pattern: &[i32], times: usize) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_times` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn chain_filtered(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_12.rs:25:34 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn chain_filtered(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_13.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn pairwise_sum(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_13.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn local_maxima(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_13.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn chunk_sums(numbers: &[i32], chunk_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk_size` [INFO] [stdout] --> src/exercises/iterators/exercise_13.rs:20:36 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn chunk_sums(numbers: &[i32], chunk_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_13.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn has_triple_sum(numbers: &[i32], target: i32) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/iterators/exercise_13.rs:25:40 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn has_triple_sum(numbers: &[i32], target: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_14.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_numbers(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_14.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn non_empty_lengths(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_14.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn square_positives(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_14.rs:25:20 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn first_chars(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dividends` [INFO] [stdout] --> src/exercises/iterators/exercise_14.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn safe_divisions(dividends: &[i32], divisors: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dividends` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `divisors` [INFO] [stdout] --> src/exercises/iterators/exercise_14.rs:30:42 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn safe_divisions(dividends: &[i32], divisors: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_divisors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn longest_string(strings: &[&str]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn most_vowels(strings: &[&str]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:20:26 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn closest_to_target(numbers: &[i32], target: i32) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:20:43 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn closest_to_target(numbers: &[i32], target: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn min_absolute(numbers: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:30:14 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn top_n(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_15.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn top_n(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_16.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn count_stages(numbers: &[i32]) -> (usize, usize, usize) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_16.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn group_consecutive_equal(numbers: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_16.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn take_until_inclusive(iter: I, predicate: impl Fn(&i32) -> bool) -> Vec [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_16.rs:20:41 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn take_until_inclusive(iter: I, predicate: impl Fn(&i32) -> bool) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn fibonacci(n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn multiplication_table(n: i32, up_to: i32) -> Vec<(i32, i32)> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `up_to` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:15:37 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn multiplication_table(n: i32, up_to: i32) -> Vec<(i32, i32)> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_up_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn sum_of_squares(n: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn even_numbers_in_range(start: i32, end: i32) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:25:42 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn even_numbers_in_range(start: i32, end: i32) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_17.rs:30:22 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn powers_of_two(n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_18.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_all(strings: &[&str]) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pairs` [INFO] [stdout] --> src/exercises/iterators/exercise_18.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn safe_divide_all(pairs: &[(i32, i32)]) -> Result, String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_pairs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_18.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn lengths_no_empty(strings: &[&str]) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/iterators/exercise_18.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn parse_positive(strings: &[&str]) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn word_frequency(text: &str, min_length: usize) -> HashMap { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_length` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:12:35 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn word_frequency(text: &str, min_length: usize) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn capped_even_squares_sum(numbers: &[i32], limit: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:17:49 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn capped_even_squares_sum(numbers: &[i32], limit: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scores` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:22:30 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn top_normalized_scores(scores: &[f64], passing: f64, n: usize) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `passing` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn top_normalized_scores(scores: &[f64], passing: f64, n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_passing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:22:60 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn top_normalized_scores(scores: &[f64], passing: f64, n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_19.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn unique_sorted_digits(numbers: &[i32]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn at_least_n_match(numbers: &[i32], predicate: impl Fn(i32) -> bool, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn at_least_n_match(numbers: &[i32], predicate: impl Fn(i32) -> bool, n: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:10:75 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn at_least_n_match(numbers: &[i32], predicate: impl Fn(i32) -> bool, n: usize) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn product_until_zero(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn is_sorted(numbers: &[i32]) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn count_between(numbers: &[i32], low: i32, high: i32) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `low` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:25:39 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn count_between(numbers: &[i32], low: i32, high: i32) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_low` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `high` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:25:49 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn count_between(numbers: &[i32], low: i32, high: i32) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_high` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn last_n(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:30:32 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn last_n(numbers: &[i32], n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn nth_match(numbers: &[i32], predicate: impl Fn(i32) -> bool, n: usize) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn nth_match(numbers: &[i32], predicate: impl Fn(i32) -> bool, n: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_20.rs:35:68 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn nth_match(numbers: &[i32], predicate: impl Fn(i32) -> bool, n: usize) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/iterators/exercise_21.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(start: i32, end: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/iterators/exercise_21.rs:16:28 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(start: i32, end: i32) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/iterators/exercise_21.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(first: T, second: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/iterators/exercise_21.rs:37:26 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(first: T, second: T) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/iterators/exercise_21.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(start: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/iterators/exercise_22.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(values: Vec) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_22.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(mut iter: I) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_22.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(mut iter: I) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_22.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(iter: I, n: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/iterators/exercise_22.rs:67:25 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(iter: I, n: usize) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_23.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(iter: I, size: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/iterators/exercise_23.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(iter: I, size: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_23.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn new(iter: I) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_23.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn batch(iter: I, size: usize) -> Batch [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/iterators/exercise_23.rs:69:26 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn batch(iter: I, size: usize) -> Batch [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_23.rs:77:18 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn unique(iter: I) -> Unique [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/iterators/exercise_24.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(start: i32, end: i32, step: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/iterators/exercise_24.rs:17:28 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(start: i32, end: i32, step: i32) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/exercises/iterators/exercise_24.rs:17:38 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(start: i32, end: i32, step: i32) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_24.rs:37:36 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn is_palindrome(items: &[T]) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_24.rs:42:22 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn reverse_merge(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_24.rs:42:33 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn reverse_merge(a: &[i32], b: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn optimized_sum(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_optimized(numbers: &[i32], target: i32) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:15:40 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_optimized(numbers: &[i32], target: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn new(start: i32, end: i32, step: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn new(start: i32, end: i32, step: i32) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `step` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:27:38 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn new(start: i32, end: i32, step: i32) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_step` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:47:35 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn process_chunks_efficiently(numbers: &[i32], chunk_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk_size` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:47:52 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn process_chunks_efficiently(numbers: &[i32], chunk_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:52:35 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn merge_filtered_efficiently(a: &[i32], b: &[i32], c: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:52:46 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn merge_filtered_efficiently(a: &[i32], b: &[i32], c: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/exercises/iterators/exercise_25.rs:52:57 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn merge_filtered_efficiently(a: &[i32], b: &[i32], c: &[i32]) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn try_accumulate(numbers: &[i32]) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn process_until_threshold(numbers: &[i32], threshold: i32) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threshold` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:17:49 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn process_until_threshold(numbers: &[i32], threshold: i32) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn group_by(items: &[T], key_fn: F) -> HashMap> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_fn` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn group_by(items: &[T], key_fn: F) -> HashMap> [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn cartesian_product(a: &[i32], b: &[i32]) -> Vec<(i32, i32)> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:32:37 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn cartesian_product(a: &[i32], b: &[i32]) -> Vec<(i32, i32)> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `matrix` [INFO] [stdout] --> src/exercises/iterators/exercise_26.rs:37:28 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn transpose(matrix: Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_matrix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:12:25 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn lazy_filter_take(numbers: &[i32], predicate: impl Fn(&i32) -> bool, count: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn lazy_filter_take(numbers: &[i32], predicate: impl Fn(&i32) -> bool, count: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:12:76 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn lazy_filter_take(numbers: &[i32], predicate: impl Fn(&i32) -> bool, count: usize) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:17:23 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn count_matching(numbers: &[i32], predicate: impl Fn(&i32) -> bool) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:17:40 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn count_matching(numbers: &[i32], predicate: impl Fn(&i32) -> bool) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn exists_matching(numbers: &[i32], predicate: impl Fn(&i32) -> bool) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:22:41 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn exists_matching(numbers: &[i32], predicate: impl Fn(&i32) -> bool) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(iter: I, processor: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:37:25 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(iter: I, processor: F) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:55:22 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn lazy_pipeline(numbers: &[i32]) -> impl Iterator + '_ { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `words` [INFO] [stdout] --> src/exercises/iterators/exercise_27.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | words: &'a [&'a str], [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_words` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn max_by_key(items: &[T], key_fn: F) -> Option<&T> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_fn` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:13:41 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn max_by_key(items: &[T], key_fn: F) -> Option<&T> [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn partition_by(items: Vec, predicate: F) -> (Vec, Vec) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:22:42 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn partition_by(items: Vec, predicate: F) -> (Vec, Vec) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn frequencies(items: &[T]) -> HashMap [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn interleave(mut iter1: I, mut iter2: J) -> Vec [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:38:42 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn interleave(mut iter1: I, mut iter2: J) -> Vec [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter1` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn interleave(mut iter1: I, mut iter2: J) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter2` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:38:42 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn interleave(mut iter1: I, mut iter2: J) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iter2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:47:58 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn sliding_window(items: &[T], size: usize, mut f: F) -> Vec [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn sliding_window(items: &[T], size: usize, mut f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:47:45 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn sliding_window(items: &[T], size: usize, mut f: F) -> Vec [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:47:58 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn sliding_window(items: &[T], size: usize, mut f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:55:70 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn process_exact_chunks(items: &[T], chunk_size: usize, mut f: F) -> Vec [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:55:38 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn process_exact_chunks(items: &[T], chunk_size: usize, mut f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk_size` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:55:51 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn process_exact_chunks(items: &[T], chunk_size: usize, mut f: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:55:70 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn process_exact_chunks(items: &[T], chunk_size: usize, mut f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:63:45 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn dedup_by_key(items: Vec, mut key_fn: F) -> Vec [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:63:30 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn dedup_by_key(items: Vec, mut key_fn: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_fn` [INFO] [stdout] --> src/exercises/iterators/exercise_28.rs:63:45 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn dedup_by_key(items: Vec, mut key_fn: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_29.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(items: Vec, max_depth: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_depth` [INFO] [stdout] --> src/exercises/iterators/exercise_29.rs:22:40 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(items: Vec, max_depth: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_depth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iterators` [INFO] [stdout] --> src/exercises/iterators/exercise_29.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(iterators: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iterators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/iterators/exercise_29.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn new(items: Vec) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:24:33 [INFO] [stdout] | [INFO] [stdout] 24 | fn group_by_key(self, mut key_fn: F) -> HashMap> [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_fn` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:24:33 [INFO] [stdout] | [INFO] [stdout] 24 | fn group_by_key(self, mut key_fn: F) -> HashMap> [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `limit` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:34:29 [INFO] [stdout] | [INFO] [stdout] 34 | fn take_while_sum(self, limit: i32) -> TakeWhileSum [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:42:22 [INFO] [stdout] | [INFO] [stdout] 42 | fn batched(self, size: usize) -> Batched [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `separator` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:50:26 [INFO] [stdout] | [INFO] [stdout] 50 | fn intersperse(self, separator: Self::Item) -> Intersperse [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_separator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:123:24 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn cartesian(a: Vec, b: Vec) -> impl Iterator [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:123:35 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn cartesian(a: Vec, b: Vec) -> impl Iterator [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iterators` [INFO] [stdout] --> src/exercises/iterators/exercise_30.rs:134:24 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn merge_unique(iterators: Vec) -> impl Iterator [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_iterators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_01.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn double_option(value: Option) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numerator` [INFO] [stdout] --> src/exercises/combinators/exercise_02.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn safe_divide(numerator: i32, denominator: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `denominator` [INFO] [stdout] --> src/exercises/combinators/exercise_02.rs:10:36 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn safe_divide(numerator: i32, denominator: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_denominator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_02.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn divide_twice(value: i32, div1: i32, div2: i32) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `div1` [INFO] [stdout] --> src/exercises/combinators/exercise_02.rs:15:33 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn divide_twice(value: i32, div1: i32, div2: i32) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_div1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `div2` [INFO] [stdout] --> src/exercises/combinators/exercise_02.rs:15:44 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn divide_twice(value: i32, div1: i32, div2: i32) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_div2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `primary` [INFO] [stdout] --> src/exercises/combinators/exercise_03.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn get_value_with_fallback(primary: Option, fallback: Option) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_primary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fallback` [INFO] [stdout] --> src/exercises/combinators/exercise_03.rs:10:54 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn get_value_with_fallback(primary: Option, fallback: Option) -> Option { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fallback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sources` [INFO] [stdout] --> src/exercises/combinators/exercise_03.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn first_available(sources: Vec>) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_04.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn keep_even(value: Option) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_04.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn keep_positive(value: Option) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_05.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_double(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_05.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_abs(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_06.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_with_custom_error(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_07.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn get_or_default(value: Option, default: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default` [INFO] [stdout] --> src/exercises/combinators/exercise_07.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn get_or_default(value: Option, default: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/combinators/exercise_07.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn sum_with_defaults(values: Vec>) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_08.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn get_or_compute(value: Option, compute: F) -> i32 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `compute` [INFO] [stdout] --> src/exercises/combinators/exercise_08.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn get_or_compute(value: Option, compute: F) -> i32 [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compute` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/combinators/exercise_08.rs:18:26 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn first_even_or_sum(numbers: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_09.rs:11:34 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn parse_positive_and_double(s: &str) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/combinators/exercise_09.rs:17:27 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn first_even_squared(numbers: &[i32]) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/combinators/exercise_10.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_add(a: &str, b: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/combinators/exercise_10.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_and_add(a: &str, b: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numerator` [INFO] [stdout] --> src/exercises/combinators/exercise_10.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_divide(numerator: &str, denominator: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numerator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `denominator` [INFO] [stdout] --> src/exercises/combinators/exercise_10.rs:15:42 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_divide(numerator: &str, denominator: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_denominator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_11.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_or_default(s: &str, default: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default` [INFO] [stdout] --> src/exercises/combinators/exercise_11.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_or_default(s: &str, default: i32) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_11.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_or_length(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/combinators/exercise_12.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn find_element(numbers: &[i32], target: i32) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/combinators/exercise_12.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn find_element(numbers: &[i32], target: i32) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/combinators/exercise_12.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn first_element(slice: &[T]) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/combinators/exercise_13.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_all_valid(strings: &[&str]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numerators` [INFO] [stdout] --> src/exercises/combinators/exercise_13.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn safe_divisions(numerators: &[i32], denominator: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numerators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `denominator` [INFO] [stdout] --> src/exercises/combinators/exercise_13.rs:15:43 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn safe_divisions(numerators: &[i32], denominator: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_denominator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/combinators/exercise_14.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn add_options(a: Option, b: Option) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/combinators/exercise_14.rs:10:36 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn add_options(a: Option, b: Option) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/combinators/exercise_14.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn multiply_three(a: Option, b: Option, c: Option) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/combinators/exercise_14.rs:15:39 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn multiply_three(a: Option, b: Option, c: Option) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/exercises/combinators/exercise_14.rs:15:55 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn multiply_three(a: Option, b: Option, c: Option) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_15.rs:10:30 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_or_none_keyword(s: &str) -> Option> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_15.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn get_flattened(s: &str) -> Option { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/combinators/exercise_15.rs:20:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn find_and_parse(strings: &[&str], target: &str) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/combinators/exercise_15.rs:20:41 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn find_and_parse(strings: &[&str], target: &str) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_16.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_non_empty(s: &str) -> Result, std::num::ParseIntError> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/combinators/exercise_16.rs:15:20 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_first(strings: &[&str]) -> Result, std::num::ParseIntError> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_17.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_validate_compute(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/combinators/exercise_17.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_max(a: &str, b: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/combinators/exercise_17.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_and_max(a: &str, b: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_18.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn double_or_zero(value: Option) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_18.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn length_or_zero(s: Option<&str>) -> usize { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_19.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn square_or_sum(value: Option, fallback: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fallback` [INFO] [stdout] --> src/exercises/combinators/exercise_19.rs:10:42 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn square_or_sum(value: Option, fallback: &[i32]) -> i32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fallback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_19.rs:15:26 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_or_generate(s: &str, generator: fn() -> i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generator` [INFO] [stdout] --> src/exercises/combinators/exercise_19.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn parse_or_generate(s: &str, generator: fn() -> i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_20.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_with_recovery(s: &str) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/combinators/exercise_20.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn divide_or_zero(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/combinators/exercise_20.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn divide_or_zero(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_21.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | fn tap(self, f: F) -> Self [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_21.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn process_with_logging(value: Option) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ok_fn` [INFO] [stdout] --> src/exercises/combinators/exercise_22.rs:18:37 [INFO] [stdout] | [INFO] [stdout] 18 | fn map_both(self, ok_fn: T2, err_fn: E2) -> Result [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ok_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err_fn` [INFO] [stdout] --> src/exercises/combinators/exercise_22.rs:18:48 [INFO] [stdout] | [INFO] [stdout] 18 | fn map_both(self, ok_fn: T2, err_fn: E2) -> Result [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_err_fn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_22.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn parse_and_transform(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_23.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | value: T, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `validators` [INFO] [stdout] --> src/exercises/combinators/exercise_23.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | validators: Vec>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/combinators/exercise_23.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn validate_positive(n: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/combinators/exercise_23.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn validate_even(n: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/combinators/exercise_23.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn validate_less_than_100(n: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_24.rs:21:28 [INFO] [stdout] | [INFO] [stdout] 21 | fn inspect_ok(self, f: F) -> Self [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_24.rs:28:29 [INFO] [stdout] | [INFO] [stdout] 28 | fn inspect_err(self, f: F) -> Self [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_24.rs:37:30 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn parse_with_inspection(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/combinators/exercise_25.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn parse_all_or_fail(strings: &[&str]) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `results` [INFO] [stdout] --> src/exercises/combinators/exercise_25.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn partition_results(results: Vec>) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_26.rs:17:31 [INFO] [stdout] | [INFO] [stdout] 17 | fn try_map(self, f: F) -> Result, E> [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/combinators/exercise_26.rs:26:25 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn try_parse_option(s: Option<&str>) -> Result, String> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn retry(mut operation: F, max_attempts: usize) -> Result [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn retry(mut operation: F, max_attempts: usize) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:10:41 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn retry(mut operation: F, max_attempts: usize) -> Result [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | mut operation: F, [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | mut operation: F, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | max_attempts: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `transform_error` [INFO] [stdout] --> src/exercises/combinators/exercise_27.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | transform_error: fn(E, usize) -> E, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | value: Option, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | f: impl FnOnce(T) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | g: impl FnOnce(U) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | value: Option, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | f: impl FnOnce(T) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | g: impl FnOnce(U) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | h: impl FnOnce(V) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | f: impl FnOnce(T) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/exercises/combinators/exercise_28.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | g: impl FnOnce(U) -> Option, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn success(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `error` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn failure(error: E) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn map(self, f: F) -> Validation [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:36:33 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn and_then(self, f: F) -> Validation [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn combine(self, other: Validation) -> Validation<(T, U), E> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `username` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn validate_username(username: &str) -> Validation { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `email` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:61:23 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn validate_email(email: &str) -> Validation { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_email` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `age` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn validate_age(age: i32) -> Validation { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_age` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `username` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | username: &str, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_username` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `email` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | email: &str, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_email` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `age` [INFO] [stdout] --> src/exercises/combinators/exercise_29.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | age: i32, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_age` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parse` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(parse: F) -> Self [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_parse` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn parse(&self, input: I) -> Option<(O, I)> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn map(self, f: F) -> Parser [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:39:34 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn and_then(self, f: F) -> Parser [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn or(self, other: Parser) -> Parser [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:59:20 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn char_parser(expected: char) -> Parser { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected` [INFO] [stdout] --> src/exercises/combinators/exercise_30.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn string_parser(expected: &'static str) -> Parser { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:11:29 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn async_multiply(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:11:37 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn async_multiply(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn async_add(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:16:32 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn async_add(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:21:32 [INFO] [stdout] | [INFO] [stdout] 21 | pub async fn multiply_then_add(a: i32, b: i32, c: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | pub async fn multiply_then_add(a: i32, b: i32, c: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/exercises/async_rust/exercise_01.rs:21:48 [INFO] [stdout] | [INFO] [stdout] 21 | pub async fn multiply_then_add(a: i32, b: i32, c: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn delayed_greeting(name: &str, delay_ms: u64) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:12:43 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn delayed_greeting(name: &str, delay_ms: u64) -> String { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:17:34 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn delayed_computation(value: i32, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:17:46 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn delayed_computation(value: i32, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay1_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn sequential_delays(delay1_ms: u64, delay2_ms: u64) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay1_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay2_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_02.rs:22:48 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn sequential_delays(delay1_ms: u64, delay2_ms: u64) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay2_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/async_rust/exercise_03.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn async_parse(s: &str) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_03.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn async_divide(a: i32, b: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_03.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn async_divide(a: i32, b: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/exercises/async_rust/exercise_03.rs:20:28 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn parse_and_add(s1: &str, s2: &str) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/exercises/async_rust/exercise_03.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn parse_and_add(s1: &str, s2: &str) -> Result { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_04.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn spawn_computation(value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_04.rs:17:28 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn spawn_and_sum(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_04.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn spawn_and_sum(a: i32, b: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_04.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn spawn_multiple(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_05.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn concurrent_multiply(a: i32, b: i32) -> (i32, i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_05.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn concurrent_multiply(a: i32, b: i32) -> (i32, i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_05.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn concurrent_delays(delay_ms: u64) -> (String, String, String) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_05.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn concurrent_sum(values: Vec) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn with_timeout(delay_ms: u64, timeout_ms: u64) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:12:42 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn with_timeout(delay_ms: u64, timeout_ms: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn timed_parse(s: &str, timeout_ms: u64) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn timed_parse(s: &str, timeout_ms: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operations` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:22:32 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn multiple_timeouts(operations: Vec, timeout_ms: u64) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_06.rs:22:54 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn multiple_timeouts(operations: Vec, timeout_ms: u64) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_07.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn execute_async_block(value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_07.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn async_map(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/exercises/async_rust/exercise_07.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn chain_async_blocks(x: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_08.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn async_find(values: Vec, target: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/async_rust/exercise_08.rs:10:43 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn async_find(values: Vec, target: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/async_rust/exercise_08.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn first_valid_parse(strings: Vec<&str>) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_08.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn chain_optional_ops(value: Option) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay1_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn race_two(delay1_ms: u64, delay2_ms: u64) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay1_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay2_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn race_two(delay1_ms: u64, delay2_ms: u64) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay2_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn first_to_complete(values: Vec<(i32, u64)>) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:21:29 [INFO] [stdout] | [INFO] [stdout] 21 | async fn compute_with_delay(value: i32, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:21:41 [INFO] [stdout] | [INFO] [stdout] 21 | async fn compute_with_delay(value: i32, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 26 | pub async fn with_fallback(value: i32, delay_ms: u64, timeout_ms: u64) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:26:40 [INFO] [stdout] | [INFO] [stdout] 26 | pub async fn with_fallback(value: i32, delay_ms: u64, timeout_ms: u64) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_09.rs:26:55 [INFO] [stdout] | [INFO] [stdout] 26 | pub async fn with_fallback(value: i32, delay_ms: u64, timeout_ms: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_10.rs:12:26 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn send_values(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_10.rs:17:32 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn channel_transform(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/exercises/async_rust/exercise_10.rs:22:33 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn multiple_producers(count: usize) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_11.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn concurrent_counter(num_tasks: usize, increments_per_task: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `increments_per_task` [INFO] [stdout] --> src/exercises/async_rust/exercise_11.rs:13:51 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn concurrent_counter(num_tasks: usize, increments_per_task: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increments_per_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_11.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn shared_vector(num_tasks: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_11.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn task_queue(tasks: Vec) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn try_parse_both(s1: &str, s2: &str) -> Result<(i32, i32), String> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:12:39 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn try_parse_both(s1: &str, s2: &str) -> Result<(i32, i32), String> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operations` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:17:35 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn concurrent_divisions(operations: Vec<(i32, i32)>) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | async fn divide(a: i32, b: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | async fn divide(a: i32, b: i32) -> Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strings` [INFO] [stdout] --> src/exercises/async_rust/exercise_12.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 26 | pub async fn parse_all_or_none(strings: Vec) -> Result, String> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strings` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn async_map(items: Vec, f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:10:53 [INFO] [stdout] | [INFO] [stdout] 10 | pub async fn async_map(items: Vec, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn async_filter(items: Vec, pred: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pred` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:19:53 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn async_filter(items: Vec, pred: F) -> Vec [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pred` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:29:39 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn async_fold(items: Vec, init: R, f: F) -> R [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `init` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:29:54 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn async_fold(items: Vec, init: R, f: F) -> R [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_init` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/async_rust/exercise_13.rs:29:63 [INFO] [stdout] | [INFO] [stdout] 29 | pub async fn async_fold(items: Vec, init: R, f: F) -> R [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn retry(max_attempts: u32, mut operation: F) -> Result [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:12:53 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn retry(max_attempts: u32, mut operation: F) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_attempts` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | max_attempts: u32, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_attempts` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base_delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | base_delay_ms: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operation` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | mut operation: F, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fail_until` [INFO] [stdout] --> src/exercises/async_rust/exercise_14.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(fail_until: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fail_until` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn concurrent_reads(value: i32, num_readers: usize) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_readers` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn concurrent_reads(value: i32, num_readers: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_readers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn mixed_read_write(initial: i32, operations: Vec<(&str, i32)>) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operations` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn mixed_read_write(initial: i32, operations: Vec<(&str, i32)>) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operations` [INFO] [stdout] --> src/exercises/async_rust/exercise_15.rs:23:27 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn shared_cache(operations: Vec<(String, Option)>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:14:34 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn limited_concurrency(tasks: Vec, max_concurrent: usize) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_concurrent` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:14:51 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn limited_concurrency(tasks: Vec, max_concurrent: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_concurrent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_calls` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn rate_limited_calls(num_calls: usize, rate_limit: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_calls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rate_limit` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:19:51 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn rate_limited_calls(num_calls: usize, rate_limit: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rate_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `requests` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn resource_pool(requests: usize, pool_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pool_size` [INFO] [stdout] --> src/exercises/async_rust/exercise_16.rs:24:45 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn resource_pool(requests: usize, pool_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pool_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:14:33 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn synchronized_tasks(num_tasks: usize, delays_ms: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delays_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:14:51 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn synchronized_tasks(num_tasks: usize, delays_ms: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delays_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_workers` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn multi_phase_computation(num_workers: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_workers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `batches` [INFO] [stdout] --> src/exercises/async_rust/exercise_17.rs:24:31 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn batch_processing(batches: Vec>) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_18.rs:14:30 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn wait_for_signal(delay_ms: u64) -> String { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/async_rust/exercise_18.rs:19:32 [INFO] [stdout] | [INFO] [stdout] 19 | pub async fn producer_consumer(items: Vec) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_waiters` [INFO] [stdout] --> src/exercises/async_rust/exercise_18.rs:24:37 [INFO] [stdout] | [INFO] [stdout] 24 | pub async fn broadcast_notification(num_waiters: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_waiters` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `updates` [INFO] [stdout] --> src/exercises/async_rust/exercise_19.rs:13:32 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn broadcast_updates(updates: Vec) -> Vec> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updates` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `states` [INFO] [stdout] --> src/exercises/async_rust/exercise_19.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn state_monitor(states: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_states` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_19.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn latest_value_tracker(values: Vec, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_19.rs:23:53 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn latest_value_tracker(values: Vec, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn compute_and_send(value: i32, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delay_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn compute_and_send(value: i32, delay_ms: u64) -> i32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `requests` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn request_response(requests: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_requests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:23:32 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn with_cancellation(value: i32, should_cancel: bool) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `should_cancel` [INFO] [stdout] --> src/exercises/async_rust/exercise_20.rs:23:44 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn with_cancellation(value: i32, should_cancel: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_should_cancel` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_21.rs:12:31 [INFO] [stdout] | [INFO] [stdout] 12 | pub async fn stream_from_iter(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_21.rs:17:25 [INFO] [stdout] | [INFO] [stdout] 17 | pub async fn stream_map(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_21.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | pub async fn stream_filter(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_21.rs:27:30 [INFO] [stdout] | [INFO] [stdout] 27 | pub async fn stream_pipeline(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn concurrent_stream_processing(values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:18:27 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn buffered_map(values: Vec, buffer_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer_size` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:18:45 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn buffered_map(values: Vec, buffer_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn stream_fold(values: Vec) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub async fn stream_chunks(values: Vec, chunk_size: usize) -> Vec> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk_size` [INFO] [stdout] --> src/exercises/async_rust/exercise_22.rs:28:46 [INFO] [stdout] | [INFO] [stdout] 28 | pub async fn stream_chunks(values: Vec, chunk_size: usize) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_23.rs:14:35 [INFO] [stdout] | [INFO] [stdout] 14 | async fn process_batch(&self, values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_23.rs:23:29 [INFO] [stdout] | [INFO] [stdout] 23 | async fn process(&self, value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_23.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | async fn process(&self, value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/async_rust/exercise_23.rs:38:33 [INFO] [stdout] | [INFO] [stdout] 38 | pub async fn process_with_trait(processor: &dyn AsyncProcessor, values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_23.rs:38:65 [INFO] [stdout] | [INFO] [stdout] 38 | pub async fn process_with_trait(processor: &dyn AsyncProcessor, values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_23.rs:43:31 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn chain_processors(value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/exercises/async_rust/exercise_24.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn cancellable_task(token: CancellationToken) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_24.rs:18:39 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn coordinated_cancellation(num_tasks: usize, run_duration_ms: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `run_duration_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_24.rs:18:57 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn coordinated_cancellation(num_tasks: usize, run_duration_ms: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_run_duration_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_25.rs:13:31 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn dynamic_task_set(tasks: Vec<(i32, u64)>) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_25.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | pub async fn process_as_completed(num_tasks: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_values` [INFO] [stdout] --> src/exercises/async_rust/exercise_25.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn conditional_spawning(initial_values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/async_rust/exercise_26.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn async_factorial(n: u64) -> std::pin::Pin + Send>> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/async_rust/exercise_26.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn async_fibonacci(n: u64) -> std::pin::Pin + Send>> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/async_rust/exercise_26.rs:28:22 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn traverse_tree(node: TreeNode) -> std::pin::Pin> + Send>> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(id: String, cleanup_log: Arc>>) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cleanup_log` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(id: String, cleanup_log: Arc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cleanup_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_resources` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:28:32 [INFO] [stdout] | [INFO] [stdout] 28 | pub async fn managed_resources(num_resources: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_resources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:38:16 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new(id: usize, closed: Arc>>) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closed` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:38:27 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new(id: usize, closed: Arc>>) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_closed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_connections` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | pub async fn connection_pool_shutdown(num_connections: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_connections` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn new(name: String, log: Arc>>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log` [INFO] [stdout] --> src/exercises/async_rust/exercise_27.rs:59:30 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn new(name: String, log: Arc>>) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request_id` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(request_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:24:22 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn with_user(mut self, user_id: String) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_id` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:24:32 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn with_user(mut self, user_id: String) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn add_trace(&mut self, entry: String) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:34:35 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn process_with_context(mut ctx: RequestContext, value: i32) -> (RequestContext, i32) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:34:60 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn process_with_context(mut ctx: RequestContext, value: i32) -> (RequestContext, i32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:39:36 [INFO] [stdout] | [INFO] [stdout] 39 | pub async fn pipeline_with_context(ctx: RequestContext, values: Vec) -> RequestContext { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:39:57 [INFO] [stdout] | [INFO] [stdout] 39 | pub async fn pipeline_with_context(ctx: RequestContext, values: Vec) -> RequestContext { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:44:36 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn parallel_with_context(ctx: RequestContext, values: Vec) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `values` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:44:57 [INFO] [stdout] | [INFO] [stdout] 44 | pub async fn parallel_with_context(ctx: RequestContext, values: Vec) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(config: Arc, request_id: String) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request_id` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:62:37 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn new(config: Arc, request_id: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/exercises/async_rust/exercise_28.rs:67:44 [INFO] [stdout] | [INFO] [stdout] 67 | pub async fn operation_with_shared_context(ctx: SharedContext) -> u64 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> src/exercises/async_rust/exercise_29.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(duration: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/exercises/async_rust/exercise_29.rs:29:35 [INFO] [stdout] | [INFO] [stdout] 29 | fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_29.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cx` [INFO] [stdout] --> src/exercises/async_rust/exercise_29.rs:73:35 [INFO] [stdout] | [INFO] [stdout] 73 | fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_29.rs:83:27 [INFO] [stdout] | [INFO] [stdout] 83 | pub fn complete(self, value: T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_concurrent` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new(max_concurrent: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_concurrent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | pub async fn add_work(&self, item: WorkItem, high_priority: bool) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `high_priority` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:33:50 [INFO] [stdout] | [INFO] [stdout] 33 | pub async fn add_work(&self, item: WorkItem, high_priority: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_high_priority` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_size` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn new(max_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:62:29 [INFO] [stdout] | [INFO] [stdout] 62 | pub async fn get(&self, key: &str) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:66:29 [INFO] [stdout] | [INFO] [stdout] 66 | pub async fn set(&self, key: String, value: i32, ttl_ms: u64) -> Result<(), String> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:66:42 [INFO] [stdout] | [INFO] [stdout] 66 | pub async fn set(&self, key: String, value: i32, ttl_ms: u64) -> Result<(), String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ttl_ms` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | pub async fn set(&self, key: String, value: i32, ttl_ms: u64) -> Result<(), String> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ttl_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:91:33 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn execute(&self, task: Task) -> Result { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/exercises/async_rust/exercise_30.rs:95:37 [INFO] [stdout] | [INFO] [stdout] 95 | pub async fn execute_all(&self, tasks: Vec) -> HashMap { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/threads/exercise_01.rs:13:26 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn spawn_and_compute(n: i32) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/threads/exercise_02.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parallel_squares(n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `millis` [INFO] [stdout] --> src/exercises/threads/exercise_03.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn sleep_and_return(millis: u64, value: i32) -> i32 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_millis` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/threads/exercise_03.rs:13:38 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn sleep_and_return(millis: u64, value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/threads/exercise_04.rs:14:24 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn channel_numbers(n: i32) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_05.rs:14:25 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn sum_from_threads(n_threads: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/threads/exercise_06.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn safe_compute(value: i32) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/threads/exercise_07.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn create_named_thread(name: &str) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_ms` [INFO] [stdout] --> src/exercises/threads/exercise_08.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn receive_with_timeout(timeout_ms: u64) -> Option { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_09.rs:14:27 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn concurrent_counter(n_threads: usize, n_times: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_times` [INFO] [stdout] --> src/exercises/threads/exercise_09.rs:14:45 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn concurrent_counter(n_threads: usize, n_times: usize) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_times` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_10.rs:14:28 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn concurrent_vec_push(n_threads: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_producers` [INFO] [stdout] --> src/exercises/threads/exercise_11.rs:16:26 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn producer_consumer(n_producers: usize, n_consumers: usize, items_per_producer: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_producers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_consumers` [INFO] [stdout] --> src/exercises/threads/exercise_11.rs:16:46 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn producer_consumer(n_producers: usize, n_consumers: usize, items_per_producer: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_consumers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items_per_producer` [INFO] [stdout] --> src/exercises/threads/exercise_11.rs:16:66 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn producer_consumer(n_producers: usize, n_consumers: usize, items_per_producer: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_items_per_producer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_readers` [INFO] [stdout] --> src/exercises/threads/exercise_12.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn rwlock_operations(n_readers: usize, value: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_readers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/threads/exercise_12.rs:14:44 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn rwlock_operations(n_readers: usize, value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_workers` [INFO] [stdout] --> src/exercises/threads/exercise_13.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn simple_thread_pool(n_workers: usize, n_tasks: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_workers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_tasks` [INFO] [stdout] --> src/exercises/threads/exercise_13.rs:15:45 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn simple_thread_pool(n_workers: usize, n_tasks: usize) -> usize { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_tasks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/threads/exercise_14.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parallel_map(data: Vec, n_threads: usize, f: F) -> Vec [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_14.rs:13:44 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parallel_map(data: Vec, n_threads: usize, f: F) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/threads/exercise_14.rs:13:62 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parallel_map(data: Vec, n_threads: usize, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numbers` [INFO] [stdout] --> src/exercises/threads/exercise_15.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn parallel_sum(numbers: Vec, n_threads: usize) -> i64 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_15.rs:12:40 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn parallel_sum(numbers: Vec, n_threads: usize) -> i64 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/threads/exercise_16.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn parallel_increment(data: &mut [i32], n_threads: usize) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_16.rs:12:45 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn parallel_increment(data: &mut [i32], n_threads: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `account1` [INFO] [stdout] --> src/exercises/threads/exercise_17.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | account1: Arc>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `account2` [INFO] [stdout] --> src/exercises/threads/exercise_17.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | account2: Arc>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_account2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/exercises/threads/exercise_17.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | amount: i32, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_balance` [INFO] [stdout] --> src/exercises/threads/exercise_17.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn parallel_transfers(initial_balance: i32, n_transfers: usize) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_balance` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_transfers` [INFO] [stdout] --> src/exercises/threads/exercise_17.rs:24:49 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn parallel_transfers(initial_balance: i32, n_transfers: usize) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_transfers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `capacity` [INFO] [stdout] --> src/exercises/threads/exercise_18.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn bounded_channel_test(capacity: usize, n_items: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_capacity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_items` [INFO] [stdout] --> src/exercises/threads/exercise_18.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn bounded_channel_test(capacity: usize, n_items: usize) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_readers` [INFO] [stdout] --> src/exercises/threads/exercise_19.rs:15:28 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn rwlock_multi_writer(n_readers: usize, n_writers: usize, increments_per_writer: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_readers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_writers` [INFO] [stdout] --> src/exercises/threads/exercise_19.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn rwlock_multi_writer(n_readers: usize, n_writers: usize, increments_per_writer: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_writers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `increments_per_writer` [INFO] [stdout] --> src/exercises/threads/exercise_19.rs:15:64 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn rwlock_multi_writer(n_readers: usize, n_writers: usize, increments_per_writer: usize) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increments_per_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_ms` [INFO] [stdout] --> src/exercises/threads/exercise_20.rs:14:26 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn park_with_timeout(timeout_ms: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_21.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn barrier_phases(n_threads: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/threads/exercise_22.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn condvar_pattern(value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_23.rs:14:23 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn atomic_counter(n_threads: usize, increments_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `increments_per_thread` [INFO] [stdout] --> src/exercises/threads/exercise_23.rs:14:41 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn atomic_counter(n_threads: usize, increments_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increments_per_thread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_24.rs:15:33 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn atomic_bounded_increment(n_threads: usize, max_value: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_value` [INFO] [stdout] --> src/exercises/threads/exercise_24.rs:15:51 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn atomic_bounded_increment(n_threads: usize, max_value: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_25.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn thread_local_sum(n_threads: usize, increments_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `increments_per_thread` [INFO] [stdout] --> src/exercises/threads/exercise_25.rs:19:43 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn thread_local_sum(n_threads: usize, increments_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increments_per_thread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_26.rs:32:25 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn spinlock_counter(n_threads: usize, increments_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `increments_per_thread` [INFO] [stdout] --> src/exercises/threads/exercise_26.rs:32:43 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn spinlock_counter(n_threads: usize, increments_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increments_per_thread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_27.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn relaxed_counters(n_threads: usize) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/threads/exercise_28.rs:15:32 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn acquire_release_pattern(value: usize) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/threads/exercise_29.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn push(&self, data: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_threads` [INFO] [stdout] --> src/exercises/threads/exercise_29.rs:50:29 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn test_lock_free_stack(n_threads: usize, operations_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operations_per_thread` [INFO] [stdout] --> src/exercises/threads/exercise_29.rs:50:47 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn test_lock_free_stack(n_threads: usize, operations_per_thread: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_operations_per_thread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(data: T) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:31:25 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn write(&self, data: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_readers` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn test_seqlock(n_readers: usize, n_writes: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_readers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_writes` [INFO] [stdout] --> src/exercises/threads/exercise_30.rs:37:39 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn test_seqlock(n_readers: usize, n_writes: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_writes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial` [INFO] [stdout] --> src/exercises/polymorphism/exercise_02.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(initial: i32) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> src/exercises/polymorphism/exercise_03.rs:46:35 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn introduce(entity: &T) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/polymorphism/exercise_04.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/polymorphism/exercise_04.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | fn new(name: String) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_06.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn print_summary(item: &impl Summarizable) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_06.rs:41:37 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn get_summary(item: &T) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item1` [INFO] [stdout] --> src/exercises/polymorphism/exercise_06.rs:46:43 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn combine_summaries(item1: &T, item2: &T) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_item1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item2` [INFO] [stdout] --> src/exercises/polymorphism/exercise_06.rs:46:54 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn combine_summaries(item1: &T, item2: &T) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_item2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `radius` [INFO] [stdout] --> src/exercises/polymorphism/exercise_07.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn create_circle(radius: f64) -> impl Drawable { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_radius` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `width` [INFO] [stdout] --> src/exercises/polymorphism/exercise_07.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn create_rectangle(width: f64, height: f64) -> impl Drawable { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_width` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `height` [INFO] [stdout] --> src/exercises/polymorphism/exercise_07.rs:42:37 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn create_rectangle(width: f64, height: f64) -> impl Drawable { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> src/exercises/polymorphism/exercise_07.rs:49:19 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn draw_shape(shape: &impl Drawable) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dx` [INFO] [stdout] --> src/exercises/polymorphism/exercise_08.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | fn move_by(&mut self, dx: i32, dy: i32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dy` [INFO] [stdout] --> src/exercises/polymorphism/exercise_08.rs:26:36 [INFO] [stdout] | [INFO] [stdout] 26 | fn move_by(&mut self, dx: i32, dy: i32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dx` [INFO] [stdout] --> src/exercises/polymorphism/exercise_08.rs:32:27 [INFO] [stdout] | [INFO] [stdout] 32 | fn move_by(&mut self, dx: i32, dy: i32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dy` [INFO] [stdout] --> src/exercises/polymorphism/exercise_08.rs:32:36 [INFO] [stdout] | [INFO] [stdout] 32 | fn move_by(&mut self, dx: i32, dy: i32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `animals` [INFO] [stdout] --> src/exercises/polymorphism/exercise_09.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn zoo_chorus(animals: &[Box]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_animals` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `renderer` [INFO] [stdout] --> src/exercises/polymorphism/exercise_10.rs:57:23 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn render_dynamic(renderer: &dyn Renderer) -> String { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `renderer` [INFO] [stdout] --> src/exercises/polymorphism/exercise_10.rs:62:35 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn render_static(renderer: &T) -> String { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `renderers` [INFO] [stdout] --> src/exercises/polymorphism/exercise_10.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn render_all(renderers: &[&dyn Renderer]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_11.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | fn log_info(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_11.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | fn log_error(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_11.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | fn log_debug(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_11.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | fn log(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_11.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | fn log(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_11.rs:46:25 [INFO] [stdout] | [INFO] [stdout] 46 | fn log_error(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape` [INFO] [stdout] --> src/exercises/polymorphism/exercise_12.rs:72:45 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn print_colored_shape(shape: &T) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shape` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/polymorphism/exercise_13.rs:39:19 [INFO] [stdout] | [INFO] [stdout] 39 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_13.rs:45:48 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn log_item(item: &T) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_13.rs:50:58 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn full_log(item: &T) -> String { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_13.rs:55:51 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn duplicate_and_log(item: &T) -> (T, String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_13.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn complex_operation(item: &T) -> String [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `task` [INFO] [stdout] --> src/exercises/polymorphism/exercise_14.rs:71:32 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn add_task(&mut self, task: Box) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/exercises/polymorphism/exercise_15.rs:25:30 [INFO] [stdout] | [INFO] [stdout] 25 | fn is_larger_than(&self, other: &impl Measurable) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/polymorphism/exercise_15.rs:65:52 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn compare_sizes(a: &T, b: &U) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/polymorphism/exercise_15.rs:65:59 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn compare_sizes(a: &T, b: &U) -> String { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | fn send(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | fn send(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | fn send(&self, message: &str) -> String { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `preference` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:44:24 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn create_notifier(preference: &str, target: String) -> Box { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:44:42 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn create_notifier(preference: &str, target: String) -> Box { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:54:29 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn create_all_notifiers(target: String) -> Vec> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:59:18 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn broadcast(message: &str, notifiers: &[Box]) -> Vec { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `notifiers` [INFO] [stdout] --> src/exercises/polymorphism/exercise_16.rs:59:33 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn broadcast(message: &str, notifiers: &[Box]) -> Vec { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notifiers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_17.rs:50:36 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn cache(item: &T) -> T { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_17.rs:60:72 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn full_process(item: &T) -> (String, T, String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/polymorphism/exercise_18.rs:41:25 [INFO] [stdout] | [INFO] [stdout] 41 | fn sum_if(&self, predicate: F) -> T [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_19.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | fn process(&self, input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | fn process(&self, input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | fn process(&self, input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:38:37 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn process_static(processor: &T, input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:38:52 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn process_static(processor: &T, input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:43:24 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn process_dynamic(processor: &dyn Processor, input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:43:51 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn process_dynamic(processor: &dyn Processor, input: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processors` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn process_all_same(processors: &[T], input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:48:57 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn process_all_same(processors: &[T], input: &str) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processors` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:53:30 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn process_all_different(processors: &[&dyn Processor], input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:53:61 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn process_all_different(processors: &[&dyn Processor], input: &str) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/exercises/polymorphism/exercise_20.rs:58:25 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn create_processor(kind: &str) -> Box { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | fn count(mut self) -> usize [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new(start: i32, end: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn new(start: i32, end: i32) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:74:28 [INFO] [stdout] | [INFO] [stdout] 74 | fn add_node(&mut self, node: Self::Node) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edge` [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:78:28 [INFO] [stdout] | [INFO] [stdout] 78 | fn add_edge(&mut self, edge: Self::Edge) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_edge` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:94:23 [INFO] [stdout] | [INFO] [stdout] 94 | fn add(&mut self, item: Self::Item) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/polymorphism/exercise_21.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | fn get(&self, index: usize) -> Option<&Self::Item> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/polymorphism/exercise_22.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | fn load(id: u64) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/polymorphism/exercise_22.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/polymorphism/exercise_22.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | fn load(id: u64) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/polymorphism/exercise_22.rs:88:19 [INFO] [stdout] | [INFO] [stdout] 88 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> src/exercises/polymorphism/exercise_22.rs:100:33 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn full_audit(entity: &T) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:17:31 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn process_and_display(item: T) -> String [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:25:34 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn combine_and_display(first: T, second: U) -> String [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn combine_and_display(first: T, second: U) -> String [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:34:28 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn process_iterator(iter: I) -> Vec [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:43:32 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn transform_with(items: Vec, f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:43:47 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn transform_with(items: Vec, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn sum_and_scale(items: &[T], scale: T) -> T [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scale` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn sum_and_scale(items: &[T], scale: T) -> T [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn process_trait_objects(items: &[Box]) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_23.rs:81:27 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn add(&mut self, item: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/polymorphism/exercise_24.rs:73:29 [INFO] [stdout] | [INFO] [stdout] 73 | fn map_all(&self, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/polymorphism/exercise_24.rs:94:28 [INFO] [stdout] | [INFO] [stdout] 94 | fn filter_by(&self, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/exercises/polymorphism/exercise_25.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn use_as_trait_object(obj: &dyn ObjectSafe) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_25.rs:49:30 [INFO] [stdout] | [INFO] [stdout] 49 | fn process_string(&self, value: &str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_25.rs:53:27 [INFO] [stdout] | [INFO] [stdout] 53 | fn process_i32(&self, value: i32) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/exercises/polymorphism/exercise_25.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn use_maybe_sized(obj: &dyn MaybeSized) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | fn process(&self, input: &'a str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | fn process(&self, input: &'a str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:47:37 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn process_with_lifetime<'a, T>(processor: &T, input: &'a str) -> String [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:47:52 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn process_with_lifetime<'a, T>(processor: &T, input: &'a str) -> String [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | fn get(&self, key: &str) -> Option<&'a Self::Item> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | fn set(&mut self, key: String, value: &'a T) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:81:36 [INFO] [stdout] | [INFO] [stdout] 81 | fn set(&mut self, key: String, value: &'a T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn compare_and_return<'a, 'b, T>(first: &'a T, second: &'b T, use_first: bool) -> &'a T [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:87:52 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn compare_and_return<'a, 'b, T>(first: &'a T, second: &'b T, use_first: bool) -> &'a T [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_first` [INFO] [stdout] --> src/exercises/polymorphism/exercise_26.rs:87:67 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn compare_and_return<'a, 'b, T>(first: &'a T, second: &'b T, use_first: bool) -> &'a T [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | fn convert(&self, input: Self::Input) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:38:23 [INFO] [stdout] | [INFO] [stdout] 38 | fn convert(&self, input: Self::Input) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `converter1` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | converter1: &C1, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_converter1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `converter2` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | converter2: &C2, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_converter2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | input: C1::Input, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn push(&mut self, item: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn add_node(&mut self, name: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:117:32 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn add_edge(&mut self, from: usize, to: usize) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:117:45 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn add_edge(&mut self, from: usize, to: usize) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `collection` [INFO] [stdout] --> src/exercises/polymorphism/exercise_27.rs:138:30 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn process_collection(collection: &C) -> Vec [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collection` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `use_fast` [INFO] [stdout] --> src/exercises/polymorphism/exercise_28.rs:82:23 [INFO] [stdout] | [INFO] [stdout] 82 | fn process(&self, use_fast: bool) -> String { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_use_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/exercises/polymorphism/exercise_29.rs:62:37 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn execute_static(op: &T) -> (i32, &'static str) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/exercises/polymorphism/exercise_29.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn execute_dynamic(op: &dyn Operation) -> (i32, &'static str) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/exercises/polymorphism/exercise_29.rs:86:37 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn add_operation(&mut self, op: Box) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/exercises/polymorphism/exercise_29.rs:129:32 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn call_all_methods_static(obj: &MultiImpl) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/exercises/polymorphism/exercise_29.rs:133:33 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn call_all_methods_dynamic(obj: &dyn MultiMethod) -> Vec { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_29.rs:148:23 [INFO] [stdout] | [INFO] [stdout] 148 | fn process(&self, value: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(data: &'data [T], window_size: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_size` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(data: &'data [T], window_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn push(&mut self, s: String) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | fn get(&self, index: usize) -> Option> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:84:14 [INFO] [stdout] | [INFO] [stdout] 84 | fn count(mut self) -> usize [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn new(data: &'data [T], chunk_size: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk_size` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:99:34 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn new(data: &'data [T], chunk_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:129:15 [INFO] [stdout] | [INFO] [stdout] 129 | fn new(value: T) -> Self::Pointer { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:139:15 [INFO] [stdout] | [INFO] [stdout] 139 | fn new(value: T) -> Self::Pointer { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/polymorphism/exercise_30.rs:165:26 [INFO] [stdout] | [INFO] [stdout] 165 | fn map<'a>(&'a self, input: Self::Input<'a>) -> Self::Output<'a> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/exercises/generics/exercise_01.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn first(pair: (T, T)) -> T { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/exercises/generics/exercise_01.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn second(pair: (T, T)) -> T { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pair` [INFO] [stdout] --> src/exercises/generics/exercise_01.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn swap(pair: (T, U)) -> (U, T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pair` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_02.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_02.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn replace(&mut self, value: T) -> T { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/generics/exercise_03.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(first: T, second: U) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/generics/exercise_03.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(first: T, second: U) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_04.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn duplicate(value: T) -> (T, T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_04.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/generics/exercise_04.rs:36:31 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn make_copies(&self, n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn are_equal(a: T, b: T) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:10:38 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn are_equal(a: T, b: T) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn contains(slice: &[T], value: &T) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:15:44 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn contains(slice: &[T], value: &T) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reference` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(reference: T) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn is_equal(&self, value: &T) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/generics/exercise_05.rs:36:31 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn count_equal(&self, slice: &[T]) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prefix` [INFO] [stdout] --> src/exercises/generics/exercise_06.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn with_prefix(prefix: &str, value: T) -> String { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_06.rs:12:46 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn with_prefix(prefix: &str, value: T) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/generics/exercise_06.rs:17:33 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn join_display(items: &[T]) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/exercises/generics/exercise_06.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new(left: String, right: String) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/exercises/generics/exercise_06.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new(left: String, right: String) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_06.rs:35:26 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn format(&self, value: T) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/generics/exercise_07.rs:10:36 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn create_defaults(n: usize) -> Vec { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_07.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_07.rs:36:27 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn set(&mut self, value: T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/generics/exercise_08.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn add>(a: T, b: T) -> T { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/generics/exercise_08.rs:12:38 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn add>(a: T, b: T) -> T { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/generics/exercise_08.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn sum_all(slice: &[T]) -> T [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial` [INFO] [stdout] --> src/exercises/generics/exercise_08.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(initial: T) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_08.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn add(&mut self, value: T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_08.rs:52:29 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn reset(&mut self, value: T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/exercises/generics/exercise_09.rs:10:32 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn first_element(slice: &[T]) -> Option { [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] --> src/exercises/generics/exercise_09.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_by(slice: &[T], predicate: F) -> Option<&T> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/generics/exercise_09.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_by(slice: &[T], predicate: F) -> Option<&T> [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_09.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn map(self, f: F) -> Maybe [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default` [INFO] [stdout] --> src/exercises/generics/exercise_09.rs:38:28 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn unwrap_or(self, default: T) -> T { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/generics/exercise_10.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn safe_divide(a: T, b: T) -> Result [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/generics/exercise_10.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn safe_divide(a: T, b: T) -> Result [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/generics/exercise_10.rs:18:23 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn parse_value(s: &str) -> Result [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_10.rs:34:28 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn map(self, f: F) -> Outcome [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default` [INFO] [stdout] --> src/exercises/generics/exercise_10.rs:42:28 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn unwrap_or(self, default: T) -> T { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_11.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn print_and_clone(value: T) -> T [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/generics/exercise_11.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compare_and_display(a: T, b: U) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/generics/exercise_11.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compare_and_display(a: T, b: U) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_11.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn new(input: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/exercises/generics/exercise_11.rs:59:34 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn set_output(&mut self, output: U) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vec` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:10:21 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn filter(vec: Vec, predicate: F) -> Vec [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn filter(vec: Vec, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vec` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn map(vec: Vec, f: F) -> Vec [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:18:34 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn map(vec: Vec, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn from_vec(items: Vec) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn add(&mut self, item: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:64:23 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn get(&self, index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:71:28 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn contains(&self, item: &T) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/exercises/generics/exercise_12.rs:76:34 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn remove_all(&mut self, item: &T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_13.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn leaf(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_13.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn with_children(value: T, left: Option>, right: Option>) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/exercises/generics/exercise_13.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn with_children(value: T, left: Option>, right: Option>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/exercises/generics/exercise_13.rs:23:63 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn with_children(value: T, left: Option>, right: Option>) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_13.rs:52:28 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn contains(&self, value: &T) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/generics/exercise_14.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(iter: I) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/generics/exercise_14.rs:56:16 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(iter: I, predicate: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/generics/exercise_14.rs:56:25 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn new(iter: I, predicate: F) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/generics/exercise_14.rs:74:24 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn enumerate(iter: I) -> Enumerated [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `iter` [INFO] [stdout] --> src/exercises/generics/exercise_14.rs:82:28 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn take_while(iter: I, predicate: F) -> TakeWhile [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_iter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/generics/exercise_14.rs:82:37 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn take_while(iter: I, predicate: F) -> TakeWhile [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_15.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_15.rs:38:38 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn start_processing(self, f: F) -> Result, &'static str> [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_15.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn complete(self, f: F) -> Result, &'static str> [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/generics/exercise_16.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn name(mut self, name: String) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/exercises/generics/exercise_16.rs:23:27 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn name(mut self, name: String) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/generics/exercise_16.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn value(mut self, value: T) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_16.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn value(mut self, value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/generics/exercise_16.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn metadata(mut self, metadata: U) -> Self { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metadata` [INFO] [stdout] --> src/exercises/generics/exercise_16.rs:33:31 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn metadata(mut self, metadata: U) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_size` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(max_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:31:30 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn insert(&mut self, key: K, value: V) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:31:38 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn insert(&mut self, key: K, value: V) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn get(&self, key: &K) -> Option<&V> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:41:28 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn contains(&self, key: &K) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn remove(&mut self, key: &K) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/exercises/generics/exercise_17.rs:72:30 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn get_cloned(&self, key: &K) -> Option { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(min: T, max: T) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:22:24 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(min: T, max: T) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | fn validate(&self, value: &T) -> Result<(), Self::Error> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min_len` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:45:16 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn new(min_len: usize, max_len: usize) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_len` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn new(min_len: usize, max_len: usize) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | fn validate(&self, value: &Vec) -> Result<(), Self::Error> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 61 | fn validate(&self, value: &String) -> Result<(), Self::Error> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn validate_all(value: &T, validators: &[V]) -> Result<(), String> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `validators` [INFO] [stdout] --> src/exercises/generics/exercise_18.rs:67:38 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn validate_all(value: &T, validators: &[V]) -> Result<(), String> [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validators` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callback` [INFO] [stdout] --> src/exercises/generics/exercise_19.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn subscribe(&mut self, callback: F) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callback` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/exercises/generics/exercise_19.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn publish(&mut self, event: &T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handler` [INFO] [stdout] --> src/exercises/generics/exercise_19.rs:57:29 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn on(&mut self, handler: F) [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/exercises/generics/exercise_19.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn emit(&mut self, event: T) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(strategy: Box>) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn execute(&self, input: T) -> U { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:31:36 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn set_strategy(&mut self, strategy: Box>) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:40:23 [INFO] [stdout] | [INFO] [stdout] 40 | fn execute(&self, input: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:49:23 [INFO] [stdout] | [INFO] [stdout] 49 | fn execute(&self, input: i32) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | fn execute(&self, input: String) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:67:23 [INFO] [stdout] | [INFO] [stdout] 67 | fn execute(&self, input: String) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `strategy` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:84:32 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn add_step(&mut self, strategy: Box>) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:89:27 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn process(&self, mut input: T) -> T { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_20.rs:89:27 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn process(&self, mut input: T) -> T { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_21.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(value: &'a T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first` [INFO] [stdout] --> src/exercises/generics/exercise_21.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new(first: &'a T, second: &'b U) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_first` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `second` [INFO] [stdout] --> src/exercises/generics/exercise_21.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new(first: &'a T, second: &'b U) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_second` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_21.rs:91:23 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn from_value(value: T) -> MaybeOwned<'a, T::Owned> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/generics/exercise_22.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(data: T) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_22.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn meters(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_22.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn feet(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_23.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn push(&mut self, value: T) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_23.rs:79:29 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn write(&mut self, value: T) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/generics/exercise_24.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(func: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_24.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | fn convert(&self, input: Self::Input) -> Self::Output { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/generics/exercise_24.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(items: Vec) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_24.rs:101:16 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn new(value: Option) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `default` [INFO] [stdout] --> src/exercises/generics/exercise_24.rs:111:28 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn unwrap_or(self, default: T) -> T { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_24.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | fn map(self, f: F) -> MappedResult [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:30:32 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn add_node(&mut self, node: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:35:32 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn add_edge(&mut self, from: T, to: T) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:35:41 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn add_edge(&mut self, from: T, to: T) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:40:29 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn neighbors(&self, node: &T) -> Option<&Vec> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn contains(&self, node: &T) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:55:23 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn dfs(&self, start: &T) -> Vec { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 59 | fn dfs_helper(&self, node: &T, visited: &mut HashSet, result: &mut Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `visited` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:59:36 [INFO] [stdout] | [INFO] [stdout] 59 | fn dfs_helper(&self, node: &T, visited: &mut HashSet, result: &mut Vec) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:59:62 [INFO] [stdout] | [INFO] [stdout] 59 | fn dfs_helper(&self, node: &T, visited: &mut HashSet, result: &mut Vec) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:64:28 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn has_path(&self, from: &T, to: &T) -> bool { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:64:38 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn has_path(&self, from: &T, to: &T) -> bool { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:68:31 [INFO] [stdout] | [INFO] [stdout] 68 | fn has_path_helper(&self, current: &T, target: &T, visited: &mut HashSet) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:68:44 [INFO] [stdout] | [INFO] [stdout] 68 | fn has_path_helper(&self, current: &T, target: &T, visited: &mut HashSet) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `visited` [INFO] [stdout] --> src/exercises/generics/exercise_25.rs:68:56 [INFO] [stdout] | [INFO] [stdout] 68 | fn has_path_helper(&self, current: &T, target: &T, visited: &mut HashSet) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:23:16 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | fn parse(&self, input: &'a str) -> ParseResult<'a, T> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:40:16 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn new(expected: char) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | fn parse(&self, input: &'a str) -> ParseResult<'a, char> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parser` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(parser: P, func: F) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn new(parser: P, func: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | fn parse(&self, input: &'a str) -> ParseResult<'a, B> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | fn parse(&self, input: &'a str) -> ParseResult<'a, u32> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parser` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn parse_many<'a, T, P>(parser: &P, input: &'a str) -> ParseResult<'a, Vec> [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_26.rs:92:41 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn parse_many<'a, T, P>(parser: &P, input: &'a str) -> ParseResult<'a, Vec> [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/generics/exercise_27.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new(func: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_27.rs:58:18 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn ready(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_27.rs:68:27 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn set(&mut self, value: T) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_27.rs:98:16 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn new(value: T, func: F) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/generics/exercise_27.rs:98:26 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn new(value: T, func: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/generics/exercise_27.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn run(mut self) -> U { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/exercises/generics/exercise_28.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(content: String) -> Self { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_content` [INFO] [stdout] --> src/exercises/generics/exercise_28.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn edit(&mut self, new_content: String) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `host` [INFO] [stdout] --> src/exercises/generics/exercise_28.rs:82:16 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn new(host: String, port: u16) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_host` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `port` [INFO] [stdout] --> src/exercises/generics/exercise_28.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn new(host: String, port: u16) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_port` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/exercises/generics/exercise_28.rs:111:24 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn send(&self, data: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `processor` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn apply_processor<'a, P>(processor: &P, input: &'a str) -> &'a str [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:15:46 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn apply_processor<'a, P>(processor: &P, input: &'a str) -> &'a str [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:26:27 [INFO] [stdout] | [INFO] [stdout] 26 | fn process<'a>(&self, input: &'a str) -> &'a str { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:32:28 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn with_borrowed(value: T, f: F) -> String [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:32:38 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn with_borrowed(value: T, f: F) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicate` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn new(predicate: F) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:60:23 [INFO] [stdout] | [INFO] [stdout] 60 | fn map<'a>(&self, items: &'a [T]) -> Vec<&'a T> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn new(func: F) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:80:33 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn transform<'a>(&self, input: &'a str) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inputs` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:84:38 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn transform_many<'a>(&self, inputs: &'a [&'a str]) -> Vec { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:90:20 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn chain(f: F, g: G) -> impl Fn(&str) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:90:26 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn chain(f: F, g: G) -> impl Fn(&str) -> String [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn map_with_context(items: &[T], f: F) -> Vec [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:101:47 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn map_with_context(items: &[T], f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `min` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn new(min: usize, max: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_min` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:120:28 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn new(min: usize, max: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/exercises/generics/exercise_29.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | fn validate<'a>(&self, input: &'a str) -> Result<&'a str, String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `items` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn new(items: Vec) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_items` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:93:32 [INFO] [stdout] | [INFO] [stdout] 93 | fn map<'a, U, F>(&'a self, f: F) -> Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn new(max: i32) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_max` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inner` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(inner: T, metadata: String) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_inner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metadata` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:146:26 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn new(inner: T, metadata: String) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/generics/exercise_30.rs:222:29 [INFO] [stdout] | [INFO] [stdout] 222 | fn select<'a>(&'a self, value: &'a T) -> Self::Selected<'a> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_01.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn create_boxed_value(value: i32) -> Box { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_01.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn double_boxed(b: Box) -> Box { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_01.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn sum_boxes(a: Box, b: Box) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_01.rs:20:31 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn sum_boxes(a: Box, b: Box) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_02.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn prepend(self, value: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_03.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(value: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_03.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn with_children(value: i32, left: Option>, right: Option>) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_03.rs:23:38 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn with_children(value: i32, left: Option>, right: Option>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_03.rs:23:67 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn with_children(value: i32, left: Option>, right: Option>) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shapes` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_04.rs:49:19 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn total_area(shapes: &[Box]) -> f64 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shapes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_05.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn make_adder(n: i32) -> Operation { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_05.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn make_multiplier(n: i32) -> Operation { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_05.rs:22:25 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn apply_operations(value: i32, ops: &[Operation]) -> i32 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ops` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_05.rs:22:37 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn apply_operations(value: i32, ops: &[Operation]) -> i32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ops` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_05.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn compose(f: Operation, g: Operation) -> Operation { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_05.rs:27:30 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn compose(f: Operation, g: Operation) -> Operation { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn deref_example(boxed: Box) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn box_method_call(boxed: Box>) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compare_boxes(a: Box, b: Box) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn compare_boxes(a: Box, b: Box) -> bool { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn clone_from_box(boxed: Box) -> String { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:30:21 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn modify_boxed(mut boxed: Box>, value: i32) -> Box> { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:30:21 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn modify_boxed(mut boxed: Box>, value: i32) -> Box> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_06.rs:30:47 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn modify_boxed(mut boxed: Box>, value: i32) -> Box> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_07.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new(id: usize) -> Self { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_07.rs:51:24 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn create_multiple(count: usize) -> Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_08.rs:32:32 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn create_multiple_on_heap(count: usize) -> Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/exercises/smart_pointers/exercise_08.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn set_values(mut boxed: Box, value: u8) -> Box { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_08.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn set_values(mut boxed: Box, value: u8) -> Box { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_08.rs:37:48 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn set_values(mut boxed: Box, value: u8) -> Box { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_09.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn create_shared(value: i32) -> Rc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_09.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn clone_rc(rc: &Rc) -> Rc { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_09.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn get_count(rc: &Rc) -> usize { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_09.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn create_multiple_refs(value: i32, count: usize) -> Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_09.rs:27:41 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn create_multiple_refs(value: i32, count: usize) -> Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_10.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn new(value: i32) -> Rc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_10.rs:24:27 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn with_neighbors(value: i32, neighbors: Vec>) -> Rc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `neighbors` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_10.rs:24:39 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn with_neighbors(value: i32, neighbors: Vec>) -> Rc { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_neighbors` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_10.rs:29:22 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn ref_count(node: &Rc) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_10.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn sum_neighbor_values(node: &Rc) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_11.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn create_refcell(value: i32) -> RefCell { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cell` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_11.rs:17:31 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn modify_through_refcell(cell: &RefCell, delta: i32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `delta` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_11.rs:17:52 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn modify_through_refcell(cell: &RefCell, delta: i32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cell` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_11.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn read_from_refcell(cell: &RefCell) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_11.rs:44:23 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn add(&self, n: i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:12:20 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn create_cell(value: i32) -> Cell { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cell` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn update_cell(cell: &Cell, value: i32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:17:38 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn update_cell(cell: &Cell, value: i32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cell` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn increment_cell(cell: &Cell) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:33:16 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(x: i32, y: i32) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn new(x: i32, y: i32) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn set_x(&self, x: i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn set_y(&self, y: i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dx` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:53:29 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn translate(&self, dx: i32, dy: i32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dy` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_12.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn translate(&self, dx: i32, dy: i32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(value: i32) -> SharedNode { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn add_neighbor(node: &SharedNode, neighbor: SharedNode) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `neighbor` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:27:44 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn add_neighbor(node: &SharedNode, neighbor: SharedNode) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_neighbor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn get_value(node: &SharedNode) -> i32 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn set_value(node: &SharedNode, value: i32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:37:41 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn set_value(node: &SharedNode, value: i32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:42:27 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn neighbor_count(node: &SharedNode) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:48:34 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn create_bidirectional_link(a: &SharedNode, b: &SharedNode) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_13.rs:48:50 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn create_bidirectional_link(a: &SharedNode, b: &SharedNode) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_14.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn new(value: i32) -> Rc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_14.rs:26:22 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn add_child(parent: &Rc, child: Rc) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `child` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_14.rs:26:45 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn add_child(parent: &Rc, child: Rc) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_child` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_14.rs:31:25 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn parent_value(node: &Rc) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_14.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn child_count(node: &Rc) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_14.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn counts(node: &Rc) -> (usize, usize) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_15.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn create_arc(value: i32) -> Arc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_15.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn clone_arc(arc: &Arc) -> Arc { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_15.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn arc_count(arc: &Arc) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_15.rs:27:30 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn share_across_contexts(value: String, count: usize) -> Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_15.rs:27:45 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn share_across_contexts(value: String, count: usize) -> Vec> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_15.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(size: usize) -> Arc { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_16.rs:12:30 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn create_shared_counter(initial: i32) -> Arc> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_16.rs:17:26 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn increment_counter(counter: &Arc>) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `counter` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_16.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn get_counter_value(counter: &Arc>) -> i32 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_16.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn add(&self, n: i32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_connections` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_17.rs:20:16 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(max_connections: usize, timeout_seconds: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_connections` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timeout_seconds` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_17.rs:20:40 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(max_connections: usize, timeout_seconds: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout_seconds` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_17.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn init_config(config: Config) -> Result<(), Config> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_18.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn add(&mut self, value: String) -> Rc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_18.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn get(&self, index: usize) -> Option> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_18.rs:45:23 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn add(&self, value: String) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_18.rs:49:23 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn get(&self, index: usize) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_18.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_18.rs:76:23 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn set(&self, value: T) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_19.rs:27:34 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn push_front(&mut self, value: i32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_19.rs:52:27 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn prepend(&self, value: i32) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_19.rs:76:34 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn push_front(&mut self, value: i32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_19.rs:80:32 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn modify_first(&self, new_value: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn box_to_rc(boxed: Box) -> Rc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn box_to_arc(boxed: Box) -> Arc { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vec` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:23:30 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn vec_to_boxed_slice(vec: Vec) -> Box<[T]> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn string_to_boxed_str(s: String) -> Box { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:33:25 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn try_unwrap_rc(rc: Rc) -> Result> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn try_unwrap_arc(arc: Arc) -> Result> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rc` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_20.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn make_rc_mut(rc: &mut Rc) -> &mut T { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_21.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn maybe_uppercase(s: &str) -> Cow { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nums` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_21.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn ensure_positive(nums: &[i32]) -> Cow<[i32]> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_nums` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_21.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ensure_suffix<'a>(s: &'a str, suffix: &str) -> Cow<'a, str> { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suffix` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_21.rs:22:38 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ensure_suffix<'a>(s: &'a str, suffix: &str) -> Cow<'a, str> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_suffix` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cows` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_21.rs:27:20 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn count_owned(cows: &[Cow]) -> usize { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cows` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cow` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_21.rs:32:21 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn cow_to_owned(cow: Cow) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_22.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flag` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_22.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(flag: bool, left: T, right: T) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_flag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `left` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_22.rs:43:28 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(flag: bool, left: T, right: T) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> src/exercises/smart_pointers/exercise_22.rs:43:37 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn new(flag: bool, left: T, right: T) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [WARN] too many lines in the log, truncating it