[INFO] cloning repository https://github.com/dc0sk/rustut
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dc0sk/rustut" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdc0sk%2Frustut", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdc0sk%2Frustut'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b33631eabe9ae824d6c3e34fd66e21b7e131175b
[INFO] checking dc0sk/rustut against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdc0sk%2Frustut" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/dc0sk/rustut
[INFO] finished tweaking git repo https://github.com/dc0sk/rustut
[INFO] tweaked toml for git repo https://github.com/dc0sk/rustut written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dc0sk/rustut on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dc0sk/rustut 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `rust-version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | rust-version = "1.85"
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.rust-version`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312
[INFO] running `Command { std: "docker" "start" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312", 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" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312", 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=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `rust-version` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | rust-version = "1.85"
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.rust-version`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ch26-ex01-clamp v0.1.0 (/opt/rustwide/workdir/exercises/ch26-interop-with-c/ex01-clamp)
[INFO] [stderr]    Compiling ch26-ex01-clamp-solution v0.1.0 (/opt/rustwide/workdir/solutions/ch26-interop-with-c/ex01-clamp)
[INFO] [stderr]    Compiling ch26-interop-with-c-example v0.1.0 (/opt/rustwide/workdir/examples/ch26-interop-with-c)
[INFO] [stderr]     Checking stringy-lib-solution v0.1.0 (/opt/rustwide/workdir/solutions/ch02-toolchain-and-cargo/stringy-lib)
[INFO] [stderr]     Checking ch27-ex01-typestate-file v0.1.0 (/opt/rustwide/workdir/exercises/ch27-idiomatic-api-design/ex01-typestate-file)
[INFO] [stderr]     Checking ch24-ex01-word-count-file v0.1.0 (/opt/rustwide/workdir/exercises/ch24-files-and-os/ex01-word-count-file)
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> exercises/ch24-files-and-os/ex01-word-count-file/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[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: `path`
[INFO] [stdout]   --> exercises/ch24-files-and-os/ex01-word-count-file/src/lib.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn total_words(path: &Path) -> Result<usize> {
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> exercises/ch24-files-and-os/ex01-word-count-file/src/lib.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn most_frequent_word(path: &Path) -> Result<Option<String>> {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking ch18-ex01-parallel-sum v0.1.0 (/opt/rustwide/workdir/exercises/ch18-threads/ex01-parallel-sum)
[INFO] [stderr]     Checking ch30-testing-and-documentation-example v0.1.0 (/opt/rustwide/workdir/examples/ch30-testing-and-documentation)
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> exercises/ch18-threads/ex01-parallel-sum/src/lib.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn parallel_sum(data: &[i64], num_workers: usize) -> i64 {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_workers`
[INFO] [stdout]   --> exercises/ch18-threads/ex01-parallel-sum/src/lib.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn parallel_sum(data: &[i64], num_workers: usize) -> i64 {
[INFO] [stdout]    |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_workers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch20-ex01-fan-in-aggregator v0.1.0 (/opt/rustwide/workdir/exercises/ch20-channels/ex01-fan-in-aggregator)
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> exercises/ch20-channels/ex01-fan-in-aggregator/src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::mpsc;
[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: `std::thread`
[INFO] [stdout]  --> exercises/ch20-channels/ex01-fan-in-aggregator/src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch30-ex01-clamp-range v0.1.0 (/opt/rustwide/workdir/exercises/ch30-testing-and-documentation/ex01-clamp-range)
[INFO] [stdout] warning: unused variable: `workers`
[INFO] [stdout]   --> exercises/ch20-channels/ex01-fan-in-aggregator/src/lib.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn square_all_concurrently(workers: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_workers`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch14-ex01-visibility-boundaries v0.1.0 (/opt/rustwide/workdir/exercises/ch14-modules-and-visibility/ex01-visibility-boundaries)
[INFO] [stderr]     Checking ch07-ex01-parser-struct v0.1.0 (/opt/rustwide/workdir/exercises/ch07-lifetimes/ex01-parser-struct)
[INFO] [stderr]     Checking ch01-ex01-raii-vs-bounds-checking v0.1.0 (/opt/rustwide/workdir/exercises/ch01-why-rust/ex01-raii-vs-bounds-checking)
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> exercises/ch07-lifetimes/ex01-parser-struct/src/lib.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(input: &'a str) -> Self {
[INFO] [stdout]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `remaining` is never read
[INFO] [stdout]  --> exercises/ch07-lifetimes/ex01-parser-struct/src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Parser<'a> {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 8 |     remaining: &'a str,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch28-ex01-logger-strategy v0.1.0 (/opt/rustwide/workdir/exercises/ch28-design-patterns/ex01-logger-strategy)
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> exercises/ch30-testing-and-documentation/ex01-clamp-range/src/lib.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn clamp_all(values: &[i32], lo: i32, hi: i32) -> Vec<i32> {
[INFO] [stdout]    |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lo`
[INFO] [stdout]   --> exercises/ch30-testing-and-documentation/ex01-clamp-range/src/lib.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn clamp_all(values: &[i32], lo: i32, hi: i32) -> Vec<i32> {
[INFO] [stdout]    |                                  ^^ help: if this is intentional, prefix it with an underscore: `_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hi`
[INFO] [stdout]   --> exercises/ch30-testing-and-documentation/ex01-clamp-range/src/lib.rs:10:43
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn clamp_all(values: &[i32], lo: i32, hi: i32) -> Vec<i32> {
[INFO] [stdout]    |                                           ^^ help: if this is intentional, prefix it with an underscore: `_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch31-ex01-checked-buffer-size v0.1.0 (/opt/rustwide/workdir/exercises/ch31-security-best-practices/ex01-checked-buffer-size)
[INFO] [stdout] warning: unused variable: `seconds`
[INFO] [stdout]  --> exercises/ch14-modules-and-visibility/ex01-visibility-boundaries/src/logging/time.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(super) fn format_timestamp(seconds: u64) -> String {
[INFO] [stdout]   |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_seconds`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> exercises/ch01-why-rust/ex01-raii-vs-bounds-checking/src/lib.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn safe_get(data: &[i32], index: usize) -> Option<i32> {
[INFO] [stdout]   |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]  --> exercises/ch01-why-rust/ex01-raii-vs-bounds-checking/src/lib.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn safe_get(data: &[i32], index: usize) -> Option<i32> {
[INFO] [stdout]   |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `releases` is never read
[INFO] [stdout]   --> exercises/ch01-why-rust/ex01-raii-vs-bounds-checking/src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Resource<'a> {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 15 |     releases: &'a Cell<u32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch04-ex01-safe-narrowing v0.1.0 (/opt/rustwide/workdir/exercises/ch04-variables-mutability-types/ex01-safe-narrowing)
[INFO] [stderr]     Checking ch17-ex01-checked-buffer v0.1.0 (/opt/rustwide/workdir/exercises/ch17-unsafe-and-ffi-basics/ex01-checked-buffer)
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]   --> exercises/ch28-design-patterns/ex01-logger-strategy/src/lib.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn write(&mut self, line: String) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> exercises/ch28-design-patterns/ex01-logger-strategy/src/lib.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn log(&mut self, message: &str) {
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 36 |         todo!("format message as \"[LOG] {{message}}\" and call self.sink.write(...)")
[INFO] [stdout]    |         ------------------------------------------------------------------------------ you might have meant to use string interpolation in this string literal
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn log(&mut self, _message: &str) {
[INFO] [stdout]    |                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch06-ex01-largest-without-cloning v0.1.0 (/opt/rustwide/workdir/exercises/ch06-borrowing-and-references/ex01-largest-without-cloning)
[INFO] [stderr]     Checking ch13-ex01-shape-collection v0.1.0 (/opt/rustwide/workdir/exercises/ch13-trait-objects/ex01-shape-collection)
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> exercises/ch17-unsafe-and-ffi-basics/ex01-checked-buffer/src/lib.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn checked_get_unchecked(data: &[i32], index: usize) -> Option<i32> {
[INFO] [stdout]   |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch03-ex01-module-visibility v0.1.0 (/opt/rustwide/workdir/exercises/ch03-crate-anatomy/ex01-module-visibility)
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]  --> exercises/ch17-unsafe-and-ffi-basics/ex01-checked-buffer/src/lib.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn checked_get_unchecked(data: &[i32], index: usize) -> Option<i32> {
[INFO] [stdout]   |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_bytes`
[INFO] [stdout]   --> exercises/ch31-security-best-practices/ex01-checked-buffer-size/src/lib.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn buffer_size(header_bytes: u32, record_count: u32, record_size: u32) -> Option<u32> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_bytes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_count`
[INFO] [stdout]   --> exercises/ch31-security-best-practices/ex01-checked-buffer-size/src/lib.rs:14:39
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn buffer_size(header_bytes: u32, record_count: u32, record_size: u32) -> Option<u32> {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `record_size`
[INFO] [stdout]   --> exercises/ch31-security-best-practices/ex01-checked-buffer-size/src/lib.rs:14:58
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn buffer_size(header_bytes: u32, record_count: u32, record_size: u32) -> Option<u32> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_record_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch10-ex01-lookup-and-parse v0.1.0 (/opt/rustwide/workdir/exercises/ch10-option-result/ex01-lookup-and-parse)
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]  --> exercises/ch04-variables-mutability-types/ex01-safe-narrowing/src/lib.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn to_port(value: i64) -> Result<u16, i64> {
[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: `a`
[INFO] [stdout]   --> exercises/ch04-variables-mutability-types/ex01-safe-narrowing/src/lib.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn checked_sum(a: u8, b: u8) -> Option<u8> {
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> exercises/ch04-variables-mutability-types/ex01-safe-narrowing/src/lib.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn checked_sum(a: u8, b: u8) -> Option<u8> {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch15-ex01-sum-where v0.1.0 (/opt/rustwide/workdir/exercises/ch15-closures-and-iterators/ex01-sum-where)
[INFO] [stdout] warning: unused variable: `nums`
[INFO] [stdout]   --> exercises/ch06-borrowing-and-references/ex01-largest-without-cloning/src/lib.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn largest(nums: &[i32]) -> Option<&i32> {
[INFO] [stdout]    |                ^^^^ help: if this is intentional, prefix it with an underscore: `_nums`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> exercises/ch06-borrowing-and-references/ex01-largest-without-cloning/src/lib.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn grow_then_summarize(data: &mut Vec<i32>, extra: i32) -> String {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `extra`
[INFO] [stdout]   --> exercises/ch06-borrowing-and-references/ex01-largest-without-cloning/src/lib.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn grow_then_summarize(data: &mut Vec<i32>, extra: i32) -> String {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_extra`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]  --> exercises/ch10-option-result/ex01-lookup-and-parse/src/lib.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn first_positive(values: &[i32]) -> Option<i32> {
[INFO] [stdout]   |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> exercises/ch10-option-result/ex01-lookup-and-parse/src/lib.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn parse_pair(input: &str) -> Result<(i64, i64), String> {
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch02-ex01-wire-a-dependency v0.1.0 (/opt/rustwide/workdir/exercises/ch02-toolchain-and-cargo/ex01-wire-a-dependency)
[INFO] [stderr]     Checking ch19-ex01-shared-counter v0.1.0 (/opt/rustwide/workdir/exercises/ch19-send-sync/ex01-shared-counter)
[INFO] [stderr]     Checking ch16-ex01-guard-order v0.1.0 (/opt/rustwide/workdir/exercises/ch16-memory-safety-raii/ex01-guard-order)
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> exercises/ch15-closures-and-iterators/ex01-sum-where/src/lib.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn sum_where(data: &[i32], keep: impl Fn(i32) -> bool, f: impl Fn(i32) -> i64) -> i64 {
[INFO] [stdout]   |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keep`
[INFO] [stdout]  --> exercises/ch15-closures-and-iterators/ex01-sum-where/src/lib.rs:7:32
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn sum_where(data: &[i32], keep: impl Fn(i32) -> bool, f: impl Fn(i32) -> i64) -> i64 {
[INFO] [stdout]   |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_keep`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> exercises/ch15-closures-and-iterators/ex01-sum-where/src/lib.rs:7:60
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn sum_where(data: &[i32], keep: impl Fn(i32) -> bool, f: impl Fn(i32) -> i64) -> i64 {
[INFO] [stdout]   |                                                            ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch21-ex01-atomic-counter v0.1.0 (/opt/rustwide/workdir/exercises/ch21-atomics/ex01-atomic-counter)
[INFO] [stderr]     Checking ch12-ex01-generic-stats v0.1.0 (/opt/rustwide/workdir/exercises/ch12-traits-and-generics/ex01-generic-stats)
[INFO] [stdout] warning: unused variable: `shapes`
[INFO] [stdout]   --> exercises/ch13-trait-objects/ex01-shape-collection/src/lib.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn total_area(shapes: &[Box<dyn HasArea>]) -> f64 {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shapes`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `items`
[INFO] [stdout]   --> exercises/ch12-traits-and-generics/ex01-generic-stats/src/lib.rs:17:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn highest_scored<T: Scored>(items: &[T]) -> &T {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_items`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ch08-ex01-shapes-and-vehicles v0.1.0 (/opt/rustwide/workdir/exercises/ch08-structs-and-enums/ex01-shapes-and-vehicles)
[INFO] [stdout] warning: unused variable: `amount`
[INFO] [stdout]   --> exercises/ch19-send-sync/ex01-shared-counter/src/lib.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn add(&self, amount: i64) -> i64 {
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counter`
[INFO] [stdout]   --> exercises/ch21-atomics/ex01-atomic-counter/src/lib.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn record_request(counter: &AtomicU32, max: u32) -> bool {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> exercises/ch21-atomics/ex01-atomic-counter/src/lib.rs:16:44
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn record_request(counter: &AtomicU32, max: u32) -> bool {
[INFO] [stdout]    |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ch02-ex01-wire-a-dependency` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: cannot find module or crate `stringy_lib` in this scope
[INFO] [stdout]  --> exercises/ch02-toolchain-and-cargo/ex01-wire-a-dependency/src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     stringy_lib::shout(&format!("hello, {name}"))
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `stringy_lib`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `stringy_lib`, use `cargo add stringy_lib` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log`
[INFO] [stdout]   --> exercises/ch16-memory-safety-raii/ex01-guard-order/src/lib.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn nested_scopes(log: Log) {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_log`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `log` are never read
[INFO] [stdout]   --> exercises/ch16-memory-safety-raii/ex01-guard-order/src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct RecordingGuard {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 10 |     name: &'static str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     log: Log,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> exercises/ch19-send-sync/ex01-shared-counter/src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SharedCounter {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 12 |     value: Mutex<i64>,
[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: `width`
[INFO] [stdout]   --> exercises/ch08-structs-and-enums/ex01-shapes-and-vehicles/src/lib.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(width: f64, height: f64) -> Self {
[INFO] [stdout]    |                ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]   --> exercises/ch08-structs-and-enums/ex01-shapes-and-vehicles/src/lib.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(width: f64, height: f64) -> Self {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312", kill_on_drop: false }`
[INFO] [stdout] 04e254d3adee23f5b8673cf00f002a40f4e6ef8fc2f3c9d946ff44809c268312
