[INFO] cloning repository https://github.com/roneesh/rust_book_exercises [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/roneesh/rust_book_exercises" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froneesh%2Frust_book_exercises", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froneesh%2Frust_book_exercises'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a36288522b8d9fecc1f4ab9b10180647c046aa2a [INFO] checking roneesh/rust_book_exercises against master#9fa580b1175018b0a276b0bc68f9827a106f7260 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Froneesh%2Frust_book_exercises" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/roneesh/rust_book_exercises on toolchain 9fa580b1175018b0a276b0bc68f9827a106f7260 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/roneesh/rust_book_exercises [INFO] finished tweaking git repo https://github.com/roneesh/rust_book_exercises [INFO] tweaked toml for git repo https://github.com/roneesh/rust_book_exercises written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/roneesh/rust_book_exercises already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d8edaab61aec48df4a9b6c0488522990458cf551ff48fb5fa5767299d258f23a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d8edaab61aec48df4a9b6c0488522990458cf551ff48fb5fa5767299d258f23a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8edaab61aec48df4a9b6c0488522990458cf551ff48fb5fa5767299d258f23a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8edaab61aec48df4a9b6c0488522990458cf551ff48fb5fa5767299d258f23a", kill_on_drop: false }` [INFO] [stdout] d8edaab61aec48df4a9b6c0488522990458cf551ff48fb5fa5767299d258f23a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+9fa580b1175018b0a276b0bc68f9827a106f7260" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b39976b636a326ff43ee1e3a338cf195d1c6d9a89ee4618b8f38b9d4bbe21d42 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b39976b636a326ff43ee1e3a338cf195d1c6d9a89ee4618b8f38b9d4bbe21d42", kill_on_drop: false }` [INFO] [stderr] Checking rust_book_exercises v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 74 | return x; [INFO] [stdout] | -------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 77 | x + 1 [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | let x = 5; [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: unused variable: `x` [INFO] [stdout] --> src/main.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | let (x, y, roneesh) = (1, 2, 3); [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:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | let (x, y, roneesh) = (1, 2, 3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `roneesh` [INFO] [stdout] --> src/main.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let (x, y, roneesh) = (1, 2, 3); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_roneesh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/main.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | let z : i32 = 5; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `a` is assigned to, but never used [INFO] [stdout] --> src/main.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | let mut a = 5; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_a` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `a` is never read [INFO] [stdout] --> src/main.rs:10:2 [INFO] [stdout] | [INFO] [stdout] 10 | a = 10; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | let b: i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/main.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | let mut x: i32 = 1; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 37 | let x = x; [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:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | let y = 4; [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:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | let y = "I can also be bound to text!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/main.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let f : fn(i32) -> i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let f: fn(i32) -> i32 = plus_one; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `six` [INFO] [stdout] --> src/main.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let six = f(5); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_six` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | let x = true; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let x = 42; // x has type of i32 now [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:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let y = 1.0; // y has type of f64 now [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | let a = [1,2,3]; // array of types i32, 3 elements [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/main.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut m = [1,2,3]; //array of types i32, 3 elements, but it is mutable [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let a = [0; 20]; // arry of 20 i32 elements [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tup` [INFO] [stdout] --> src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let tup = (1, "hello"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tup2` [INFO] [stdout] --> src/main.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let tup2 : (i32, &str) = (1, "hello"); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tup2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | let (x,y,z) = (1, "hello", 3); [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:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | let (x,y,z) = (1, "hello", 3); [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:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let y = tuppy.1; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/main.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let z = tuppy.2; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/main.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let v = vec![1,2,3,4,5];// v: Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/main.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | let v2 = v; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let c : bool = flip(b); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/main.rs:287:10 [INFO] [stdout] | [INFO] [stdout] 287 | let (v1, v2, answer) = boo(v1, v2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/main.rs:287:14 [INFO] [stdout] | [INFO] [stdout] 287 | let (v1, v2, answer) = boo(v1, v2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `answer` [INFO] [stdout] --> src/main.rs:287:18 [INFO] [stdout] | [INFO] [stdout] 287 | let (v1, v2, answer) = boo(v1, v2); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `answer` [INFO] [stdout] --> src/main.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | let answer = noo(&v1, &v2); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `origin` [INFO] [stdout] --> src/main.rs:377:13 [INFO] [stdout] | [INFO] [stdout] 377 | let origin = Point(0,0,0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `black` [INFO] [stdout] --> src/main.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | let black = Color(0,0,0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_black` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `white` [INFO] [stdout] --> src/main.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | let white = Color(255,255,255); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_white` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/main.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | let length = Inches(10); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | let x = Electron; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/main.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 298 | fn noo(v1: &Vec, v2: &Vec) -> i32 { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/main.rs:298:27 [INFO] [stdout] | [INFO] [stdout] 298 | fn noo(v1: &Vec, v2: &Vec) -> i32 { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/main.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | fn change_color(r: i32, g: i32, b: i32) { println!("change_color()");} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/main.rs:448:29 [INFO] [stdout] | [INFO] [stdout] 448 | fn change_color(r: i32, g: i32, b: i32) { println!("change_color()");} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:448:37 [INFO] [stdout] | [INFO] [stdout] 448 | fn change_color(r: i32, g: i32, b: i32) { println!("change_color()");} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:449:20 [INFO] [stdout] | [INFO] [stdout] 449 | fn move_cursor(x: i32, y: i32) { println!("move()"); } [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:449:28 [INFO] [stdout] | [INFO] [stdout] 449 | fn move_cursor(x: i32, y: i32) { println!("move()"); } [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 74 | return x; [INFO] [stdout] | -------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 77 | x + 1 [INFO] [stdout] | ^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | let x = 5; [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: unused variable: `x` [INFO] [stdout] --> src/main.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | let (x, y, roneesh) = (1, 2, 3); [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:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | let (x, y, roneesh) = (1, 2, 3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `roneesh` [INFO] [stdout] --> src/main.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | let (x, y, roneesh) = (1, 2, 3); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_roneesh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/main.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | let z : i32 = 5; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `a` is assigned to, but never used [INFO] [stdout] --> src/main.rs:9:6 [INFO] [stdout] | [INFO] [stdout] 9 | let mut a = 5; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_a` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `a` is never read [INFO] [stdout] --> src/main.rs:10:2 [INFO] [stdout] | [INFO] [stdout] 10 | a = 10; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | let b: i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/main.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | let mut x: i32 = 1; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 37 | let x = x; [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:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | let y = 4; [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:40:6 [INFO] [stdout] | [INFO] [stdout] 40 | let y = "I can also be bound to text!"; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/main.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | let f : fn(i32) -> i32; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/main.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | let f: fn(i32) -> i32 = plus_one; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `six` [INFO] [stdout] --> src/main.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | let six = f(5); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_six` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | let x = true; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let x = 42; // x has type of i32 now [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:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | let y = 1.0; // y has type of f64 now [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | let a = [1,2,3]; // array of types i32, 3 elements [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/main.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut m = [1,2,3]; //array of types i32, 3 elements, but it is mutable [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let a = [0; 20]; // arry of 20 i32 elements [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tup` [INFO] [stdout] --> src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let tup = (1, "hello"); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_tup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tup2` [INFO] [stdout] --> src/main.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | let tup2 : (i32, &str) = (1, "hello"); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_tup2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | let (x,y,z) = (1, "hello", 3); [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:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | let (x,y,z) = (1, "hello", 3); [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:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let y = tuppy.1; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> src/main.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let z = tuppy.2; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/main.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | let v = vec![1,2,3,4,5];// v: Vec [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/main.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | let v2 = v; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let c : bool = flip(b); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/main.rs:287:10 [INFO] [stdout] | [INFO] [stdout] 287 | let (v1, v2, answer) = boo(v1, v2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/main.rs:287:14 [INFO] [stdout] | [INFO] [stdout] 287 | let (v1, v2, answer) = boo(v1, v2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `answer` [INFO] [stdout] --> src/main.rs:287:18 [INFO] [stdout] | [INFO] [stdout] 287 | let (v1, v2, answer) = boo(v1, v2); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `answer` [INFO] [stdout] --> src/main.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | let answer = noo(&v1, &v2); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_answer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `origin` [INFO] [stdout] --> src/main.rs:377:13 [INFO] [stdout] | [INFO] [stdout] 377 | let origin = Point(0,0,0); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_origin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `black` [INFO] [stdout] --> src/main.rs:380:9 [INFO] [stdout] | [INFO] [stdout] 380 | let black = Color(0,0,0); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_black` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `white` [INFO] [stdout] --> src/main.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | let white = Color(255,255,255); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_white` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/main.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | let length = Inches(10); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_length` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | let x = Electron; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/main.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 298 | fn noo(v1: &Vec, v2: &Vec) -> i32 { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/main.rs:298:27 [INFO] [stdout] | [INFO] [stdout] 298 | fn noo(v1: &Vec, v2: &Vec) -> i32 { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut m = [1,2,3]; //array of types i32, 3 elements, but it is mutable [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: `r` [INFO] [stdout] --> src/main.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | fn change_color(r: i32, g: i32, b: i32) { println!("change_color()");} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `g` [INFO] [stdout] --> src/main.rs:448:29 [INFO] [stdout] | [INFO] [stdout] 448 | fn change_color(r: i32, g: i32, b: i32) { println!("change_color()");} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_g` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:448:37 [INFO] [stdout] | [INFO] [stdout] 448 | fn change_color(r: i32, g: i32, b: i32) { println!("change_color()");} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:449:20 [INFO] [stdout] | [INFO] [stdout] 449 | fn move_cursor(x: i32, y: i32) { println!("move()"); } [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:449:28 [INFO] [stdout] | [INFO] [stdout] 449 | fn move_cursor(x: i32, y: i32) { println!("move()"); } [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `linesEnum` should have a snake case name [INFO] [stdout] --> src/main.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | let linesEnum = lines.enumerate(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `lines_enum` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `charsEnum` should have a snake case name [INFO] [stdout] --> src/main.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | let charsEnum = "hello world".chars().enumerate(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `chars_enum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `charNumber` should have a snake case name [INFO] [stdout] --> src/main.rs:190:10 [INFO] [stdout] | [INFO] [stdout] 190 | for (charNumber, charItem) in charsEnum { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `char_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `charItem` should have a snake case name [INFO] [stdout] --> src/main.rs:190:22 [INFO] [stdout] | [INFO] [stdout] 190 | for (charNumber, charItem) in charsEnum { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `char_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MessageWriter` should have a snake case name [INFO] [stdout] --> src/main.rs:424:8 [INFO] [stdout] | [INFO] [stdout] 424 | fn MessageWriter(x: String) -> Message { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `message_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `x:` in this pattern is redundant [INFO] [stdout] --> src/main.rs:455:27 [INFO] [stdout] | [INFO] [stdout] 455 | Message::Move{x: x, y: y} => move_cursor(x,y), [INFO] [stdout] | ^^^^ help: use shorthand field pattern: `x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `y:` in this pattern is redundant [INFO] [stdout] --> src/main.rs:455:33 [INFO] [stdout] | [INFO] [stdout] 455 | Message::Move{x: x, y: y} => move_cursor(x,y), [INFO] [stdout] | ^^^^ help: use shorthand field pattern: `y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let mut m = [1,2,3]; //array of types i32, 3 elements, but it is mutable [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: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `foo` [INFO] [stdout] --> src/main.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn foo() { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `foo` [INFO] [stdout] --> src/main.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | {fn foo(x: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `foo` [INFO] [stdout] --> src/main.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | {fn foo(x: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `diverges` [INFO] [stdout] --> src/main.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | fn diverges() -> ! { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/main.rs:404:9 [INFO] [stdout] | [INFO] [stdout] 404 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/main.rs:413:9 [INFO] [stdout] | [INFO] [stdout] 413 | Move { squares: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `linesEnum` should have a snake case name [INFO] [stdout] --> src/main.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | let linesEnum = lines.enumerate(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `lines_enum` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `charsEnum` should have a snake case name [INFO] [stdout] --> src/main.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | let charsEnum = "hello world".chars().enumerate(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `chars_enum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `charNumber` should have a snake case name [INFO] [stdout] --> src/main.rs:190:10 [INFO] [stdout] | [INFO] [stdout] 190 | for (charNumber, charItem) in charsEnum { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `char_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `charItem` should have a snake case name [INFO] [stdout] --> src/main.rs:190:22 [INFO] [stdout] | [INFO] [stdout] 190 | for (charNumber, charItem) in charsEnum { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `char_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `MessageWriter` should have a snake case name [INFO] [stdout] --> src/main.rs:424:8 [INFO] [stdout] | [INFO] [stdout] 424 | fn MessageWriter(x: String) -> Message { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `message_writer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `x:` in this pattern is redundant [INFO] [stdout] --> src/main.rs:455:27 [INFO] [stdout] | [INFO] [stdout] 455 | Message::Move{x: x, y: y} => move_cursor(x,y), [INFO] [stdout] | ^^^^ help: use shorthand field pattern: `x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `y:` in this pattern is redundant [INFO] [stdout] --> src/main.rs:455:33 [INFO] [stdout] | [INFO] [stdout] 455 | Message::Move{x: x, y: y} => move_cursor(x,y), [INFO] [stdout] | ^^^^ help: use shorthand field pattern: `y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.63s [INFO] running `Command { std: "docker" "inspect" "b39976b636a326ff43ee1e3a338cf195d1c6d9a89ee4618b8f38b9d4bbe21d42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b39976b636a326ff43ee1e3a338cf195d1c6d9a89ee4618b8f38b9d4bbe21d42", kill_on_drop: false }` [INFO] [stdout] b39976b636a326ff43ee1e3a338cf195d1c6d9a89ee4618b8f38b9d4bbe21d42