[INFO] cloning repository https://github.com/zongzi531/rust-learning
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zongzi531/rust-learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzongzi531%2Frust-learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzongzi531%2Frust-learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dcf7c60aecad6474095e9df0da0409a19ff70b09
[INFO] checking zongzi531/rust-learning against d0ab665d12770dbaae620b539ee4319b83445f45 for pr-133502-25
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzongzi531%2Frust-learning" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zongzi531/rust-learning
[INFO] finished tweaking git repo https://github.com/zongzi531/rust-learning
[INFO] tweaked toml for git repo https://github.com/zongzi531/rust-learning written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zongzi531/rust-learning on toolchain d0ab665d12770dbaae620b539ee4319b83445f45
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zongzi531/rust-learning 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" "+d0ab665d12770dbaae620b539ee4319b83445f45" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9
[INFO] running `Command { std: "docker" "start" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking utf8_slice v1.0.0
[INFO] [stderr]     Checking rust-learning v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `manager` is never read
[INFO] [stdout]  --> src/bin/lifetime-advance-6.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Interface<'b, 'a: 'b> {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 3 |   manager: &'b mut Manager<'a>
[INFO] [stdout]   |   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/bin/compound-types-string-1.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   let s: &str = "hello, world";
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/pattern-match-match-iflet-8.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   Qux(u32)
[INFO] [stdout]   |   --- ^^^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 5 -   Qux(u32)
[INFO] [stdout] 5 +   Qux(())
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bar` and `Baz` are never constructed
[INFO] [stdout]  --> src/bin/pattern-match-match-iflet-8.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | enum Foo {
[INFO] [stdout]   |      --- variants in this enum
[INFO] [stdout] 3 |   Bar,
[INFO] [stdout]   |   ^^^
[INFO] [stdout] 4 |   Baz,
[INFO] [stdout]   |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]  --> src/bin/compound-types-string-8.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   let s1: &str = &s;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]  --> src/bin/compound-types-enum-1.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Number {
[INFO] [stdout]   |      ------ variants in this enum
[INFO] [stdout] 4 |   Zero,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 5 |   One,
[INFO] [stdout] 6 |   Two,
[INFO] [stdout]   |   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/compound-types-enum-1.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum Number1 {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 10 |   Zero = 0,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 11 |   One,
[INFO] [stdout] 12 |   Two,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/compound-types-enum-1.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Number2 {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 17 |   Zero = 0,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 18 |   One = 1,
[INFO] [stdout] 19 |   Two = 2,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arrays`
[INFO] [stdout]  --> src/bin/generics-traits-const-generics-1.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let arrays = [
[INFO] [stdout]   |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_arrays`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]  --> src/bin/generics-traits-const-generics-1.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Array<T, const N: usize> {
[INFO] [stdout]   |        ----- field in this struct
[INFO] [stdout] 4 |   data : [T; N]
[INFO] [stdout]   |   ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CliError` is never used
[INFO] [stdout]  --> src/bin/type-conversions-from-into-3.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum CliError {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_and_parse_file` is never used
[INFO] [stdout]   --> src/bin/type-conversions-from-into-3.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn open_and_parse_file(file_name: &str) -> Result<i32, CliError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_on_ref_zero` is never used
[INFO] [stdout]  --> src/bin/lifetime-advance-4.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn call_on_ref_zero<F>(f: F) where for<'a> F: Fn(&'a i32) {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]  --> src/bin/compound-types-tuple-1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let t: (u8, u16, i64, &str, String) = (1u8, 2u16, 3i64, "hello", String::from(", world"));
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]  --> src/bin/type-conversions-as-1.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let c1: char = decimal as u8 as char;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]  --> src/bin/type-conversions-as-1.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let c2 = integer as char;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/bin/method-6.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |       match (*self) {
[INFO] [stdout]    |             ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 12 -       match (*self) {
[INFO] [stdout] 12 +       match *self {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]  --> src/bin/compound-types-enum-5.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 |   if let n = six {
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]   = help: consider replacing the `if let` with a `let`
[INFO] [stdout]   = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Red` and `Green` are never constructed
[INFO] [stdout]  --> src/bin/method-6.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum TrafficLightColor {
[INFO] [stdout]   |      ----------------- variants in this enum
[INFO] [stdout] 4 |     Red,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 5 |     Yellow,
[INFO] [stdout] 6 |     Green,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TrafficLightColor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `none`
[INFO] [stdout]  --> src/bin/compound-types-enum-5.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let none = plus_one(None);
[INFO] [stdout]   |       ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `None`
[INFO] [stdout]   |
[INFO] [stdout] 6 -   let none = plus_one(None);
[INFO] [stdout] 6 +   let std::prelude::v1::None = plus_one(None);
[INFO] [stdout]   |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let _none = plus_one(None);
[INFO] [stdout]   |       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i3`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 |  let i3: u32 = 'a'.into();
[INFO] [stdout]    |      ^^ help: if this is intentional, prefix it with an underscore: `_i3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 |  let s: String = 'a'.into();
[INFO] [stdout]    |      ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i3_`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 |  let i3_: u32 = 'a' as u32 ;
[INFO] [stdout]    |      ^^^ help: if this is intentional, prefix it with an underscore: `_i3_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 |  let s_: String = String::from('a');
[INFO] [stdout]    |      ^^ help: if this is intentional, prefix it with an underscore: `_s_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportantExcerpt` is never constructed
[INFO] [stdout]  --> src/bin/lifetime-advance-2.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct ImportantExcerpt<'a> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `announce_and_return_part` is never used
[INFO] [stdout]  --> src/bin/lifetime-advance-2.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl<'a: 'b, 'b> ImportantExcerpt<'a> {
[INFO] [stdout]   | ------------------------------------- method in this implementation
[INFO] [stdout] 7 |   fn announce_and_return_part(&'a self, announcement: &'b str) -> &'b str {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/flow-control-11.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 |       'inner2: loop {
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]  --> src/bin/result-panic-panic-2.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let ele = v[2];
[INFO] [stdout]   |       ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]  --> src/bin/result-panic-panic-2.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let ele = v.get(2).unwrap();
[INFO] [stdout]   |       ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/result-panic-panic-2.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let v = production_rate_per_hour(2);
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s1`
[INFO] [stdout]  --> src/bin/compound-types-slice-1.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   let s1: &[i32] = &arr[0..2];
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_s1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s2`
[INFO] [stdout]  --> src/bin/compound-types-slice-1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let s2: &str = "hello, world" as &str;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/bin/basic-types-functions-5.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let v = match b {
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/ownership-borrowing-9.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn borrow_object(s: &String) {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u2`
[INFO] [stdout]   --> src/bin/compound-types-struct-6.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 |   let u2 = set_email(u1);
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_u2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active`, `username`, `email`, and `sign_in_count` are never read
[INFO] [stdout]  --> src/bin/compound-types-struct-6.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct User {
[INFO] [stdout]   |        ---- fields in this struct
[INFO] [stdout] 4 |   active: bool,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 5 |   username: String,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 6 |   email: String,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 7 |   sign_in_count: u64,
[INFO] [stdout]   |   ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/lifetime-basic-6.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Borrowed<'a>(&'a i32);
[INFO] [stdout]   |        --------     ^^^^^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Borrowed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/lifetime-basic-6.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct NamedBorrowed<'a> {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 10 |     x: &'a i32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 11 |     y: &'a i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NamedBorrowed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/lifetime-basic-6.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Num(i32),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Either` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 16 -     Num(i32),
[INFO] [stdout] 16 +     Num(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/lifetime-basic-6.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Ref(&'a i32),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Either` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 17 -     Ref(&'a i32),
[INFO] [stdout] 17 +     Ref(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/ownership-borrowing-7.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   let mut s = String::from("hello");
[INFO] [stdout]   |       ----^
[INFO] [stdout]   |       |
[INFO] [stdout]   |       help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/bin/generics-traits-trait-object-1.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Swan {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 14 |   fn fly(&self) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_output` is never used
[INFO] [stdout]   --> src/bin/lifetime-basic-4.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn invalid_output<'a>(s: &'a String) -> &'a String { 
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Result`
[INFO] [stdout]  --> src/bin/crate-module-use-pub-1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Result as IoResult`
[INFO] [stdout]  --> src/bin/crate-module-use-pub-1.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Result as IoResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quit`, `Write`, and `ChangeColor` are never constructed
[INFO] [stdout]  --> src/bin/compound-types-enum-3.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Message {
[INFO] [stdout]   |      ------- variants in this enum
[INFO] [stdout] 4 |   Quit,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 5 |   Move { x: i32, y: i32 },
[INFO] [stdout] 6 |   Write(String),
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 7 |   ChangeColor(i32, i32, i32),
[INFO] [stdout]   |   ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::str::from_utf8` with an invalid literal always return an error
[INFO] [stdout]   --> src/bin/compound-types-string-10-1.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let shift_jis = b"\x82\xe6\x82\xa8\x82\xb1\x82\xbb"; // "ようこそ" in SHIFT-JIS
[INFO] [stdout]    |                     ----------------------------------- the literal was valid UTF-8 up to the 0 bytes
[INFO] [stdout] ...
[INFO] [stdout] 34 |     match str::from_utf8(shift_jis) {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(invalid_from_utf8)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u`
[INFO] [stdout]   --> src/bin/compound-types-struct-2.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn do_something_with_unit(u: Unit) {   }
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_u`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SomeTrait` is never used
[INFO] [stdout]  --> src/bin/compound-types-struct-2.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | trait SomeTrait {
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]  --> src/bin/flow-control-8.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   for i in 0..=100 {
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `content` is never read
[INFO] [stdout]   --> src/bin/generics-traits-traits-5.rs:12:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct Post {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |   content: String,
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Post` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/ownership-borrowing-3.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   let mut s = String::from("hello, ");
[INFO] [stdout]   |       ----^
[INFO] [stdout]   |       |
[INFO] [stdout]   |       help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/bin/ownership-borrowing-3.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn borrow_object(s: &String) {}
[INFO] [stdout]   |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]  --> src/bin/compound-types-tuple-5.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 |   let (x, y, z): (i32, i32, i32);
[INFO] [stdout]   |        ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]  --> src/bin/compound-types-tuple-5.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |   let (x, y, z): (i32, i32, i32);
[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/bin/compound-types-tuple-5.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |   let (x, y, z): (i32, i32, i32);
[INFO] [stdout]   |              ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]   --> src/bin/generics-traits-generics-4.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let p = Point{x: 5, y : "hello".to_string()};
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> src/bin/generics-traits-generics-4.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Point<T, U> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 4 |   x: T,
[INFO] [stdout]   |   ^
[INFO] [stdout] 5 |   y: U,
[INFO] [stdout]   |   ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `i` should have an upper case name
[INFO] [stdout]   --> src/bin/lifetime-static-5.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 |     const i: i32 = 5;
[INFO] [stdout]    |           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 19 -     const i: i32 = 5;
[INFO] [stdout] 19 +     const I: i32 = 5;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/bin/compound-types-string-1.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   let s: &str = "hello, world";
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]  --> src/bin/compound-types-enum-1.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Number {
[INFO] [stdout]   |      ------ variants in this enum
[INFO] [stdout] 4 |   Zero,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 5 |   One,
[INFO] [stdout] 6 |   Two,
[INFO] [stdout]   |   ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/compound-types-enum-1.rs:10:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | enum Number1 {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 10 |   Zero = 0,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 11 |   One,
[INFO] [stdout] 12 |   Two,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Zero` and `Two` are never constructed
[INFO] [stdout]   --> src/bin/compound-types-enum-1.rs:17:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum Number2 {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 17 |   Zero = 0,
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 18 |   One = 1,
[INFO] [stdout] 19 |   Two = 2,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/collections-vector-1.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn is_vec(v: &Vec<u8>) {}
[INFO] [stdout]    |           ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]  --> src/bin/ownership-borrowing-11.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   let r1 = &mut s;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r2`
[INFO] [stdout]  --> src/bin/ownership-borrowing-11.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let r2 = &mut s;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_r2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/bin/pattern-match-match-iflet-7.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 |   if let Foo::Bar(i) = a {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CliError` is never used
[INFO] [stdout]  --> src/bin/type-conversions-from-into-3.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum CliError {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_and_parse_file` is never used
[INFO] [stdout]   --> src/bin/type-conversions-from-into-3.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn open_and_parse_file(file_name: &str) -> Result<i32, CliError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/bin/type-conversions-as-2.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let v = 1000 as u8;
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]  --> src/bin/flow-control-4.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   for name in &names {
[INFO] [stdout]   |       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]  --> src/bin/compound-types-tuple-1.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let t: (u8, u16, i64, &str, String) = (1u8, 2u16, 3i64, "hello", String::from(", world"));
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bin/flow-control-4.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |   for n in numbers {
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `y` is assigned to, but never used
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn f<'a: 'b, 'b>(x: &'a i32, mut y: &'b i32) {
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider using `_y` instead
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   let r: &'b &'a i32 = &&0;   
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:3:3
[INFO] [stdout]   |
[INFO] [stdout] 3 |   y = x;                      
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout]   = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `y` is assigned to, but never used
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn f2<'a, 'b>(x: &'a i32, mut y: &'b i32) where 'a: 'b {
[INFO] [stdout]   |                           ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider using `_y` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 |   let r: &'b &'a i32 = &&0;   // &'b &'a i32 is well formed because 'a: 'b
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `y` is never read
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 |   y = x;                      // &'a i32 is a subtype of &'b i32 because 'a: 'b
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:2:4
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn f<'a: 'b, 'b>(x: &'a i32, mut y: &'b i32) {
[INFO] [stdout]   |    ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2` is never used
[INFO] [stdout]  --> src/bin/lifetime-advance-3.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn f2<'a, 'b>(x: &'a i32, mut y: &'b i32) where 'a: 'b {
[INFO] [stdout]   |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i3`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 |  let i3: u32 = 'a'.into();
[INFO] [stdout]    |      ^^ help: if this is intentional, prefix it with an underscore: `_i3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 |  let s: String = 'a'.into();
[INFO] [stdout]    |      ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i3_`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 |  let i3_: u32 = 'a' as u32 ;
[INFO] [stdout]    |      ^^^ help: if this is intentional, prefix it with an underscore: `_i3_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s_`
[INFO] [stdout]   --> src/bin/type-conversions-from-into-1.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 |  let s_: String = String::from('a');
[INFO] [stdout]    |      ^^ help: if this is intentional, prefix it with an underscore: `_s_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]  --> src/bin/result-panic-panic-2.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let ele = v[2];
[INFO] [stdout]   |       ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ele`
[INFO] [stdout]  --> src/bin/result-panic-panic-2.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   let ele = v.get(2).unwrap();
[INFO] [stdout]   |       ^^^ help: if this is intentional, prefix it with an underscore: `_ele`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/bin/result-panic-panic-2.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let v = production_rate_per_hour(2);
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangle` is never constructed
[INFO] [stdout]  --> src/bin/method-5.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Rectangle {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]  --> src/bin/method-5.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Rectangle {
[INFO] [stdout]   | -------------- method in this implementation
[INFO] [stdout] 9 |   fn area(&self) -> u32 {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_hold` is never used
[INFO] [stdout]   --> src/bin/method-5.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Rectangle {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 15 |   fn can_hold(&self, other: &Rectangle) -> bool {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/bin/ownership-borrowing-9.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn borrow_object(s: &String) {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]  --> src/bin/basic-types-functions-5.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let v = match b {
[INFO] [stdout]   |       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoubleRef` is never constructed
[INFO] [stdout]  --> src/bin/lifetime-advance-1.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct DoubleRef<'a, 'b: 'a,  T> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/pattern-match-match-iflet-3.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |   ChangeColor(i32, i32, i32),
[INFO] [stdout]   |   ----------- ^^^
[INFO] [stdout]   |   |
[INFO] [stdout]   |   field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 7 -   ChangeColor(i32, i32, i32),
[INFO] [stdout] 7 +   ChangeColor((), i32, i32),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Write` is never constructed
[INFO] [stdout]  --> src/bin/pattern-match-match-iflet-3.rs:6:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Message {
[INFO] [stdout]   |      ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 6 |   Write(String),
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u2`
[INFO] [stdout]   --> src/bin/compound-types-struct-6.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 |   let u2 = set_email(u1);
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_u2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active`, `username`, `email`, and `sign_in_count` are never read
[INFO] [stdout]  --> src/bin/compound-types-struct-6.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct User {
[INFO] [stdout]   |        ---- fields in this struct
[INFO] [stdout] 4 |   active: bool,
[INFO] [stdout]   |   ^^^^^^
[INFO] [stdout] 5 |   username: String,
[INFO] [stdout]   |   ^^^^^^^^
[INFO] [stdout] 6 |   email: String,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout] 7 |   sign_in_count: u64,
[INFO] [stdout]   |   ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/bin/lifetime-basic-6.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Borrowed<'a>(&'a i32);
[INFO] [stdout]   |        --------     ^^^^^^^
[INFO] [stdout]   |        |
[INFO] [stdout]   |        field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Borrowed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> src/bin/lifetime-basic-6.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | struct NamedBorrowed<'a> {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 10 |     x: &'a i32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 11 |     y: &'a i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NamedBorrowed` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/lifetime-basic-6.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Num(i32),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Either` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 16 -     Num(i32),
[INFO] [stdout] 16 +     Num(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/bin/lifetime-basic-6.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Ref(&'a i32),
[INFO] [stdout]    |     --- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Either` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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] 17 -     Ref(&'a i32),
[INFO] [stdout] 17 +     Ref(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrafficLight` is never constructed
[INFO] [stdout]  --> src/bin/method-3.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct TrafficLight {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `show_state` and `change_state` are never used
[INFO] [stdout]   --> src/bin/method-3.rs:7:10
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl TrafficLight {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout]  6 |   // 使用 `Self` 填空
[INFO] [stdout]  7 |   pub fn show_state(self: &Self)  {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |   pub fn change_state(mut self) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/bin/ownership-borrowing-7.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 |   let mut s = String::from("hello");
[INFO] [stdout]   |       ----^
[INFO] [stdout]   |       |
[INFO] [stdout]   |       help: remove this `mut`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fly` is never used
[INFO] [stdout]   --> src/bin/generics-traits-trait-object-1.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Swan {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 14 |   fn fly(&self) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `East`, `West`, and `North` are never constructed
[INFO] [stdout]  --> src/bin/pattern-match-match-iflet-1.rs:4:3
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Direction {
[INFO] [stdout]   |      --------- variants in this enum
[INFO] [stdout] 4 |   East,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 5 |   West,
[INFO] [stdout]   |   ^^^^
[INFO] [stdout] 6 |   North,
[INFO] [stdout]   |   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0001]: `-Znext-solver=globally` and `generic_const_exprs` are incompatible, using them at the same time is not allowed
[INFO] [stdout]  --> src/bin/generics-traits-const-generics-3.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(generic_const_exprs)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: remove one of these features
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0001`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-learning` (bin "generics-traits-const-generics-3" test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/bin/generics-traits-traits-8.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl<T> Pair<T> {
[INFO] [stdout]   | --------------- associated function in this implementation
[INFO] [stdout] 8 |   fn new(x: T, y: T) -> Self {
[INFO] [stdout]   |      ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_output` is never used
[INFO] [stdout]   --> src/bin/lifetime-basic-4.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn invalid_output<'a>(s: &'a String) -> &'a String { 
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9", kill_on_drop: false }`
[INFO] [stdout] 8d5fd68d80ad351da63bbf9e2a49604eb884c123317078a44d13acc36583c0e9
