[INFO] cloning repository https://github.com/linmingjie1/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/linmingjie1/rust-learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinmingjie1%2Frust-learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinmingjie1%2Frust-learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3a7d5ae92c777a47745d4a58310c5f2941666978
[INFO] checking linmingjie1/rust-learning against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flinmingjie1%2Frust-learning" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/linmingjie1/rust-learning
[INFO] finished tweaking git repo https://github.com/linmingjie1/rust-learning
[INFO] tweaked toml for git repo https://github.com/linmingjie1/rust-learning written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/linmingjie1/rust-learning on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/linmingjie1/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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 39801b523332ab157cba71f6e96e3caf5ce98423a3026ce2b6d83911a003ce42
[INFO] running `Command { std: "docker" "start" "-a" "39801b523332ab157cba71f6e96e3caf5ce98423a3026ce2b6d83911a003ce42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39801b523332ab157cba71f6e96e3caf5ce98423a3026ce2b6d83911a003ce42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39801b523332ab157cba71f6e96e3caf5ce98423a3026ce2b6d83911a003ce42", kill_on_drop: false }`
[INFO] [stdout] 39801b523332ab157cba71f6e96e3caf5ce98423a3026ce2b6d83911a003ce42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bfb87ecde40576bafce006809d128adf705bce0fe51aed46579c943832738d32
[INFO] running `Command { std: "docker" "start" "-a" "bfb87ecde40576bafce006809d128adf705bce0fe51aed46579c943832738d32", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking rand_core v0.10.0
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking hello_macro v0.1.0 (/opt/rustwide/workdir/hello_macro)
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking syn v2.0.115
[INFO] [stderr]     Checking rand v0.10.0
[INFO] [stderr]     Checking hello_macro_derive v0.1.0 (/opt/rustwide/workdir/hello_macro_derive)
[INFO] [stderr]     Checking rust-tutorial v0.1.0 (/opt/rustwide/workdir/tutorial)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut v = vec![1, 2, 3, 4, 5];
[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: `row`
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let row = vec![
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[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]   --> tutorial/src/modules/string.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let s = data.to_string();
[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]   --> tutorial/src/modules/string.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let s = "initial contents".to_string();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let data = s.as_str(); // 将 String 转换为 &str
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let a: char = 'A';     // 4 字节
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zh`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let zh: char = '中';   // 4 字节
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_zh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `emoji`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let emoji: char = '😀'; // 4 字节。在 Java 中，需两个 UTF-16 编码单元（代理对），字节数为 4 字节（2×2 字节）
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_emoji`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scores`
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let f = File::open(file_path).unwrap();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let f = File::open(file_path).expect("Failed to open the file");
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let integer = Point { x: 1, y: 2 };
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let float = Point { x: 1.0, y: 2.0 };
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> tutorial/src/modules/trait_test.rs:69:62
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn notify4<T: Summary + Display, U: Clone + Debug>(a: T, b: U) -> String {
[INFO] [stdout]    |                                                              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> tutorial/src/modules/trait_test.rs:73:28
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn notify5<T, U>(a: T, b: U) -> String
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:31:29
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn longest2<'a>(x: &'a str, y: &str) -> &'a str {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn longest3<'a>(x: &'a str, y: &'a str) -> String {
[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]   --> tutorial/src/modules/lifecycle.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn longest3<'a>(x: &'a str, y: &'a str) -> String {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let i = ImportantExcerpt {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let s: &'static str = "I have a static lifetime.";
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_one_v1`
[INFO] [stdout]  --> tutorial/src/modules/closure.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let add_one_v1 = |x: i32| -> i32 { x + 1 };
[INFO] [stdout]   |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_one_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> tutorial/src/modules/pub_use.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> tutorial/src/modules/pub_use.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> tutorial/src/demo/guess.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn main() {
[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 `test2` is never used
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_vec` is never used
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn enum_vec() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example` is never used
[INFO] [stdout]   --> tutorial/src/modules/string.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn example() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2` is never used
[INFO] [stdout]   --> tutorial/src/modules/string.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn example2() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn demo () {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update` is never used
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn update() {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update2` is never used
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn update2() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> tutorial/src/modules/panic_test.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn test1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn read_username_from_file() -> Result<String, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_short` is never used
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn read_username_from_file_short() -> Result<String, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> tutorial/src/modules/generics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Point<T> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 3 |     x: T,
[INFO] [stdout]   |     ^
[INFO] [stdout] 4 |     y: T,
[INFO] [stdout]   |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]  --> tutorial/src/modules/generics.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl<T> Point<T> {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 8 |     fn x(&self) -> &T {
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `y` is never used
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Point<f32> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 13 |     fn y(&self) -> f32 {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Option` is never used
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Option<T> {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Result` is never used
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Result<T, E> {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]   --> tutorial/src/modules/trait_test.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_test` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn longest_test () {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest2` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn longest2<'a>(x: &'a str, y: &str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest3` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn longest3<'a>(x: &'a str, y: &'a str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_struct` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn test_struct() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_struct2` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn test_struct2() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `level` and `announce_and_return_part` are never used
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn level(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `static_lifetime` is never used
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn static_lifetime() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_with_announcement` is never used
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn longest_with_announcement<'a, T>(x: &'a str, y: &'a str, ann: T) -> &'a str
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Rectangle` is never constructed
[INFO] [stdout]  --> tutorial/src/modules/test.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Rectangle {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]   = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Guess` is never constructed
[INFO] [stdout]   --> tutorial/src/modules/test.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Guess {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tutorial/src/modules/test.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Guess {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(value: i32) -> Guess {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-tutorial` (lib) due to 1 previous error; 51 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut v = vec![1, 2, 3, 4, 5];
[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: `row`
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let row = vec![
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_row`
[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]   --> tutorial/src/modules/string.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let s = data.to_string();
[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]   --> tutorial/src/modules/string.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let s = "initial contents".to_string();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let data = s.as_str(); // 将 String 转换为 &str
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let a: char = 'A';     // 4 字节
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zh`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let zh: char = '中';   // 4 字节
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_zh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `emoji`
[INFO] [stdout]   --> tutorial/src/modules/string.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let emoji: char = '😀'; // 4 字节。在 Java 中，需两个 UTF-16 编码单元（代理对），字节数为 4 字节（2×2 字节）
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_emoji`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scores`
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let scores: HashMap<_, _> = teams.iter().zip(initial_scores.iter()).collect();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_scores`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let f = File::open(file_path).unwrap();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let f = File::open(file_path).expect("Failed to open the file");
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `integer`
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let integer = Point { x: 1, y: 2 };
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `float`
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let float = Point { x: 1.0, y: 2.0 };
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> tutorial/src/modules/trait_test.rs:69:62
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn notify4<T: Summary + Display, U: Clone + Debug>(a: T, b: U) -> String {
[INFO] [stdout]    |                                                              ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> tutorial/src/modules/trait_test.rs:73:28
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn notify5<T, U>(a: T, b: U) -> String
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:31:29
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn longest2<'a>(x: &'a str, y: &str) -> &'a str {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn longest3<'a>(x: &'a str, y: &'a str) -> String {
[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]   --> tutorial/src/modules/lifecycle.rs:46:29
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn longest3<'a>(x: &'a str, y: &'a str) -> String {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let i = ImportantExcerpt {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let s: &'static str = "I have a static lifetime.";
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_one_v1`
[INFO] [stdout]  --> tutorial/src/modules/closure.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let add_one_v1 = |x: i32| -> i32 { x + 1 };
[INFO] [stdout]   |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_one_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> tutorial/src/modules/pub_use.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> tutorial/src/modules/pub_use.rs:36:32
[INFO] [stdout]    |
[INFO] [stdout] 36 |   pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
[INFO] [stdout]    |                                ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> tutorial/src/demo/guess.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn main() {
[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 `test2` is never used
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn test2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enum_vec` is never used
[INFO] [stdout]   --> tutorial/src/modules/vector.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn enum_vec() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example` is never used
[INFO] [stdout]   --> tutorial/src/modules/string.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn example() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2` is never used
[INFO] [stdout]   --> tutorial/src/modules/string.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn example2() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `demo` is never used
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn demo () {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update` is never used
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn update() {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update2` is never used
[INFO] [stdout]   --> tutorial/src/modules/hashmap.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn update2() {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> tutorial/src/modules/panic_test.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn test1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file` is never used
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn read_username_from_file() -> Result<String, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_username_from_file_short` is never used
[INFO] [stdout]   --> tutorial/src/modules/panic_test.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn read_username_from_file_short() -> Result<String, std::io::Error> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]  --> tutorial/src/modules/generics.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Point<T> {
[INFO] [stdout]   |        ----- fields in this struct
[INFO] [stdout] 3 |     x: T,
[INFO] [stdout]   |     ^
[INFO] [stdout] 4 |     y: T,
[INFO] [stdout]   |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `x` is never used
[INFO] [stdout]  --> tutorial/src/modules/generics.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl<T> Point<T> {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 8 |     fn x(&self) -> &T {
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `y` is never used
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Point<f32> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 13 |     fn y(&self) -> f32 {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Option` is never used
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | enum Option<T> {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Result` is never used
[INFO] [stdout]   --> tutorial/src/modules/generics.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum Result<T, E> {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest` is never used
[INFO] [stdout]   --> tutorial/src/modules/trait_test.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_test` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn longest_test () {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest2` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn longest2<'a>(x: &'a str, y: &str) -> &'a str {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest3` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn longest3<'a>(x: &'a str, y: &'a str) -> String {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_struct` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn test_struct() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_struct2` is never used
[INFO] [stdout]   --> tutorial/src/modules/lifecycle.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn test_struct2() {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `level` and `announce_and_return_part` are never used
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl<'a> ImportantExcerpt<'a> {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn level(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn announce_and_return_part(&self, announcement: &str) -> &str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `static_lifetime` is never used
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn static_lifetime() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longest_with_announcement` is never used
[INFO] [stdout]    --> tutorial/src/modules/lifecycle.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn longest_with_announcement<'a, T>(x: &'a str, y: &'a str, ann: T) -> &'a str
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> tutorial/src/modules/test.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Guess {
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 20 |     value: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "bfb87ecde40576bafce006809d128adf705bce0fe51aed46579c943832738d32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bfb87ecde40576bafce006809d128adf705bce0fe51aed46579c943832738d32", kill_on_drop: false }`
[INFO] [stdout] bfb87ecde40576bafce006809d128adf705bce0fe51aed46579c943832738d32
