[INFO] cloning repository https://github.com/hastou/AOC2024 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hastou/AOC2024" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhastou%2FAOC2024", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhastou%2FAOC2024'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b89c1987af320de85389e76aa5c80d8beaf1e45e [INFO] checking hastou/AOC2024 against try#22cc29ba5b459fb386c0406b9baf3a49eb0fba39 for pr-146095 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhastou%2FAOC2024" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/hastou/AOC2024 [INFO] finished tweaking git repo https://github.com/hastou/AOC2024 [INFO] tweaked toml for git repo https://github.com/hastou/AOC2024 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hastou/AOC2024 on toolchain 22cc29ba5b459fb386c0406b9baf3a49eb0fba39 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/hastou/AOC2024 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" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "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 [ERROR] error running command: no output for 300 seconds [INFO] checking hastou/AOC2024 against try#22cc29ba5b459fb386c0406b9baf3a49eb0fba39 for pr-146095 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhastou%2FAOC2024" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/hastou/AOC2024 [INFO] finished tweaking git repo https://github.com/hastou/AOC2024 [INFO] tweaked toml for git repo https://github.com/hastou/AOC2024 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hastou/AOC2024 on toolchain 22cc29ba5b459fb386c0406b9baf3a49eb0fba39 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/hastou/AOC2024 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" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4ccbd871ea8d6bee24a76e452c7249736ff4e9a2f254fa613dc1289eb36a3745 [INFO] running `Command { std: "docker" "start" "-a" "4ccbd871ea8d6bee24a76e452c7249736ff4e9a2f254fa613dc1289eb36a3745", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4ccbd871ea8d6bee24a76e452c7249736ff4e9a2f254fa613dc1289eb36a3745", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ccbd871ea8d6bee24a76e452c7249736ff4e9a2f254fa613dc1289eb36a3745", kill_on_drop: false }` [INFO] [stdout] 4ccbd871ea8d6bee24a76e452c7249736ff4e9a2f254fa613dc1289eb36a3745 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+22cc29ba5b459fb386c0406b9baf3a49eb0fba39" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 176d2ac5edc39e33f6570fe614168838167427542aa47c08c76bccdc1b8636bf [INFO] running `Command { std: "docker" "start" "-a" "176d2ac5edc39e33f6570fe614168838167427542aa47c08c76bccdc1b8636bf", kill_on_drop: false }` [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking advent2024 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `GridUtilities` is never used [INFO] [stdout] --> ex4/ex4.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | trait GridUtilities { [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 `compute_trailhead_score2_iter` is never used [INFO] [stdout] --> ex10/ex10.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn compute_trailhead_score2_iter(pos: (i32, i32), map: &Vec>) -> u32 { [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 `compute_trailhead_score2_iter` is never used [INFO] [stdout] --> ex10/ex10.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | fn compute_trailhead_score2_iter(pos: (i32, i32), map: &Vec>) -> u32 { [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: `BufRead` [INFO] [stdout] --> ex11/ex11.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufRead, Read}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> ex11/ex11.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | let mut result = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex11/ex11.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let mut vec = file_content [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: `visited_pos` [INFO] [stdout] --> ex12/ex12.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | fn compute_region_side_count(pos: Point, map: &Vec>, visited_pos: &mut HashSet) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> ex9/ex9.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | for d in 0..c.to_digit(10).unwrap() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> ex9/ex9.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | for d in 0..c.to_digit(10).unwrap() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex12/ex12.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut actual_pos = stack.pop().unwrap(); [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: trait `GridUtilities` is never used [INFO] [stdout] --> ex4/ex4.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | trait GridUtilities { [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: `d` [INFO] [stdout] --> ex9/ex9.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | for d in 0..c.to_digit(10).unwrap() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> ex9/ex9.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | for d in 0..c.to_digit(10).unwrap() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex6/ex6.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut options: std::collections::HashSet<(i32, i32)> = std::collections::HashSet::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: `options` [INFO] [stdout] --> ex6/ex6.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut options: std::collections::HashSet<(i32, i32)> = std::collections::HashSet::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_pos` [INFO] [stdout] --> ex6/ex6.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let start_pos = game_state.current_position.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_map_and_game_state` is never used [INFO] [stdout] --> ex6/ex6.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn print_map_and_game_state(map: &Vec>, game_state: &GameState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GridUtilities` is never used [INFO] [stdout] --> ex4/ex4-2.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | trait GridUtilities { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GridUtilities` is never used [INFO] [stdout] --> ex4/ex4-2.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | trait GridUtilities { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> ex8/ex8.rs:7:46 [INFO] [stdout] | [INFO] [stdout] 7 | fn parse_file(file_path: &str) -> io::Result<(Vec>)>{ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 7 - fn parse_file(file_path: &str) -> io::Result<(Vec>)>{ [INFO] [stdout] 7 + fn parse_file(file_path: &str) -> io::Result> >{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> ex8/ex8.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] 45 + if node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> ex8/ex8.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | ... if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 - if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] 65 + if node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute` is never used [INFO] [stdout] --> ex24/ex24.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn compute(operation: &Operation, binaries: & mut HashMap, operations: &HashMap) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex6/ex6.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut options: std::collections::HashSet<(i32, i32)> = std::collections::HashSet::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: `options` [INFO] [stdout] --> ex6/ex6.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let mut options: std::collections::HashSet<(i32, i32)> = std::collections::HashSet::new(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_pos` [INFO] [stdout] --> ex6/ex6.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let start_pos = game_state.current_position.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_map_and_game_state` is never used [INFO] [stdout] --> ex6/ex6.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn print_map_and_game_state(map: &Vec>, game_state: &GameState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> ex24/ex24.rs:40:72 [INFO] [stdout] | [INFO] [stdout] 40 | let result = compute(operations.get(&operation.input1).unwrap().deref(), binaries, operations); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Operation` does not implement `Deref`, so calling `deref` on `&Operation` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 40 - let result = compute(operations.get(&operation.input1).unwrap().deref(), binaries, operations); [INFO] [stdout] 40 + let result = compute(operations.get(&operation.input1).unwrap(), binaries, operations); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Operation`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Operation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex8/ex8.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut map = parse_file(file_path).unwrap(); [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: `col` [INFO] [stdout] --> ex8/ex8.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | for (col, pos_list) in hash_map.iter() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> ex8/ex8.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | for (col, pos_list) in hash_map.iter() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> ex24/ex24.rs:44:72 [INFO] [stdout] | [INFO] [stdout] 44 | let result = compute(operations.get(&operation.input2).unwrap().deref(), binaries, operations); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Operation` does not implement `Deref`, so calling `deref` on `&Operation` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 44 - let result = compute(operations.get(&operation.input2).unwrap().deref(), binaries, operations); [INFO] [stdout] 44 + let result = compute(operations.get(&operation.input2).unwrap(), binaries, operations); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Operation`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Operation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufRead` [INFO] [stdout] --> ex11/ex11.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{BufRead, Read}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result` is never read [INFO] [stdout] --> ex11/ex11.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | let mut result = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute` is never used [INFO] [stdout] --> ex24/ex24.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn compute(operation: &Operation, binaries: & mut HashMap, operations: &HashMap) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex11/ex11.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let mut vec = file_content [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: `visited_pos` [INFO] [stdout] --> ex12/ex12.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | fn compute_region_side_count(pos: Point, map: &Vec>, visited_pos: &mut HashSet) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visited_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> ex24/ex24.rs:40:72 [INFO] [stdout] | [INFO] [stdout] 40 | let result = compute(operations.get(&operation.input1).unwrap().deref(), binaries, operations); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Operation` does not implement `Deref`, so calling `deref` on `&Operation` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 40 - let result = compute(operations.get(&operation.input1).unwrap().deref(), binaries, operations); [INFO] [stdout] 40 + let result = compute(operations.get(&operation.input1).unwrap(), binaries, operations); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Operation`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Operation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex12/ex12.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut actual_pos = stack.pop().unwrap(); [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: call to `.deref()` on a reference in this situation does nothing [INFO] [stdout] --> ex24/ex24.rs:44:72 [INFO] [stdout] | [INFO] [stdout] 44 | let result = compute(operations.get(&operation.input2).unwrap().deref(), binaries, operations); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `Operation` does not implement `Deref`, so calling `deref` on `&Operation` copies the reference, which does not do anything and can be removed [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 44 - let result = compute(operations.get(&operation.input2).unwrap().deref(), binaries, operations); [INFO] [stdout] 44 + let result = compute(operations.get(&operation.input2).unwrap(), binaries, operations); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `Operation`, implement `Clone` for it [INFO] [stdout] | [INFO] [stdout] 14 + #[derive(Clone)] [INFO] [stdout] 15 | struct Operation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> ex8/ex8.rs:7:46 [INFO] [stdout] | [INFO] [stdout] 7 | fn parse_file(file_path: &str) -> io::Result<(Vec>)>{ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 7 - fn parse_file(file_path: &str) -> io::Result<(Vec>)>{ [INFO] [stdout] 7 + fn parse_file(file_path: &str) -> io::Result> >{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> ex8/ex8.rs:45:24 [INFO] [stdout] | [INFO] [stdout] 45 | if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] 45 + if node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> ex8/ex8.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | ... if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 - if (node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize) { [INFO] [stdout] 65 + if node_pos.0 < 0 || node_pos.1 < 0 || node_pos.0 >= map[0].len() as isize || node_pos.1 >= map.len() as isize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ex8/ex8.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let mut map = parse_file(file_path).unwrap(); [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: `col` [INFO] [stdout] --> ex8/ex8.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | for (col, pos_list) in hash_map.iter() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> ex8/ex8.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | for (col, pos_list) in hash_map.iter() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.54s [INFO] running `Command { std: "docker" "inspect" "176d2ac5edc39e33f6570fe614168838167427542aa47c08c76bccdc1b8636bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "176d2ac5edc39e33f6570fe614168838167427542aa47c08c76bccdc1b8636bf", kill_on_drop: false }` [INFO] [stdout] 176d2ac5edc39e33f6570fe614168838167427542aa47c08c76bccdc1b8636bf