[INFO] cloning repository https://github.com/xianhu/hello-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xianhu/hello-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxianhu%2Fhello-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxianhu%2Fhello-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eaf4f04ded05f2b5de02f91969e9a1493becfc83 [INFO] checking xianhu/hello-rust against master#17ffbc81a30c094193836a5d7f90dff273b5df93 for pr-138785 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxianhu%2Fhello-rust" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/xianhu/hello-rust on toolchain 17ffbc81a30c094193836a5d7f90dff273b5df93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+17ffbc81a30c094193836a5d7f90dff273b5df93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/xianhu/hello-rust [INFO] finished tweaking git repo https://github.com/xianhu/hello-rust [INFO] tweaked toml for git repo https://github.com/xianhu/hello-rust written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/xianhu/hello-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" "+17ffbc81a30c094193836a5d7f90dff273b5df93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+17ffbc81a30c094193836a5d7f90dff273b5df93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1577a06c4010c697e0489ba15b9ad60dea9d9ab5016bb7e9336156bd2de91b34 [INFO] running `Command { std: "docker" "start" "-a" "1577a06c4010c697e0489ba15b9ad60dea9d9ab5016bb7e9336156bd2de91b34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1577a06c4010c697e0489ba15b9ad60dea9d9ab5016bb7e9336156bd2de91b34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1577a06c4010c697e0489ba15b9ad60dea9d9ab5016bb7e9336156bd2de91b34", kill_on_drop: false }` [INFO] [stdout] 1577a06c4010c697e0489ba15b9ad60dea9d9ab5016bb7e9336156bd2de91b34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+17ffbc81a30c094193836a5d7f90dff273b5df93" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0a50b80885da557df3b0f0fc9459b3f9021da86e9da339fe85d14e724adf2a72 [INFO] running `Command { std: "docker" "start" "-a" "0a50b80885da557df3b0f0fc9459b3f9021da86e9da339fe85d14e724adf2a72", kill_on_drop: false }` [INFO] [stderr] Checking hello-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> src/main.rs:561:5 [INFO] [stdout] | [INFO] [stdout] 561 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64::consts::PI` [INFO] [stdout] --> src/main.rs:561:5 [INFO] [stdout] | [INFO] [stdout] 561 | use std::f64::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:578:5 [INFO] [stdout] | [INFO] [stdout] 577 | panic!("error occured"); [INFO] [stdout] | ----------------------- any code following this expression is unreachable [INFO] [stdout] 578 | println!("Hello, Rust"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:578:5 [INFO] [stdout] | [INFO] [stdout] 577 | panic!("error occured"); [INFO] [stdout] | ----------------------- any code following this expression is unreachable [INFO] [stdout] 578 | println!("Hello, Rust"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `>` cannot be applied to type `T` [INFO] [stdout] --> src/main.rs:639:21 [INFO] [stdout] | [INFO] [stdout] 639 | if array[i] > array[max_index] { [INFO] [stdout] | -------- ^ ---------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialOrd` [INFO] [stdout] | [INFO] [stdout] 635 | fn max1(array: &[T]) -> T { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `>` cannot be applied to type `T` [INFO] [stdout] --> src/main.rs:639:21 [INFO] [stdout] | [INFO] [stdout] 639 | if array[i] > array[max_index] { [INFO] [stdout] | -------- ^ ---------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` with trait `PartialOrd` [INFO] [stdout] | [INFO] [stdout] 635 | fn max1(array: &[T]) -> T { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let a = 123; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let a = 123; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `a1` is assigned to, but never used [INFO] [stdout] --> src/main.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | let mut a1 = 123; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_a1` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `a1` is assigned to, but never used [INFO] [stdout] --> src/main.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | let mut a1 = 123; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_a1` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `a1` is never read [INFO] [stdout] --> src/main.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | a1 = 456; [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: value assigned to `a1` is never read [INFO] [stdout] --> src/main.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | a1 = 456; [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: `a1` [INFO] [stdout] --> src/main.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let a1 = 123; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_a1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a1` [INFO] [stdout] --> src/main.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let a1 = 123; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_a1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a1` [INFO] [stdout] --> src/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let a1 = "abc"; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_a1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let x = 2.0; // f64 [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:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let y: f32 = 3.0; // f32 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let sum = 5 + 10; // 加 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `difference` [INFO] [stdout] --> src/main.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let difference = 95.5 - 4.3; // 减 [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_difference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `product` [INFO] [stdout] --> src/main.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let product = 4 * 30; // 乘 [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `quotient` [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let quotient = 56.7 / 32.2; // 除 [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quotient` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/main.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let remainder = 43 % 5; // 求余 [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b1` [INFO] [stdout] --> src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let b1 = true; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b2` [INFO] [stdout] --> src/main.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let b2 = false; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_b2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | let (x, y, z) = tup; [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:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | let (x, y, z) = tup; [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:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let (x, y, z) = tup; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let a = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let mut a = [1, 2, 3, 4]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let b = ["January", "February", "March"]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let c: [i32; 5] = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/main.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let d = [3; 5]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut a = [1, 2, 3, 4]; [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: `a1` [INFO] [stdout] --> src/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let a1 = "abc"; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_a1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | let x = 2.0; // f64 [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:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | let y: f32 = 3.0; // f32 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sum` [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let sum = 5 + 10; // 加 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sum` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `difference` [INFO] [stdout] --> src/main.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 64 | let difference = 95.5 - 4.3; // 减 [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_difference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `product` [INFO] [stdout] --> src/main.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | let product = 4 * 30; // 乘 [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_product` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `quotient` [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let quotient = 56.7 / 32.2; // 除 [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quotient` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `remainder` [INFO] [stdout] --> src/main.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let remainder = 43 % 5; // 求余 [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remainder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b1` [INFO] [stdout] --> src/main.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let b1 = true; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_b1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b2` [INFO] [stdout] --> src/main.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let b2 = false; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_b2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/main.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | let (x, y, z) = tup; [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:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | let (x, y, z) = tup; [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:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let (x, y, z) = tup; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | let a = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let mut a = [1, 2, 3, 4]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/main.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | let b = ["January", "February", "March"]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/main.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let c: [i32; 5] = [1, 2, 3, 4, 5]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/main.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | let d = [3; 5]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | let mut a = [1, 2, 3, 4]; [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: `s2` [INFO] [stdout] --> src/main.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | let s2 = s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/main.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | let s1 = gives_ownership(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s3` [INFO] [stdout] --> src/main.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let s3 = takes_and_gives_back(s2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `s2` is never read [INFO] [stdout] --> src/main.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | let mut s2 = &s1; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/main.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | let r1 = &mut s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s2` [INFO] [stdout] --> src/main.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | let s2 = s1; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s1` [INFO] [stdout] --> src/main.rs:224:9 [INFO] [stdout] | [INFO] [stdout] 224 | let s1 = gives_ownership(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s3` [INFO] [stdout] --> src/main.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let s3 = takes_and_gives_back(s2); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `s2` is never read [INFO] [stdout] --> src/main.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | let mut s2 = &s1; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/main.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | let r1 = &mut s; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:293:9 [INFO] [stdout] | [INFO] [stdout] 293 | let mut s = String::from("runoob"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:293:9 [INFO] [stdout] | [INFO] [stdout] 293 | let mut s = String::from("runoob"); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runoob` [INFO] [stdout] --> src/main.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | let runoob = Site { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_runoob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `site` [INFO] [stdout] --> src/main.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | let site = Site { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_site` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `runoob` [INFO] [stdout] --> src/main.rs:317:9 [INFO] [stdout] | [INFO] [stdout] 317 | let runoob = Site { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_runoob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `book` [INFO] [stdout] --> src/main.rs:415:9 [INFO] [stdout] | [INFO] [stdout] 415 | let book = Book1::Papery(1001); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_book` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `site` [INFO] [stdout] --> src/main.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | let site = Site { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_site` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ebook` [INFO] [stdout] --> src/main.rs:416:9 [INFO] [stdout] | [INFO] [stdout] 416 | let ebook = Book1::Electronic(String::from("url://...")); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ebook` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `book` [INFO] [stdout] --> src/main.rs:415:9 [INFO] [stdout] | [INFO] [stdout] 415 | let book = Book1::Papery(1001); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_book` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `book` [INFO] [stdout] --> src/main.rs:423:9 [INFO] [stdout] | [INFO] [stdout] 423 | let book = Book2::Papery { index: 1001 }; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_book` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ebook` [INFO] [stdout] --> src/main.rs:416:9 [INFO] [stdout] | [INFO] [stdout] 416 | let ebook = Book1::Electronic(String::from("url://...")); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ebook` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `book` [INFO] [stdout] --> src/main.rs:423:9 [INFO] [stdout] | [INFO] [stdout] 423 | let book = Book2::Papery { index: 1001 }; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_book` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/main.rs:587:12 [INFO] [stdout] | [INFO] [stdout] 587 | Ok(file) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:590:13 [INFO] [stdout] | [INFO] [stdout] 590 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/main.rs:597:15 [INFO] [stdout] | [INFO] [stdout] 597 | if let Ok(file) = f { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f1` [INFO] [stdout] --> src/main.rs:604:9 [INFO] [stdout] | [INFO] [stdout] 604 | let f1 = File::open("hello.txt").unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f2` [INFO] [stdout] --> src/main.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | let f2 = File::open("hello.txt").expect("Failed to open."); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/main.rs:587:12 [INFO] [stdout] | [INFO] [stdout] 587 | Ok(file) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:590:13 [INFO] [stdout] | [INFO] [stdout] 590 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file` [INFO] [stdout] --> src/main.rs:597:15 [INFO] [stdout] | [INFO] [stdout] 597 | if let Ok(file) = f { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f1` [INFO] [stdout] --> src/main.rs:604:9 [INFO] [stdout] | [INFO] [stdout] 604 | let f1 = File::open("hello.txt").unwrap(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f2` [INFO] [stdout] --> src/main.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | let f2 = File::open("hello.txt").expect("Failed to open."); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `x` does not live long enough [INFO] [stdout] --> src/main.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 727 | let x = 5; [INFO] [stdout] | - binding `x` declared here [INFO] [stdout] 728 | r = &x; [INFO] [stdout] | ^^ borrowed value does not live long enough [INFO] [stdout] 729 | } [INFO] [stdout] | - `x` dropped here while still borrowed [INFO] [stdout] 730 | println!("r: {}", r); [INFO] [stdout] | - borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0597]: `x` does not live long enough [INFO] [stdout] --> src/main.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 727 | let x = 5; [INFO] [stdout] | - binding `x` declared here [INFO] [stdout] 728 | r = &x; [INFO] [stdout] | ^^ borrowed value does not live long enough [INFO] [stdout] 729 | } [INFO] [stdout] | - `x` dropped here while still borrowed [INFO] [stdout] 730 | println!("r: {}", r); [INFO] [stdout] | - borrow later used here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vector` [INFO] [stdout] --> src/main.rs:795:9 [INFO] [stdout] | [INFO] [stdout] 795 | let vector: Vec = Vec::new(); // 创建类型为 i32 的空向量 [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vector` [INFO] [stdout] --> src/main.rs:796:9 [INFO] [stdout] | [INFO] [stdout] 796 | let vector = vec![1, 2, 4, 8]; // 通过数组创建向量 [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/main.rs:829:9 [INFO] [stdout] | [INFO] [stdout] 829 | let string = String::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `one` [INFO] [stdout] --> src/main.rs:830:9 [INFO] [stdout] | [INFO] [stdout] 830 | let one = 1.to_string(); // 整数到字符串 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_one` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/main.rs:831:9 [INFO] [stdout] | [INFO] [stdout] 831 | let float = 1.3.to_string(); // 浮点数到字符串 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/main.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | let slice = "slice".to_string(); // 字符串切片到字符串 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s3` [INFO] [stdout] --> src/main.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | let s3 = s1 + &s2; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/main.rs:845:9 [INFO] [stdout] | [INFO] [stdout] 845 | let s = s1 + "-" + &s2 + "-" + &s3; [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:850:9 [INFO] [stdout] | [INFO] [stdout] 850 | let s = format!("{}-{}-{}", s1, s2, s3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/main.rs:853:9 [INFO] [stdout] | [INFO] [stdout] 853 | let len = s.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/main.rs:854:9 [INFO] [stdout] | [INFO] [stdout] 854 | let len = s.chars().count(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vector` [INFO] [stdout] --> src/main.rs:795:9 [INFO] [stdout] | [INFO] [stdout] 795 | let vector: Vec = Vec::new(); // 创建类型为 i32 的空向量 [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vector` [INFO] [stdout] --> src/main.rs:796:9 [INFO] [stdout] | [INFO] [stdout] 796 | let vector = vec![1, 2, 4, 8]; // 通过数组创建向量 [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/main.rs:829:9 [INFO] [stdout] | [INFO] [stdout] 829 | let string = String::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `one` [INFO] [stdout] --> src/main.rs:830:9 [INFO] [stdout] | [INFO] [stdout] 830 | let one = 1.to_string(); // 整数到字符串 [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_one` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/main.rs:831:9 [INFO] [stdout] | [INFO] [stdout] 831 | let float = 1.3.to_string(); // 浮点数到字符串 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/main.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | let slice = "slice".to_string(); // 字符串切片到字符串 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s3` [INFO] [stdout] --> src/main.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 840 | let s3 = s1 + &s2; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_s3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/main.rs:845:9 [INFO] [stdout] | [INFO] [stdout] 845 | let s = s1 + "-" + &s2 + "-" + &s3; [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:850:9 [INFO] [stdout] | [INFO] [stdout] 850 | let s = format!("{}-{}-{}", s1, s2, s3); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/main.rs:853:9 [INFO] [stdout] | [INFO] [stdout] 853 | let len = s.len(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/main.rs:854:9 [INFO] [stdout] | [INFO] [stdout] 854 | let len = s.chars().count(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:809:9 [INFO] [stdout] | [INFO] [stdout] 809 | let mut v = vec![1, 2, 4, 8]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:809:9 [INFO] [stdout] | [INFO] [stdout] 809 | let mut v = vec![1, 2, 4, 8]; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0369, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0369`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0369, E0597. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0369`. [INFO] [stdout] [INFO] [stderr] error: could not compile `hello-rust` (bin "hello-rust" test) due to 2 previous errors; 53 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `hello-rust` (bin "hello-rust") due to 2 previous errors; 53 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0a50b80885da557df3b0f0fc9459b3f9021da86e9da339fe85d14e724adf2a72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a50b80885da557df3b0f0fc9459b3f9021da86e9da339fe85d14e724adf2a72", kill_on_drop: false }` [INFO] [stdout] 0a50b80885da557df3b0f0fc9459b3f9021da86e9da339fe85d14e724adf2a72