[INFO] cloning repository https://github.com/ArunaCoder/exercises
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ArunaCoder/exercises" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArunaCoder%2Fexercises", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArunaCoder%2Fexercises'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b8760bcfe89cf1c15221dac260cacb68ce5327d8
[INFO] testing ArunaCoder/exercises against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArunaCoder%2Fexercises" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ArunaCoder/exercises
[INFO] finished tweaking git repo https://github.com/ArunaCoder/exercises
[INFO] tweaked toml for git repo https://github.com/ArunaCoder/exercises written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ArunaCoder/exercises on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ArunaCoder/exercises 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905
[INFO] running `Command { std: "docker" "start" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling simple_inventory_system v0.1.0 (/opt/rustwide/workdir/002-intermediate/simple_inventory_system)
[INFO] [stderr]    Compiling prime_number_checker v0.1.0 (/opt/rustwide/workdir/001-basic/prime_number_checker)
[INFO] [stderr]    Compiling isbn_validator v0.1.0 (/opt/rustwide/workdir/001-basic/isbn_validator)
[INFO] [stderr]    Compiling array_statistics v0.1.0 (/opt/rustwide/workdir/002-intermediate/array_statistics)
[INFO] [stderr]    Compiling leap_year_checker v0.1.0 (/opt/rustwide/workdir/001-basic/leap_year_checker)
[INFO] [stderr]    Compiling temperature_converter v0.1.0 (/opt/rustwide/workdir/001-basic/temperature_converter)
[INFO] [stderr]    Compiling simple_calculator v0.1.0 (/opt/rustwide/workdir/001-basic/simple_calculator)
[INFO] [stderr]    Compiling binary_to_decimal v0.1.0 (/opt/rustwide/workdir/001-basic/binary_to_decimal)
[INFO] [stderr]    Compiling exit_loop v0.1.0 (/opt/rustwide/workdir/001-basic/exit_loop)
[INFO] [stderr]    Compiling palindrome_checker v0.1.0 (/opt/rustwide/workdir/001-basic/palindrome_checker)
[INFO] [stderr]    Compiling shopping_list_manager v0.1.0 (/opt/rustwide/workdir/001-basic/shopping_list_manager)
[INFO] [stderr]    Compiling string_reverser v0.1.0 (/opt/rustwide/workdir/001-basic/string_reverser)
[INFO] [stderr]    Compiling duplicate_remover v0.1.0 (/opt/rustwide/workdir/002-intermediate/duplicate_remover)
[INFO] [stderr]    Compiling grade_calculator v0.1.0 (/opt/rustwide/workdir/002-intermediate/grade_calculator)
[INFO] [stderr]    Compiling median_loops v0.1.0 (/opt/rustwide/workdir/002-intermediate/median_loops)
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> 002-intermediate/duplicate_remover/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[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 variable: `s`
[INFO] [stdout]   --> 001-basic/string_reverser/src/main.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn reverse_string(s: &str) -> String {
[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: `numbers`
[INFO] [stdout]   --> 002-intermediate/duplicate_remover/src/main.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn remove_duplicates(numbers: &[i32]) -> Vec<i32> {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> 001-basic/simple_calculator/src/main.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn calculate_expression(expr: &str) -> Result<f64, String> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `numbers`
[INFO] [stdout]   --> 002-intermediate/array_statistics/src/main.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn calculate_statistics(numbers: &[f64]) -> Statistics {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assignments`
[INFO] [stdout]   --> 002-intermediate/grade_calculator/src/main.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn calculate_final_grade(assignments: &[Assignment]) -> Result<f64, String> {
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assignments`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/prime_number_checker/src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn is_prime(n: u32) -> bool {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> 001-basic/prime_number_checker/src/main.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn find_primes_up_to(limit: u32) -> Vec<u32> {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grade`
[INFO] [stdout]   --> 002-intermediate/grade_calculator/src/main.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn grade_to_letter(grade: f64) -> char {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_grade`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `score`, and `weight` are never read
[INFO] [stdout]   --> 002-intermediate/grade_calculator/src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Assignment {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 24 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     score: f64,   // 0-100
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     weight: f64,  // 0.0-1.0 (portion of final grade)
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binary`
[INFO] [stdout]   --> 001-basic/binary_to_decimal/src/main.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn binary_to_decimal(binary: &str) -> Result<u32, String> {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decimal`
[INFO] [stdout]   --> 001-basic/binary_to_decimal/src/main.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn decimal_to_binary(decimal: u32) -> String {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> 001-basic/palindrome_checker/src/main.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn is_palindrome(s: &str) -> bool {
[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 import: `std::io`
[INFO] [stdout]  --> 001-basic/shopping_list_manager/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> 001-basic/shopping_list_manager/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut shopping_list: Vec<String> = Vec::new();
[INFO] [stdout]   |         ----^^^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shopping_list`
[INFO] [stdout]  --> 001-basic/shopping_list_manager/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut shopping_list: Vec<String> = Vec::new();
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopping_list`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn add_item(list: &mut Vec<String>) {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn remove_item(list: &mut Vec<String>) {
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn list_items(list: &Vec<String>) {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_item` is never used
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn add_item(list: &mut Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_item` is never used
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn remove_item(list: &mut Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_items` is never used
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn list_items(list: &Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn add_product(inventory: &mut Vec<Product>, product: Product) {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:49:50
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn add_product(inventory: &mut Vec<Product>, product: Product) {
[INFO] [stdout]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:54
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stdout]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_quantity`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:66
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn remove_product(inventory: &mut Vec<Product>, name: &str) -> bool {
[INFO] [stdout]    |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:59:53
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn remove_product(inventory: &mut Vec<Product>, name: &str) -> bool {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn display_inventory(inventory: &[Product]) {
[INFO] [stdout]    |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:69:20
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn total_value(inventory: &[Product]) -> f64 {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `quantity`, and `price` are never read
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Product {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 33 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     quantity: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 35 |     price: f64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling caesar_cipher v0.1.0 (/opt/rustwide/workdir/001-basic/caesar_cipher)
[INFO] [stdout] warning: unused variable: `isbn`
[INFO] [stdout]   --> 001-basic/isbn_validator/src/main.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn validate_isbn(isbn: &str) -> bool {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `isbn`
[INFO] [stdout]   --> 001-basic/isbn_validator/src/main.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn validate_isbn10(isbn: &str) -> bool {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `isbn`
[INFO] [stdout]   --> 001-basic/isbn_validator/src/main.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn validate_isbn13(isbn: &str) -> bool {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fibonacci_generator v0.1.0 (/opt/rustwide/workdir/001-basic/fibonacci_generator)
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]   --> 001-basic/caesar_cipher/src/main.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn caesar_cipher(text: &str, shift: i32) -> String {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> 001-basic/caesar_cipher/src/main.rs:25:34
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn caesar_cipher(text: &str, shift: i32) -> String {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling acronym_generator v0.1.0 (/opt/rustwide/workdir/001-basic/acronym_generator)
[INFO] [stderr]    Compiling armstrong_number_checker v0.1.0 (/opt/rustwide/workdir/001-basic/armstrong_number_checker)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/fibonacci_generator/src/main.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn generate_fibonacci(n: usize) -> Vec<u64> {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pig_latin v0.1.0 (/opt/rustwide/workdir/002-intermediate/pig_latin)
[INFO] [stderr]    Compiling fizzbuzz v0.1.0 (/opt/rustwide/workdir/001-basic/fizzbuzz)
[INFO] [stderr]    Compiling largest_series_product v0.1.0 (/opt/rustwide/workdir/002-intermediate/largest_series_product)
[INFO] [stderr]    Compiling sum_of_multiples v0.1.0 (/opt/rustwide/workdir/001-basic/sum_of_multiples)
[INFO] [stderr]    Compiling company_departments v0.1.0 (/opt/rustwide/workdir/002-intermediate/company_departments)
[INFO] [stderr]    Compiling unit_converter v0.1.0 (/opt/rustwide/workdir/002-intermediate/unit_converter)
[INFO] [stderr]    Compiling vowel_counter v0.1.0 (/opt/rustwide/workdir/001-basic/vowel_counter)
[INFO] [stderr]    Compiling first_temperature_converter v0.1.0 (/opt/rustwide/workdir/001-basic/first_temperature_converter)
[INFO] [stdout] warning: unused variable: `phrase`
[INFO] [stdout]   --> 001-basic/acronym_generator/src/main.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn generate_acronym(phrase: &str) -> String {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phrase`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `word`
[INFO] [stdout]   --> 002-intermediate/pig_latin/src/main.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn to_pig_latin(word: &str) -> String {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `company`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:39:65
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stdout]    |                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `department`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:39:77
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stdout]    |                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `company`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn list_department(company: &HashMap<String, Vec<String>>, department: &str) -> Vec<String> {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `department`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:44:64
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn list_department(company: &HashMap<String, Vec<String>>, department: &str) -> Vec<String> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `company`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn list_all_employees(company: &HashMap<String, Vec<String>>) -> Vec<String> {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> 002-intermediate/unit_converter/src/main.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stdout]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling start v0.1.0 (/opt/rustwide/workdir/001-basic/start)
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> 002-intermediate/unit_converter/src/main.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[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]   --> 002-intermediate/unit_converter/src/main.rs:32:46
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stdout]    |                                              ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/sum_of_multiples/src/main.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn sum_of_multiples(n: u32) -> u32 {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/sum_of_multiples/src/main.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn sum_of_multiples_generic(n: u32, divisors: &[u32]) -> u32 {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `divisors`
[INFO] [stdout]   --> 001-basic/sum_of_multiples/src/main.rs:28:41
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn sum_of_multiples_generic(n: u32, divisors: &[u32]) -> u32 {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_divisors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/armstrong_number_checker/src/main.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn is_armstrong_number(n: u32) -> bool {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> 001-basic/armstrong_number_checker/src/main.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn find_armstrong_numbers(limit: u32) -> Vec<u32> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling anagram_checker v0.1.0 (/opt/rustwide/workdir/002-intermediate/anagram_checker)
[INFO] [stdout] warning: unused variable: `digits`
[INFO] [stdout]   --> 002-intermediate/largest_series_product/src/main.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn largest_product(digits: &str, span: usize) -> Result<u64, String> {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_digits`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> 002-intermediate/largest_series_product/src/main.rs:27:38
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn largest_product(digits: &str, span: usize) -> Result<u64, String> {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/fizzbuzz/src/main.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn fizzbuzz(n: u32) {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/fizzbuzz/src/main.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn fizzbuzz_vec(n: u32) -> Vec<String> {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling collatz_conjecture v0.1.0 (/opt/rustwide/workdir/001-basic/collatz_conjecture)
[INFO] [stderr]    Compiling word_counter_basic v0.1.0 (/opt/rustwide/workdir/001-basic/word_counter_basic)
[INFO] [stdout] warning: unused variable: `word1`
[INFO] [stdout]   --> 002-intermediate/anagram_checker/src/main.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn are_anagrams(word1: &str, word2: &str) -> bool {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_word1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `word2`
[INFO] [stdout]   --> 002-intermediate/anagram_checker/src/main.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn are_anagrams(word1: &str, word2: &str) -> bool {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_word2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]   --> 001-basic/word_counter_basic/src/main.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn count_text(text: &str) -> (usize, usize, usize) {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/collatz_conjecture/src/main.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn collatz_sequence(n: u64) -> Vec<u64> {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> 001-basic/collatz_conjecture/src/main.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn longest_collatz_sequence(limit: u64) -> (u64, usize) {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling rock_paper_scissors v0.1.0 (/opt/rustwide/workdir/001-basic/rock_paper_scissors)
[INFO] [stderr]    Compiling guessing_game_enhanced v0.1.0 (/opt/rustwide/workdir/001-basic/guessing_game_enhanced)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> 001-basic/guessing_game_enhanced/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io;
[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: `rand::Rng`
[INFO] [stdout]  --> 001-basic/rock_paper_scissors/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> 001-basic/guessing_game_enhanced/src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut attempts = 0;
[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: unused variable: `attempts`
[INFO] [stdout]   --> 001-basic/guessing_game_enhanced/src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut attempts = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> 001-basic/rock_paper_scissors/src/main.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn determine_winner(player: &Choice, computer: &Choice) -> GameResult {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `computer`
[INFO] [stdout]   --> 001-basic/rock_paper_scissors/src/main.rs:61:42
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn determine_winner(player: &Choice, computer: &Choice) -> GameResult {
[INFO] [stdout]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_computer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.14s
[INFO] running `Command { std: "docker" "inspect" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling duplicate_remover v0.1.0 (/opt/rustwide/workdir/002-intermediate/duplicate_remover)
[INFO] [stderr]    Compiling unit_converter v0.1.0 (/opt/rustwide/workdir/002-intermediate/unit_converter)
[INFO] [stderr]    Compiling temperature_converter v0.1.0 (/opt/rustwide/workdir/001-basic/temperature_converter)
[INFO] [stderr]    Compiling vowel_counter v0.1.0 (/opt/rustwide/workdir/001-basic/vowel_counter)
[INFO] [stderr]    Compiling palindrome_checker v0.1.0 (/opt/rustwide/workdir/001-basic/palindrome_checker)
[INFO] [stderr]    Compiling first_temperature_converter v0.1.0 (/opt/rustwide/workdir/001-basic/first_temperature_converter)
[INFO] [stderr]    Compiling array_statistics v0.1.0 (/opt/rustwide/workdir/002-intermediate/array_statistics)
[INFO] [stderr]    Compiling word_counter_basic v0.1.0 (/opt/rustwide/workdir/001-basic/word_counter_basic)
[INFO] [stderr]    Compiling caesar_cipher v0.1.0 (/opt/rustwide/workdir/001-basic/caesar_cipher)
[INFO] [stderr]    Compiling isbn_validator v0.1.0 (/opt/rustwide/workdir/001-basic/isbn_validator)
[INFO] [stderr]    Compiling start v0.1.0 (/opt/rustwide/workdir/001-basic/start)
[INFO] [stderr]    Compiling exit_loop v0.1.0 (/opt/rustwide/workdir/001-basic/exit_loop)
[INFO] [stderr]    Compiling prime_number_checker v0.1.0 (/opt/rustwide/workdir/001-basic/prime_number_checker)
[INFO] [stderr]    Compiling simple_inventory_system v0.1.0 (/opt/rustwide/workdir/002-intermediate/simple_inventory_system)
[INFO] [stderr]    Compiling leap_year_checker v0.1.0 (/opt/rustwide/workdir/001-basic/leap_year_checker)
[INFO] [stderr]    Compiling guessing_game_enhanced v0.1.0 (/opt/rustwide/workdir/001-basic/guessing_game_enhanced)
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> 002-intermediate/duplicate_remover/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashSet;
[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 variable: `s`
[INFO] [stdout]   --> 001-basic/palindrome_checker/src/main.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn is_palindrome(s: &str) -> bool {
[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: `value`
[INFO] [stdout]   --> 002-intermediate/unit_converter/src/main.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stdout]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]   --> 002-intermediate/unit_converter/src/main.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[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]   --> 002-intermediate/unit_converter/src/main.rs:32:46
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stdout]    |                                              ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `numbers`
[INFO] [stdout]   --> 002-intermediate/duplicate_remover/src/main.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn remove_duplicates(numbers: &[i32]) -> Vec<i32> {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `isbn`
[INFO] [stdout]   --> 001-basic/isbn_validator/src/main.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn validate_isbn(isbn: &str) -> bool {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `isbn`
[INFO] [stdout]   --> 001-basic/isbn_validator/src/main.rs:31:24
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn validate_isbn10(isbn: &str) -> bool {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `isbn`
[INFO] [stdout]   --> 001-basic/isbn_validator/src/main.rs:36:24
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn validate_isbn13(isbn: &str) -> bool {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]   --> 001-basic/caesar_cipher/src/main.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn caesar_cipher(text: &str, shift: i32) -> String {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shift`
[INFO] [stdout]   --> 001-basic/caesar_cipher/src/main.rs:25:34
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn caesar_cipher(text: &str, shift: i32) -> String {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `numbers`
[INFO] [stdout]   --> 002-intermediate/array_statistics/src/main.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn calculate_statistics(numbers: &[f64]) -> Statistics {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:49:20
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn add_product(inventory: &mut Vec<Product>, product: Product) {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `product`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:49:50
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn add_product(inventory: &mut Vec<Product>, product: Product) {
[INFO] [stdout]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:54
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stdout]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_quantity`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:66
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_quantity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn remove_product(inventory: &mut Vec<Product>, name: &str) -> bool {
[INFO] [stdout]    |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:59:53
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn remove_product(inventory: &mut Vec<Product>, name: &str) -> bool {
[INFO] [stdout]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn display_inventory(inventory: &[Product]) {
[INFO] [stdout]    |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inventory`
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:69:20
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn total_value(inventory: &[Product]) -> f64 {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `quantity`, and `price` are never read
[INFO] [stdout]   --> 002-intermediate/simple_inventory_system/src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Product {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 33 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     quantity: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 35 |     price: f64,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> 001-basic/guessing_game_enhanced/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io;
[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 variable: `text`
[INFO] [stdout]   --> 001-basic/word_counter_basic/src/main.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn count_text(text: &str) -> (usize, usize, usize) {
[INFO] [stdout]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> 001-basic/guessing_game_enhanced/src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut attempts = 0;
[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: unused variable: `attempts`
[INFO] [stdout]   --> 001-basic/guessing_game_enhanced/src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut attempts = 0;
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/prime_number_checker/src/main.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn is_prime(n: u32) -> bool {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> 001-basic/prime_number_checker/src/main.rs:21:26
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn find_primes_up_to(limit: u32) -> Vec<u32> {
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rock_paper_scissors v0.1.0 (/opt/rustwide/workdir/001-basic/rock_paper_scissors)
[INFO] [stderr]    Compiling median_loops v0.1.0 (/opt/rustwide/workdir/002-intermediate/median_loops)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> 001-basic/rock_paper_scissors/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[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 variable: `player`
[INFO] [stdout]   --> 001-basic/rock_paper_scissors/src/main.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn determine_winner(player: &Choice, computer: &Choice) -> GameResult {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `computer`
[INFO] [stdout]   --> 001-basic/rock_paper_scissors/src/main.rs:61:42
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn determine_winner(player: &Choice, computer: &Choice) -> GameResult {
[INFO] [stdout]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_computer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pig_latin v0.1.0 (/opt/rustwide/workdir/002-intermediate/pig_latin)
[INFO] [stderr]    Compiling fibonacci_generator v0.1.0 (/opt/rustwide/workdir/001-basic/fibonacci_generator)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/fibonacci_generator/src/main.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn generate_fibonacci(n: usize) -> Vec<u64> {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fizzbuzz v0.1.0 (/opt/rustwide/workdir/001-basic/fizzbuzz)
[INFO] [stderr]    Compiling simple_calculator v0.1.0 (/opt/rustwide/workdir/001-basic/simple_calculator)
[INFO] [stderr]    Compiling sum_of_multiples v0.1.0 (/opt/rustwide/workdir/001-basic/sum_of_multiples)
[INFO] [stdout] warning: unused variable: `word`
[INFO] [stdout]   --> 002-intermediate/pig_latin/src/main.rs:20:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn to_pig_latin(word: &str) -> String {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling company_departments v0.1.0 (/opt/rustwide/workdir/002-intermediate/company_departments)
[INFO] [stderr]    Compiling acronym_generator v0.1.0 (/opt/rustwide/workdir/001-basic/acronym_generator)
[INFO] [stderr]    Compiling armstrong_number_checker v0.1.0 (/opt/rustwide/workdir/001-basic/armstrong_number_checker)
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]   --> 001-basic/simple_calculator/src/main.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn calculate_expression(expr: &str) -> Result<f64, String> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling binary_to_decimal v0.1.0 (/opt/rustwide/workdir/001-basic/binary_to_decimal)
[INFO] [stderr]    Compiling grade_calculator v0.1.0 (/opt/rustwide/workdir/002-intermediate/grade_calculator)
[INFO] [stderr]    Compiling shopping_list_manager v0.1.0 (/opt/rustwide/workdir/001-basic/shopping_list_manager)
[INFO] [stderr]    Compiling anagram_checker v0.1.0 (/opt/rustwide/workdir/002-intermediate/anagram_checker)
[INFO] [stderr]    Compiling collatz_conjecture v0.1.0 (/opt/rustwide/workdir/001-basic/collatz_conjecture)
[INFO] [stderr]    Compiling largest_series_product v0.1.0 (/opt/rustwide/workdir/002-intermediate/largest_series_product)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/fizzbuzz/src/main.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn fizzbuzz(n: u32) {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/fizzbuzz/src/main.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn fizzbuzz_vec(n: u32) -> Vec<String> {
[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]   --> 001-basic/armstrong_number_checker/src/main.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn is_armstrong_number(n: u32) -> bool {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> 001-basic/armstrong_number_checker/src/main.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn find_armstrong_numbers(limit: u32) -> Vec<u32> {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling string_reverser v0.1.0 (/opt/rustwide/workdir/001-basic/string_reverser)
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/sum_of_multiples/src/main.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn sum_of_multiples(n: u32) -> u32 {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/sum_of_multiples/src/main.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn sum_of_multiples_generic(n: u32, divisors: &[u32]) -> u32 {
[INFO] [stdout]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `divisors`
[INFO] [stdout]   --> 001-basic/sum_of_multiples/src/main.rs:28:41
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn sum_of_multiples_generic(n: u32, divisors: &[u32]) -> u32 {
[INFO] [stdout]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_divisors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> 001-basic/collatz_conjecture/src/main.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn collatz_sequence(n: u64) -> Vec<u64> {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> 001-basic/collatz_conjecture/src/main.rs:30:33
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn longest_collatz_sequence(limit: u64) -> (u64, usize) {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `company`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stdout]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:39:65
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stdout]    |                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `department`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:39:77
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stdout]    |                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `company`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn list_department(company: &HashMap<String, Vec<String>>, department: &str) -> Vec<String> {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `department`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:44:64
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn list_department(company: &HashMap<String, Vec<String>>, department: &str) -> Vec<String> {
[INFO] [stdout]    |                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `company`
[INFO] [stdout]   --> 002-intermediate/company_departments/src/main.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn list_all_employees(company: &HashMap<String, Vec<String>>) -> Vec<String> {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assignments`
[INFO] [stdout]   --> 002-intermediate/grade_calculator/src/main.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn calculate_final_grade(assignments: &[Assignment]) -> Result<f64, String> {
[INFO] [stdout]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assignments`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `grade`
[INFO] [stdout]   --> 002-intermediate/grade_calculator/src/main.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn grade_to_letter(grade: f64) -> char {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_grade`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `score`, and `weight` are never read
[INFO] [stdout]   --> 002-intermediate/grade_calculator/src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Assignment {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 24 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 25 |     score: f64,   // 0-100
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 26 |     weight: f64,  // 0.0-1.0 (portion of final grade)
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> 001-basic/shopping_list_manager/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> 001-basic/shopping_list_manager/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut shopping_list: Vec<String> = Vec::new();
[INFO] [stdout]   |         ----^^^^^^^^^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shopping_list`
[INFO] [stdout]  --> 001-basic/shopping_list_manager/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let mut shopping_list: Vec<String> = Vec::new();
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopping_list`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn add_item(list: &mut Vec<String>) {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn remove_item(list: &mut Vec<String>) {
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `list`
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn list_items(list: &Vec<String>) {
[INFO] [stdout]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_item` is never used
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn add_item(list: &mut Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_item` is never used
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn remove_item(list: &mut Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_items` is never used
[INFO] [stdout]   --> 001-basic/shopping_list_manager/src/main.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn list_items(list: &Vec<String>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phrase`
[INFO] [stdout]   --> 001-basic/acronym_generator/src/main.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn generate_acronym(phrase: &str) -> String {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phrase`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> 001-basic/string_reverser/src/main.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn reverse_string(s: &str) -> String {
[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: `binary`
[INFO] [stdout]   --> 001-basic/binary_to_decimal/src/main.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn binary_to_decimal(binary: &str) -> Result<u32, String> {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decimal`
[INFO] [stdout]   --> 001-basic/binary_to_decimal/src/main.rs:34:26
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn decimal_to_binary(decimal: u32) -> String {
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `digits`
[INFO] [stdout]   --> 002-intermediate/largest_series_product/src/main.rs:27:24
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn largest_product(digits: &str, span: usize) -> Result<u64, String> {
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_digits`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> 002-intermediate/largest_series_product/src/main.rs:27:38
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn largest_product(digits: &str, span: usize) -> Result<u64, String> {
[INFO] [stdout]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `word1`
[INFO] [stdout]   --> 002-intermediate/anagram_checker/src/main.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn are_anagrams(word1: &str, word2: &str) -> bool {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_word1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `word2`
[INFO] [stdout]   --> 002-intermediate/anagram_checker/src/main.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn are_anagrams(word1: &str, word2: &str) -> bool {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_word2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.43s
[INFO] running `Command { std: "docker" "inspect" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]  --> 001-basic/rock_paper_scissors/src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rand::Rng;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `player`
[INFO] [stderr]   --> 001-basic/rock_paper_scissors/src/main.rs:61:25
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub fn determine_winner(player: &Choice, computer: &Choice) -> GameResult {
[INFO] [stderr]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `computer`
[INFO] [stderr]   --> 001-basic/rock_paper_scissors/src/main.rs:61:42
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub fn determine_winner(player: &Choice, computer: &Choice) -> GameResult {
[INFO] [stderr]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_computer`
[INFO] [stderr] 
[INFO] [stderr] warning: `rock_paper_scissors` (bin "rock_paper_scissors" test) generated 3 warnings (run `cargo fix --bin "rock_paper_scissors" -p rock_paper_scissors --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> 001-basic/guessing_game_enhanced/src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> 001-basic/guessing_game_enhanced/src/main.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let mut attempts = 0;
[INFO] [stderr]    |         ----^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attempts`
[INFO] [stderr]   --> 001-basic/guessing_game_enhanced/src/main.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let mut attempts = 0;
[INFO] [stderr]    |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attempts`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `guessing_game_enhanced` (bin "guessing_game_enhanced" test) generated 3 warnings (run `cargo fix --bin "guessing_game_enhanced" -p guessing_game_enhanced --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]   --> 001-basic/caesar_cipher/src/main.rs:25:22
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub fn caesar_cipher(text: &str, shift: i32) -> String {
[INFO] [stderr]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `shift`
[INFO] [stderr]   --> 001-basic/caesar_cipher/src/main.rs:25:34
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub fn caesar_cipher(text: &str, shift: i32) -> String {
[INFO] [stderr]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift`
[INFO] [stderr] 
[INFO] [stderr] warning: `caesar_cipher` (bin "caesar_cipher" test) generated 2 warnings (run `cargo fix --bin "caesar_cipher" -p caesar_cipher --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused variable: `numbers`
[INFO] [stderr]   --> 002-intermediate/array_statistics/src/main.rs:28:29
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn calculate_statistics(numbers: &[f64]) -> Statistics {
[INFO] [stderr]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `array_statistics` (bin "array_statistics" test) generated 1 warning (run `cargo fix --bin "array_statistics" -p array_statistics --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `std::io`
[INFO] [stderr]  --> 001-basic/shopping_list_manager/src/main.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> 001-basic/shopping_list_manager/src/main.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let mut shopping_list: Vec<String> = Vec::new();
[INFO] [stderr]   |         ----^^^^^^^^^^^^^
[INFO] [stderr]   |         |
[INFO] [stderr]   |         help: remove this `mut`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `shopping_list`
[INFO] [stderr]  --> 001-basic/shopping_list_manager/src/main.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let mut shopping_list: Vec<String> = Vec::new();
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shopping_list`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `list`
[INFO] [stderr]   --> 001-basic/shopping_list_manager/src/main.rs:22:13
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn add_item(list: &mut Vec<String>) {
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `list`
[INFO] [stderr]   --> 001-basic/shopping_list_manager/src/main.rs:26:16
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn remove_item(list: &mut Vec<String>) {
[INFO] [stderr]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `list`
[INFO] [stderr]   --> 001-basic/shopping_list_manager/src/main.rs:30:15
[INFO] [stderr]    |
[INFO] [stderr] 30 | fn list_items(list: &Vec<String>) {
[INFO] [stderr]    |               ^^^^ help: if this is intentional, prefix it with an underscore: `_list`
[INFO] [stderr] 
[INFO] [stderr] warning: function `add_item` is never used
[INFO] [stderr]   --> 001-basic/shopping_list_manager/src/main.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn add_item(list: &mut Vec<String>) {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `remove_item` is never used
[INFO] [stderr]   --> 001-basic/shopping_list_manager/src/main.rs:26:4
[INFO] [stderr]    |
[INFO] [stderr] 26 | fn remove_item(list: &mut Vec<String>) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `list_items` is never used
[INFO] [stderr]   --> 001-basic/shopping_list_manager/src/main.rs:30:4
[INFO] [stderr]    |
[INFO] [stderr] 30 | fn list_items(list: &Vec<String>) {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shopping_list_manager` (bin "shopping_list_manager" test) generated 9 warnings (run `cargo fix --bin "shopping_list_manager" -p shopping_list_manager --tests` to apply 6 suggestions)
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> 001-basic/simple_calculator/src/main.rs:28:29
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn calculate_expression(expr: &str) -> Result<f64, String> {
[INFO] [stderr]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `simple_calculator` (bin "simple_calculator" test) generated 1 warning (run `cargo fix --bin "simple_calculator" -p simple_calculator --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unused variable: `text`
[INFO] [stderr]   --> 001-basic/word_counter_basic/src/main.rs:18:19
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub fn count_text(text: &str) -> (usize, usize, usize) {
[INFO] [stderr]    |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> 001-basic/string_reverser/src/main.rs:17:23
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn reverse_string(s: &str) -> String {
[INFO] [stderr]    |                       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `isbn`
[INFO] [stderr]   --> 001-basic/isbn_validator/src/main.rs:26:22
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub fn validate_isbn(isbn: &str) -> bool {
[INFO] [stderr]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `isbn`
[INFO] [stderr]   --> 001-basic/isbn_validator/src/main.rs:31:24
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn validate_isbn10(isbn: &str) -> bool {
[INFO] [stderr]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `isbn`
[INFO] [stderr]   --> 001-basic/isbn_validator/src/main.rs:36:24
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub fn validate_isbn13(isbn: &str) -> bool {
[INFO] [stderr]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/prime_number_checker/src/main.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn is_prime(n: u32) -> bool {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> 001-basic/prime_number_checker/src/main.rs:21:26
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn find_primes_up_to(limit: u32) -> Vec<u32> {
[INFO] [stderr]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/fizzbuzz/src/main.rs:21:17
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn fizzbuzz(n: u32) {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/fizzbuzz/src/main.rs:27:21
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn fizzbuzz_vec(n: u32) -> Vec<String> {
[INFO] [stderr]    |                     ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/sum_of_multiples/src/main.rs:23:25
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn sum_of_multiples(n: u32) -> u32 {
[INFO] [stderr]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/sum_of_multiples/src/main.rs:28:33
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn sum_of_multiples_generic(n: u32, divisors: &[u32]) -> u32 {
[INFO] [stderr]    |                                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused variable: `divisors`
[INFO] [stdout] running 0 tests
[INFO] [stderr]   --> 001-basic/sum_of_multiples/src/main.rs:28:41
[INFO] [stdout] 
[INFO] [stderr]    |
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr] 28 | pub fn sum_of_multiples_generic(n: u32, divisors: &[u32]) -> u32 {
[INFO] [stdout] 
[INFO] [stderr]    |                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_divisors`
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] running 0 tests
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stdout] 
[INFO] [stderr]   --> 001-basic/collatz_conjecture/src/main.rs:25:25
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 25 | pub fn collatz_sequence(n: u64) -> Vec<u64> {
[INFO] [stderr]    |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> 001-basic/collatz_conjecture/src/main.rs:30:33
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn longest_collatz_sequence(limit: u64) -> (u64, usize) {
[INFO] [stderr]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `assignments`
[INFO] [stderr]   --> 002-intermediate/grade_calculator/src/main.rs:40:30
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn calculate_final_grade(assignments: &[Assignment]) -> Result<f64, String> {
[INFO] [stderr]    |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assignments`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `grade`
[INFO] [stderr]   --> 002-intermediate/grade_calculator/src/main.rs:46:24
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub fn grade_to_letter(grade: f64) -> char {
[INFO] [stderr]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_grade`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `score`, and `weight` are never read
[INFO] [stderr]   --> 002-intermediate/grade_calculator/src/main.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct Assignment {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 24 |     name: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 25 |     score: f64,   // 0-100
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 26 |     weight: f64,  // 0.0-1.0 (portion of final grade)
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> 002-intermediate/unit_converter/src/main.rs:32:16
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stderr]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from`
[INFO] [stderr]   --> 002-intermediate/unit_converter/src/main.rs:32:28
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to`
[INFO] [stderr]   --> 002-intermediate/unit_converter/src/main.rs:32:46
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn convert(value: f64, from: LengthUnit, to: LengthUnit) -> f64 {
[INFO] [stderr]    |                                              ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inventory`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:49:20
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub fn add_product(inventory: &mut Vec<Product>, product: Product) {
[INFO] [stderr]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `product`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:49:50
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub fn add_product(inventory: &mut Vec<Product>, product: Product) {
[INFO] [stderr]    |                                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inventory`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:24
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stderr]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:54
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stderr]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_quantity`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:54:66
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn update_quantity(inventory: &mut Vec<Product>, name: &str, new_quantity: u32) {
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_quantity`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inventory`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:59:23
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub fn remove_product(inventory: &mut Vec<Product>, name: &str) -> bool {
[INFO] [stderr]    |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:59:53
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub fn remove_product(inventory: &mut Vec<Product>, name: &str) -> bool {
[INFO] [stderr]    |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inventory`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:64:26
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub fn display_inventory(inventory: &[Product]) {
[INFO] [stderr]    |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inventory`
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:69:20
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub fn total_value(inventory: &[Product]) -> f64 {
[INFO] [stderr]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inventory`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `quantity`, and `price` are never read
[INFO] [stderr]   --> 002-intermediate/simple_inventory_system/src/main.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct Product {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 33 |     name: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 34 |     quantity: u32,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 35 |     price: f64,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binary`
[INFO] [stderr]   --> 001-basic/binary_to_decimal/src/main.rs:29:26
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn binary_to_decimal(binary: &str) -> Result<u32, String> {
[INFO] [stderr]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_binary`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decimal`
[INFO] [stderr]   --> 001-basic/binary_to_decimal/src/main.rs:34:26
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn decimal_to_binary(decimal: u32) -> String {
[INFO] [stderr]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decimal`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `digits`
[INFO] [stderr]   --> 002-intermediate/largest_series_product/src/main.rs:27:24
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn largest_product(digits: &str, span: usize) -> Result<u64, String> {
[INFO] [stdout] 
[INFO] [stderr]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_digits`
[INFO] [stdout] running 0 tests
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `span`
[INFO] [stderr]   --> 002-intermediate/largest_series_product/src/main.rs:27:38
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub fn largest_product(digits: &str, span: usize) -> Result<u64, String> {
[INFO] [stderr]    |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stderr] 
[INFO] [stderr] warning: `word_counter_basic` (bin "word_counter_basic" test) generated 1 warning (run `cargo fix --bin "word_counter_basic" -p word_counter_basic --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `string_reverser` (bin "string_reverser" test) generated 1 warning (run `cargo fix --bin "string_reverser" -p string_reverser --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `isbn_validator` (bin "isbn_validator" test) generated 3 warnings (run `cargo fix --bin "isbn_validator" -p isbn_validator --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `prime_number_checker` (bin "prime_number_checker" test) generated 2 warnings (run `cargo fix --bin "prime_number_checker" -p prime_number_checker --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `fizzbuzz` (bin "fizzbuzz" test) generated 2 warnings (run `cargo fix --bin "fizzbuzz" -p fizzbuzz --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `sum_of_multiples` (bin "sum_of_multiples" test) generated 3 warnings (run `cargo fix --bin "sum_of_multiples" -p sum_of_multiples --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `collatz_conjecture` (bin "collatz_conjecture" test) generated 2 warnings (run `cargo fix --bin "collatz_conjecture" -p collatz_conjecture --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `grade_calculator` (bin "grade_calculator" test) generated 3 warnings (run `cargo fix --bin "grade_calculator" -p grade_calculator --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `unit_converter` (bin "unit_converter" test) generated 3 warnings (run `cargo fix --bin "unit_converter" -p unit_converter --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `simple_inventory_system` (bin "simple_inventory_system" test) generated 10 warnings (run `cargo fix --bin "simple_inventory_system" -p simple_inventory_system --tests` to apply 9 suggestions)
[INFO] [stderr] warning: `binary_to_decimal` (bin "binary_to_decimal" test) generated 2 warnings (run `cargo fix --bin "binary_to_decimal" -p binary_to_decimal --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `largest_series_product` (bin "largest_series_product" test) generated 2 warnings (run `cargo fix --bin "largest_series_product" -p largest_series_product --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused variable: `word`
[INFO] [stderr]   --> 002-intermediate/pig_latin/src/main.rs:20:21
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn to_pig_latin(word: &str) -> String {
[INFO] [stderr]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_word`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/armstrong_number_checker/src/main.rs:23:28
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn is_armstrong_number(n: u32) -> bool {
[INFO] [stderr]    |                            ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> 001-basic/armstrong_number_checker/src/main.rs:28:31
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn find_armstrong_numbers(limit: u32) -> Vec<u32> {
[INFO] [stderr]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]  --> 002-intermediate/duplicate_remover/src/main.rs:6:5
[INFO] [stdout] 
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `numbers`
[INFO] [stderr]   --> 002-intermediate/duplicate_remover/src/main.rs:23:26
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn remove_duplicates(numbers: &[i32]) -> Vec<i32> {
[INFO] [stderr]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_numbers`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> 001-basic/fibonacci_generator/src/main.rs:14:27
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn generate_fibonacci(n: usize) -> Vec<u64> {
[INFO] [stderr]    |                           ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> 001-basic/palindrome_checker/src/main.rs:22:22
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn is_palindrome(s: &str) -> bool {
[INFO] [stderr]    |                      ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `word1`
[INFO] [stderr]   --> 002-intermediate/anagram_checker/src/main.rs:22:21
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn are_anagrams(word1: &str, word2: &str) -> bool {
[INFO] [stderr]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_word1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `word2`
[INFO] [stderr]   --> 002-intermediate/anagram_checker/src/main.rs:22:34
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn are_anagrams(word1: &str, word2: &str) -> bool {
[INFO] [stderr]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_word2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `company`
[INFO] [stderr]   --> 002-intermediate/company_departments/src/main.rs:39:21
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stderr]    |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> 002-intermediate/company_departments/src/main.rs:39:65
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stderr]    |                                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `department`
[INFO] [stderr]   --> 002-intermediate/company_departments/src/main.rs:39:77
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn add_employee(company: &mut HashMap<String, Vec<String>>, name: &str, department: &str) {
[INFO] [stderr]    |                                                                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `company`
[INFO] [stderr]   --> 002-intermediate/company_departments/src/main.rs:44:24
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub fn list_department(company: &HashMap<String, Vec<String>>, department: &str) -> Vec<String> {
[INFO] [stderr]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `department`
[INFO] [stderr]   --> 002-intermediate/company_departments/src/main.rs:44:64
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub fn list_department(company: &HashMap<String, Vec<String>>, department: &str) -> Vec<String> {
[INFO] [stderr]    |                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `company`
[INFO] [stderr]   --> 002-intermediate/company_departments/src/main.rs:50:27
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn list_all_employees(company: &HashMap<String, Vec<String>>) -> Vec<String> {
[INFO] [stderr]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_company`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `phrase`
[INFO] [stderr]   --> 001-basic/acronym_generator/src/main.rs:21:25
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn generate_acronym(phrase: &str) -> String {
[INFO] [stderr]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_phrase`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `pig_latin` (bin "pig_latin" test) generated 1 warning (run `cargo fix --bin "pig_latin" -p pig_latin --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `armstrong_number_checker` (bin "armstrong_number_checker" test) generated 2 warnings (run `cargo fix --bin "armstrong_number_checker" -p armstrong_number_checker --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `duplicate_remover` (bin "duplicate_remover" test) generated 2 warnings (run `cargo fix --bin "duplicate_remover" -p duplicate_remover --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `fibonacci_generator` (bin "fibonacci_generator" test) generated 1 warning (run `cargo fix --bin "fibonacci_generator" -p fibonacci_generator --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `palindrome_checker` (bin "palindrome_checker" test) generated 1 warning (run `cargo fix --bin "palindrome_checker" -p palindrome_checker --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `anagram_checker` (bin "anagram_checker" test) generated 2 warnings (run `cargo fix --bin "anagram_checker" -p anagram_checker --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `company_departments` (bin "company_departments" test) generated 6 warnings (run `cargo fix --bin "company_departments" -p company_departments --tests` to apply 6 suggestions)
[INFO] [stderr] warning: `acronym_generator` (bin "acronym_generator" test) generated 1 warning (run `cargo fix --bin "acronym_generator" -p acronym_generator --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/acronym_generator-ee307e9efaa3a076)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/anagram_checker-7e4e7d053e83e067)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/armstrong_number_checker-2b4a96d73956f4ea)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/array_statistics-bf1e1c70a045ac0b)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/binary_to_decimal-a95636684aa89bb6)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/caesar_cipher-9747af8c04e81ded)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/collatz_conjecture-00d85624336d4278)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/company_departments-ed5f3b7973dd37bd)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/duplicate_remover-a702797c3e64925a)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/exit_loop-5c82f394ce5500dd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fibonacci_generator-6df59e5f8c7825f3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/first_temperature_converter-6a7250ae2ef5d226)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fizzbuzz-14f48a143b8f9b8f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::benchmark_fizzbuzz ... FAILED
[INFO] [stdout] test tests::benchmark_fizzbuzz_print ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::benchmark_fizzbuzz stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::benchmark_fizzbuzz' (1981) panicked at 001-basic/fizzbuzz/src/main.rs:28:5:
[INFO] [stdout] not yet implemented: Transforme o range (1..=n) em um iterador, aplique a lógica via .map() e materialize o resultado com .collect().
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x637764e3cc11 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x637764e3cc11 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x637764e3cc11 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x637764e3cc11 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x637764e5091a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x637764e5091a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x637764e410cc - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x637764e410cc - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x637764e1b386 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x637764e1b386 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x637764e34e39 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x637764dcfea0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x637764dcfea0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x637764e34ff2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x637764e34ff2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x637764e1b464 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x637764e12d99 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x637764e1c02d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x637764e5104c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x637764dc19a9 - fizzbuzz[2a3489720c999384]::fizzbuzz_vec
[INFO] [stdout]                                at /opt/rustwide/workdir/001-basic/fizzbuzz/src/main.rs:28:5
[INFO] [stdout]   20:     0x637764dc256c - fizzbuzz[2a3489720c999384]::tests::benchmark_fizzbuzz
[INFO] [stdout]                                at /opt/rustwide/workdir/001-basic/fizzbuzz/src/main.rs:66:27
[INFO] [stdout]   21:     0x637764dc18e7 - fizzbuzz[2a3489720c999384]::tests::benchmark_fizzbuzz::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/001-basic/fizzbuzz/src/main.rs:58:28
[INFO] [stdout]   22:     0x637764dc3096 - <fizzbuzz[2a3489720c999384]::tests::benchmark_fizzbuzz::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x637764dc31db - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x637764dc31db - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x637764dd0825 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x637764dd0825 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x637764dd0825 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x637764dd0825 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x637764dd0825 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x637764dd0825 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x637764dd0825 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x637764dcb2d4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x637764dcb2d4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x637764dd3972 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x637764dd3972 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x637764dd3972 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x637764dd3972 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x637764dd3972 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x637764dd3972 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x637764dd3972 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x637764e3c49f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x637764e3c49f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x7fc4b6818aa4 - <unknown>
[INFO] [stdout]   44:     0x7fc4b68a5a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::benchmark_fizzbuzz_print stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::benchmark_fizzbuzz_print' (1982) panicked at 001-basic/fizzbuzz/src/main.rs:22:5:
[INFO] [stdout] not yet implemented: Use match com uma tupla (count % 3 == 0, count % 5 == 0) para cobrir todos os casos de forma declarativa.
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x637764e3cc11 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x637764e3cc11 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x637764e3cc11 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x637764e3cc11 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x637764e5091a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x637764e5091a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x637764e410cc - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x637764e410cc - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x637764e1b386 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x637764e1b386 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x637764e34e39 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x637764dcfea0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x637764dcfea0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x637764e34ff2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x637764e34ff2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x637764e1b464 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x637764e12d99 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x637764e1c02d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x637764e5104c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x637764dc19d9 - fizzbuzz[2a3489720c999384]::fizzbuzz
[INFO] [stdout]                                at /opt/rustwide/workdir/001-basic/fizzbuzz/src/main.rs:22:5
[INFO] [stdout]   20:     0x637764dc2614 - fizzbuzz[2a3489720c999384]::tests::benchmark_fizzbuzz_print
[INFO] [stdout]                                at /opt/rustwide/workdir/001-basic/fizzbuzz/src/main.rs:43:9
[INFO] [stdout]   21:     0x637764dc1917 - fizzbuzz[2a3489720c999384]::tests::benchmark_fizzbuzz_print::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/001-basic/fizzbuzz/src/main.rs:39:34
[INFO] [stdout]   22:     0x637764dc30d6 - <fizzbuzz[2a3489720c999384]::tests::benchmark_fizzbuzz_print::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x637764dc31db - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x637764dc31db - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x637764dd0825 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x637764dd0825 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x637764dd0825 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x637764dd0825 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x637764dd0825 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x637764dd0825 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x637764dd0825 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x637764dcb2d4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x637764dcb2d4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x637764dd3972 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x637764dd3972 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x637764dd3972 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x637764dd3972 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x637764dd3972 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x637764dd3972 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x637764dd3972 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x637764e3c49f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x637764e3c49f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x7fc4b6818aa4 - <unknown>
[INFO] [stdout]   44:     0x7fc4b68a5a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::benchmark_fizzbuzz
[INFO] [stdout]     tests::benchmark_fizzbuzz_print
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p fizzbuzz --bin fizzbuzz`
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905", kill_on_drop: false }`
[INFO] [stdout] 434a3d27ab4e496b22bd1a484c943b29ab052e35419efc6578fd5f84a4266905
