[INFO] cloning repository https://github.com/gdemarcsek/learn-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gdemarcsek/learn-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgdemarcsek%2Flearn-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgdemarcsek%2Flearn-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 84c456980dc233b6593be66564520fe1c43ed60a
[INFO] checking gdemarcsek/learn-rust against master#46424fb5054f211ec836c5c03159f92e46bb35ac for pr-139042
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgdemarcsek%2Flearn-rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/gdemarcsek/learn-rust on toolchain 46424fb5054f211ec836c5c03159f92e46bb35ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/gdemarcsek/learn-rust
[INFO] finished tweaking git repo https://github.com/gdemarcsek/learn-rust
[INFO] tweaked toml for git repo https://github.com/gdemarcsek/learn-rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/gdemarcsek/learn-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" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 78bfd07ca5586c77d4719f673ea20dfa75524f2cae8ae323637b9b534b3c73ef
[INFO] running `Command { std: "docker" "start" "-a" "78bfd07ca5586c77d4719f673ea20dfa75524f2cae8ae323637b9b534b3c73ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78bfd07ca5586c77d4719f673ea20dfa75524f2cae8ae323637b9b534b3c73ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78bfd07ca5586c77d4719f673ea20dfa75524f2cae8ae323637b9b534b3c73ef", kill_on_drop: false }`
[INFO] [stdout] 78bfd07ca5586c77d4719f673ea20dfa75524f2cae8ae323637b9b534b3c73ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 055207c2eea7567d3df604efd2df2fab06940d67fbead87bd4bf2ab4ed595cc2
[INFO] running `Command { std: "docker" "start" "-a" "055207c2eea7567d3df604efd2df2fab06940d67fbead87bd4bf2ab4ed595cc2", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking learn-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:200:6
[INFO] [stdout]     |
[INFO] [stdout] 200 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::*`
[INFO] [stdout]    --> src/main.rs:297:9
[INFO] [stdout]     |
[INFO] [stdout] 297 |     use std::*;         // glob import from Rust's standard library
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:200:6
[INFO] [stdout]     |
[INFO] [stdout] 200 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::*`
[INFO] [stdout]    --> src/main.rs:297:9
[INFO] [stdout]     |
[INFO] [stdout] 297 |     use std::*;         // glob import from Rust's standard library
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let x = 42;             // (type is inferred by the compiler whenever possible)
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `x` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut x = 42;         // Now 'x' is declared to be mutable, thus...
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_x` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     x = 21;                 // its value can be changed later on
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/main.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let x = 42;             // (type is inferred by the compiler whenever possible)
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `x` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut x = 42;         // Now 'x' is declared to be mutable, thus...
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_x` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `x` is never read
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     x = 21;                 // its value can be changed later on
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let s = String::from("dynamically allocated string");           // s owns the allocated memory...
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let s = String::from("dynamically allocated string");           // s owns the allocated memory...
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let y = x;          // a copy of the value of 'x'
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let y = x;          // a copy of the value of 'x'
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s4`
[INFO] [stdout]   --> src/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let s4 = gives_ownership();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s4`
[INFO] [stdout]   --> src/main.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let s4 = gives_ownership();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_s4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/main.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let r1 = &mut s1;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]    --> src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let r2 = &s1;                   // but out of the scope of 'r1', we can create a reference again...
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]    --> src/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let r3 = &s1;                   // ...even multiple immutable ones
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> src/main.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let r1 = &mut s1;
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]    --> src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let r2 = &s1;                   // but out of the scope of 'r1', we can create a reference again...
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]    --> src/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let r3 = &s1;                   // ...even multiple immutable ones
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `slice3` is never read
[INFO] [stdout]    --> src/main.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let mut slice3 = &s[1..6];
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `slice3` is never read
[INFO] [stdout]    --> src/main.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let mut slice3 = &s[1..6];
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice4`
[INFO] [stdout]    --> src/main.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let slice4: &[i32];         // the type of each item must be 'i32'
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_slice4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice4`
[INFO] [stdout]    --> src/main.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let slice4: &[i32];         // the type of each item must be 'i32'
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_slice4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut s = String::from("hello world");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `red`
[INFO] [stdout]    --> src/main.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let red = RGBColor(0xff, 0x00, 0x00);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_red`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut s = String::from("hello world");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `red`
[INFO] [stdout]    --> src/main.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let red = RGBColor(0xff, 0x00, 0x00);
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_red`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 | ...   _ => -1,    // _ is a placeholder that matches any value - if we put it as last, this will mean what the "default" label menas for ...
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...   RPCCallError::NetworkError => {
[INFO] [stdout]     |       -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 264 | ...   RPCCallError::SerilizationError(className) => {
[INFO] [stdout]     |       ------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 268 | ...   RPCCallError::OK => 0,
[INFO] [stdout]     |       ---------------- matches some of the same values
[INFO] [stdout] 269 | ...   _ => -1,    // _ is a placeholder that matches any value - if we put it as last, this will mean what the "default" label menas for ...
[INFO] [stdout]     |       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `foreign`
[INFO] [stdout]    --> src/main.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let foreign = IpAddress::V6(314159263, 123442);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_foreign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_ip`
[INFO] [stdout]    --> src/main.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let some_ip = Some(home);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 | ...   _ => -1,    // _ is a placeholder that matches any value - if we put it as last, this will mean what the "default" label menas for ...
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...   RPCCallError::NetworkError => {
[INFO] [stdout]     |       -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 264 | ...   RPCCallError::SerilizationError(className) => {
[INFO] [stdout]     |       ------------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 268 | ...   RPCCallError::OK => 0,
[INFO] [stdout]     |       ---------------- matches some of the same values
[INFO] [stdout] 269 | ...   _ => -1,    // _ is a placeholder that matches any value - if we put it as last, this will mean what the "default" label menas for ...
[INFO] [stdout]     |       ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `absent_ip`
[INFO] [stdout]    --> src/main.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let absent_ip: Option<IpAddress> = None; 
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_absent_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `foreign`
[INFO] [stdout]    --> src/main.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let foreign = IpAddress::V6(314159263, 123442);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_foreign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `some_ip`
[INFO] [stdout]    --> src/main.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let some_ip = Some(home);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let x: i8 = 5;
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let y: Option<i8> = Some(5);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `absent_ip`
[INFO] [stdout]    --> src/main.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let absent_ip: Option<IpAddress> = None; 
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_absent_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     let x: i8 = 5;
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `retcode`
[INFO] [stdout]    --> src/main.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let retcode = match error {     // match forces us to cover all possible cases
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_retcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/main.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let y: Option<i8> = Some(5);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `retcode`
[INFO] [stdout]    --> src/main.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |     let retcode = match error {     // match forces us to cover all possible cases
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_retcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `number_of_friends` is never read
[INFO] [stdout]    --> src/main.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     struct User {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 164 |         number_of_friends: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/main.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |     struct RGBColor(i16, i16, i16);
[INFO] [stdout]     |            -------- ^^^  ^^^  ^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 |         V4(u32),        // you can use any type of data, even structrs here
[INFO] [stdout]     |         -- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 228 -         V4(u32),        // you can use any type of data, even structrs here
[INFO] [stdout] 228 +         V4(()),        // you can use any type of data, even structrs here
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:229:12
[INFO] [stdout]     |
[INFO] [stdout] 229 |         V6(u64, u64),
[INFO] [stdout]     |         -- ^^^  ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 229 -         V6(u64, u64),
[INFO] [stdout] 229 +         V6((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NetworkError` and `SerilizationError` are never constructed
[INFO] [stdout]    --> src/main.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     enum RPCCallError {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 252 |         NetworkError,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 253 |         SerilizationError(String),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closures` is never used
[INFO] [stdout]    --> src/main.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn closures() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `number_of_friends` is never read
[INFO] [stdout]    --> src/main.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     struct User {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 164 |         number_of_friends: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `User` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/main.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |     struct RGBColor(i16, i16, i16);
[INFO] [stdout]     |            -------- ^^^  ^^^  ^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 |         V4(u32),        // you can use any type of data, even structrs here
[INFO] [stdout]     |         -- ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 228 -         V4(u32),        // you can use any type of data, even structrs here
[INFO] [stdout] 228 +         V4(()),        // you can use any type of data, even structrs here
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:229:12
[INFO] [stdout]     |
[INFO] [stdout] 229 |         V6(u64, u64),
[INFO] [stdout]     |         -- ^^^  ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         fields in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 229 -         V6(u64, u64),
[INFO] [stdout] 229 +         V6((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NetworkError` and `SerilizationError` are never constructed
[INFO] [stdout]    --> src/main.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     enum RPCCallError {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 252 |         NetworkError,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 253 |         SerilizationError(String),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closures` is never used
[INFO] [stdout]    --> src/main.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn closures() {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `className` should have a snake case name
[INFO] [stdout]    --> src/main.rs:264:41
[INFO] [stdout]     |
[INFO] [stdout] 264 |         RPCCallError::SerilizationError(className) => {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: convert the identifier to snake case: `class_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `className` should have a snake case name
[INFO] [stdout]    --> src/main.rs:264:41
[INFO] [stdout]     |
[INFO] [stdout] 264 |         RPCCallError::SerilizationError(className) => {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: convert the identifier to snake case: `class_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] running `Command { std: "docker" "inspect" "055207c2eea7567d3df604efd2df2fab06940d67fbead87bd4bf2ab4ed595cc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "055207c2eea7567d3df604efd2df2fab06940d67fbead87bd4bf2ab4ed595cc2", kill_on_drop: false }`
[INFO] [stdout] 055207c2eea7567d3df604efd2df2fab06940d67fbead87bd4bf2ab4ed595cc2
