[INFO] cloning repository https://github.com/mackoctavian/ultimate_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mackoctavian/ultimate_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmackoctavian%2Fultimate_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmackoctavian%2Fultimate_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 23ee1f17c5b6f65466e0bb2e70f82b08e2e3c99d
[INFO] checking mackoctavian/ultimate_rust against try#446cb600aa4837dd6c513f14fa0d25a909b177d7 for pr-149195
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmackoctavian%2Fultimate_rust" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mackoctavian/ultimate_rust
[INFO] finished tweaking git repo https://github.com/mackoctavian/ultimate_rust
[INFO] tweaked toml for git repo https://github.com/mackoctavian/ultimate_rust written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mackoctavian/ultimate_rust on toolchain 446cb600aa4837dd6c513f14fa0d25a909b177d7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mackoctavian/ultimate_rust 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" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.1.6
[INFO] [stderr]   Downloaded tokio v1.39.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 24f3ffc667891e48988de86ec1b6915653d1017988de5159df2b64653bd60f97
[INFO] running `Command { std: "docker" "start" "-a" "24f3ffc667891e48988de86ec1b6915653d1017988de5159df2b64653bd60f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "24f3ffc667891e48988de86ec1b6915653d1017988de5159df2b64653bd60f97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24f3ffc667891e48988de86ec1b6915653d1017988de5159df2b64653bd60f97", kill_on_drop: false }`
[INFO] [stdout] 24f3ffc667891e48988de86ec1b6915653d1017988de5159df2b64653bd60f97
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+446cb600aa4837dd6c513f14fa0d25a909b177d7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf10221cf1bbd796a773a3c183e34bffefa0cb3af38cf139b133fb95e441cfb7
[INFO] running `Command { std: "docker" "start" "-a" "cf10221cf1bbd796a773a3c183e34bffefa0cb3af38cf139b133fb95e441cfb7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking bytes v1.6.1
[INFO] [stderr]     Checking divide_work v0.1.0 (/opt/rustwide/workdir/session2/divide_work)
[INFO] [stderr]     Checking closures v0.1.0 (/opt/rustwide/workdir/misc/closures)
[INFO] [stderr]     Checking hello_word v0.1.0 (/opt/rustwide/workdir/session1/hello_word)
[INFO] [stderr]     Checking mutexes v0.1.0 (/opt/rustwide/workdir/session2/mutexes)
[INFO] [stderr]     Checking hello v0.1.0 (/opt/rustwide/workdir/session2/hello)
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rwlock v0.1.0 (/opt/rustwide/workdir/session2/rwlock)
[INFO] [stdout] warning: unused import: `atomic::AtomicU32`
[INFO] [stdout]  --> session2/mutexes/src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{atomic::AtomicU32, Mutex}, thread};
[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: `i`
[INFO] [stdout]   --> session2/divide_work/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for i in 0..5 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking variables v0.1.0 (/opt/rustwide/workdir/session1/variables)
[INFO] [stdout] warning: function `hello_thread` is never used
[INFO] [stdout]   --> session2/hello/src/main.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn hello_thread(n: 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 footgun v0.1.0 (/opt/rustwide/workdir/session2/footgun)
[INFO] [stderr]     Checking ultimate_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: static `NO` is never used
[INFO] [stdout]  --> session2/mutexes/src/main.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | static mut NO: i32 = 0;
[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 `test_atomics` is never used
[INFO] [stdout]   --> session2/mutexes/src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn test_atomics() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> session2/mutexes/src/main.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |         println!("{NO}");
[INFO] [stdout]    |                    ^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> session2/divide_work/src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let sum = thread::scope(|c| {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_thread` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn single_thread() {
[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 `thread1` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn thread1(n: u32) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_thread` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn multiple_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_thread` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn my_thread() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_example` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn chunk_example() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scoped_threads` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn scoped_threads() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking functions v0.1.0 (/opt/rustwide/workdir/session1/functions)
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> session1/variables/src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let m = m + 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[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]   --> session1/variables/src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let n = {
[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]   --> session1/variables/src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let n = {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stdout] warning: unused import: `atomic::AtomicU32`
[INFO] [stdout]  --> session2/mutexes/src/main.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{atomic::AtomicU32, Mutex}, thread};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hello_thread` is never used
[INFO] [stdout]   --> session2/hello/src/main.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn hello_thread(n: 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: static `NO` is never used
[INFO] [stdout]  --> session2/mutexes/src/main.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | static mut NO: i32 = 0;
[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 `test_atomics` is never used
[INFO] [stdout]   --> session2/mutexes/src/main.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn test_atomics() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> session2/mutexes/src/main.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |         println!("{NO}");
[INFO] [stdout]    |                    ^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> session1/functions/src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let n = if i == 5 { 6 } else { 7 };
[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: function `double_or_nothing` is never used
[INFO] [stdout]  --> session1/functions/src/main.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn double_or_nothing(n: i32) -> i32 {
[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: `i`
[INFO] [stdout]   --> session2/divide_work/src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for i in 0..5 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sum`
[INFO] [stdout]   --> session2/divide_work/src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let sum = thread::scope(|c| {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_sum`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_thread` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn single_thread() {
[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 `thread1` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn thread1(n: u32) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_thread` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn multiple_thread() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_thread` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn my_thread() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_example` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn chunk_example() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scoped_threads` is never used
[INFO] [stdout]   --> session2/divide_work/src/main.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn scoped_threads() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> session1/variables/src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let m = m + 1;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[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]   --> session1/variables/src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let n = {
[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]   --> session1/variables/src/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let n = {
[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]   --> session1/functions/src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let n = if i == 5 { 6 } else { 7 };
[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: function `double_or_nothing` is never used
[INFO] [stdout]  --> session1/functions/src/main.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn double_or_nothing(n: i32) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v1.0.1
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]     Checking tokio v1.39.1
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking hello_async v0.1.0 (/opt/rustwide/workdir/session3/hello_async)
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> session3/hello_async/src/main.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::{join, join_all};
[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: `result`
[INFO] [stdout]   --> session3/hello_async/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let result = join_all(futures).await;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `join`
[INFO] [stdout]  --> session3/hello_async/src/main.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::future::{join, join_all};
[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: `result`
[INFO] [stdout]   --> session3/hello_async/src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let result = join_all(futures).await;
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hello_tokio v0.1.0 (/opt/rustwide/workdir/session3/hello_tokio)
[INFO] [stderr]     Checking authentication v0.1.0 (/opt/rustwide/workdir/session1/authentication)
[INFO] [stderr]     Checking login_manager v0.1.0 (/opt/rustwide/workdir/session1/login_manager)
[INFO] [stderr]     Checking login v0.1.0 (/opt/rustwide/workdir/session1/login)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> session1/login/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut tries = 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: `tries`
[INFO] [stdout]  --> session1/login/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut tries = 0;
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tries`
[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]  --> session1/login/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut tries = 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: `tries`
[INFO] [stdout]  --> session1/login/src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let mut tries = 0;
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tries`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.05s
[INFO] running `Command { std: "docker" "inspect" "cf10221cf1bbd796a773a3c183e34bffefa0cb3af38cf139b133fb95e441cfb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf10221cf1bbd796a773a3c183e34bffefa0cb3af38cf139b133fb95e441cfb7", kill_on_drop: false }`
[INFO] [stdout] cf10221cf1bbd796a773a3c183e34bffefa0cb3af38cf139b133fb95e441cfb7
