[INFO] cloning repository https://github.com/yuan-yuan-jia/rustbasic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yuan-yuan-jia/rustbasic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuan-yuan-jia%2Frustbasic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuan-yuan-jia%2Frustbasic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f35faa522e6d799efa66db7ab523183c6461db8b
[INFO] testing yuan-yuan-jia/rustbasic against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuan-yuan-jia%2Frustbasic" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/yuan-yuan-jia/rustbasic
[INFO] finished tweaking git repo https://github.com/yuan-yuan-jia/rustbasic
[INFO] tweaked toml for git repo https://github.com/yuan-yuan-jia/rustbasic written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yuan-yuan-jia/rustbasic on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yuan-yuan-jia/rustbasic 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 242ca308039b44f11db3513f82d7f38a0c8656908955661b11c3e6287881c9eb
[INFO] running `Command { std: "docker" "start" "-a" "242ca308039b44f11db3513f82d7f38a0c8656908955661b11c3e6287881c9eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "242ca308039b44f11db3513f82d7f38a0c8656908955661b11c3e6287881c9eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "242ca308039b44f11db3513f82d7f38a0c8656908955661b11c3e6287881c9eb", kill_on_drop: false }`
[INFO] [stdout] 242ca308039b44f11db3513f82d7f38a0c8656908955661b11c3e6287881c9eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c1d929db8a4ee7e2c835b9e9c0eeaa01183495f7279e5e0ed01e9b4a6bed023d
[INFO] running `Command { std: "docker" "start" "-a" "c1d929db8a4ee7e2c835b9e9c0eeaa01183495f7279e5e0ed01e9b4a6bed023d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling demo_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/main.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let s = "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: unused variable: `s2`
[INFO] [stdout]  --> src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let s2 = String::from("Hello");
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::btree_map::Keys`
[INFO] [stdout]  --> bin/chapter28/chapter28_1.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::btree_map::Keys, panic, sync::{Arc, Mutex}, thread::{self, sleep}, time::Duration};
[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 doc comment
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     /// Send与Sync都是标记trait 无需实现方法
[INFO] [stdout]  98 | |     /// 实现了Send trait的类型T,其可以所有权可以在线程间移动
[INFO] [stdout]  99 | |     /// https://doc.rust-lang.org/std/marker/traitSend.html
[INFO] [stdout]     | |___________________________________________________________^
[INFO] [stdout] 100 |
[INFO] [stdout] 101 |       let s = String::from("你好");
[INFO] [stdout]     |       ----------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | /     /// Rc的线程安全版本，因为是原子操作进行引用计数，它不如Rc的性能
[INFO] [stdout] 118 | |     /// 它提供在堆中分配的T类型值的共享所有权，共享引用是不能修改，不能获得对Arc内部某些内容的可变引用，如果修改Arc里面的值，请使用Mutex、RwLock或Atomic
[INFO] [stdout]     | |________________________________________________________________________________________________________________________________________________________^
[INFO] [stdout] 119 |       let arc = std::sync::Arc::new([100,200,300]);
[INFO] [stdout]     |       --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | /     /// 实现了Sync的类型T，可以在线程间共享引用&T，其引用&T也实现了Send trait
[INFO] [stdout] 133 | |     /// 如果T实现了Sync，则&T实现了Send,如果&T实现了Send，则T实现了Sync
[INFO] [stdout] 134 | |     /// https://doc.rust-lang.org/std/marker/trait.Sync.html
[INFO] [stdout] 135 | |     /// 大部分类型都实现了Send/Sync 完全有Send/Sync类型组成的新类型会自动实现Send/Sync 自己手动实现是不安全的，涉及unsafe编程，...
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     /// Weak<T> 实现了Send，没有实现Sync
[INFO] [stdout] 140 | |     /// Cell<T>/OnceCell<T> /RefCell<T>没有实现Sync
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 141 |       // Arc与Mutex
[INFO] [stdout] 142 |       let ll = Arc::new(Mutex::new(0));
[INFO] [stdout]     |       --------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Point` is never used
[INFO] [stdout]   --> bin/chapter06/chapter06_4.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     type Point = (u8,u8,u8);
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Hello` is never used
[INFO] [stdout]  --> bin/chapter18/chapter18_2.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | trait Hello {
[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 `buy_phone` is never used
[INFO] [stdout]   --> bin/chapter18/chapter18_2.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn buy_phone(mone: u32) -> impl Phone {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let c = m.try_lock();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unkown` is never constructed
[INFO] [stdout]   --> bin/chapter17/chapter17_1.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum Gender {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Unkown,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Gender` 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: variants `Monday`, `TuesDay`, `WednessDay`, `Thursday`, `Saturday`, and `Sunday` are never constructed
[INFO] [stdout]   --> bin/chapter17/chapter17_1.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Week {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] 16 |     Monday = 10, // 指定数值，默认是从零开始
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 17 |     TuesDay,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     WednessDay,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     Thursday = 16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     Friday,
[INFO] [stdout] 21 |     Saturday,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     Sunday,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Week` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Other` are never constructed
[INFO] [stdout]   --> bin/chapter17/chapter17_1.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum Page {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29 |     Center(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     Other,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Page` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `x` and `y` are never read
[INFO] [stdout]   --> bin/chapter19/chapter19_1.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     struct Event<T> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 27 |         x: T,
[INFO] [stdout]    |         ^
[INFO] [stdout] 28 |         y: 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: method `hello_de` is never used
[INFO] [stdout]   --> bin/chapter19/chapter19_1.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     impl <U: std::fmt::Debug> Value<U> {
[INFO] [stdout]    |     ---------------------------------- method in this implementation
[INFO] [stdout] 41 |         fn hello_de(&self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hello_i` is never used
[INFO] [stdout]   --> bin/chapter19/chapter19_1.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     impl Value<i32> {
[INFO] [stdout]    |     --------------- method in this implementation
[INFO] [stdout] 46 |         fn hello_i(&self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr1`
[INFO] [stdout]  --> bin/chapter12/chapter12_1.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let arr1: [u8;5] = [10,30,40,50,60];
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr1`
[INFO] [stdout]  --> bin/chapter12/chapter12_1.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let arr1 = [10.50,50.2];
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter22/chapter22_1.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut r = Range {counter: 0};
[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: `mm`
[INFO] [stdout]   --> bin/chapter22/chapter22_1.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mm = v2.iter().filter(|x| **x > 100).collect::<Vec<_>>();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_mm`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter16/chapter16_1.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut stu2 = Student {
[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: `t2`
[INFO] [stdout]   --> bin/chapter15/chapter15_1.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let t2 = (32,);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t3`
[INFO] [stdout]   --> bin/chapter15/chapter15_1.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let t3 = ((3,4),false);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_t3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]  --> bin/chapter16/chapter16_1.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Student {
[INFO] [stdout]   |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     address: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Student` 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: struct `Car` is never constructed
[INFO] [stdout]   --> bin/chapter16/chapter16_1.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     struct Car;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> bin/chapter20/chapter20_2.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let c1 = c.get();
[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]   --> bin/chapter20/chapter20_2.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let c2 = &c; // 即使不可变引用
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> bin/chapter20/chapter20_2.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     struct Person {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 16 |         name : 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 variable: `a`
[INFO] [stdout]   --> bin/chapter06/chapter06_3.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let a: u8 = foo();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar` is never used
[INFO] [stdout]  --> bin/chapter06/chapter06_3.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn bar() -> ! {
[INFO] [stdout]   |    ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]   --> bin/chapter07/chapter07_2.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         a = a + 1;
[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 does not need to be mutable
[INFO] [stdout]   --> bin/chapter21/chapter21_1.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut dq2 = VecDeque::from([100,300]);
[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: `n1`
[INFO] [stdout]  --> bin/chapter06/chapter06_1.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let n1: u8 = 20;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let n2 = 20;
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 |   let n3 = 100_000_00;
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n4`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let n4 = 100_000_00u32;
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let a = 0b100;  // 二进制
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let c = 0xaaaa;  // 十六进制
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |   let d = b'a';  // 将字符转换成数值
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |   let e = b"hello xingxing2.comn";  // 数值的引用，本质上是一个字节序列  &[u8;长度]
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let b = 200u8.checked_add(1);
[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]   --> bin/chapter06/chapter06_1.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let b = u8::MAX.overflowing_add(1);
[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]   --> bin/chapter06/chapter06_1.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let b = u8::MAX.saturating_add(1);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this arithmetic operation will overflow
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let b = a + 1;
[INFO] [stdout]    |             ^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(arithmetic_overflow)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this arithmetic operation will overflow
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let c = a + a + 1;
[INFO] [stdout]    |             ^^^^^ attempt to compute `u8::MAX + u8::MAX`, which would overflow
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Phone` is never used
[INFO] [stdout]   --> bin/chapter19/chapter19_2.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | trait Phone <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: struct `Xiaomi` is never constructed
[INFO] [stdout]   --> bin/chapter19/chapter19_2.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Xiaomi;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]  --> bin/chapter18/chapter18_5.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | trait Phone{
[INFO] [stdout]   |       ----- method in this trait
[INFO] [stdout] 3 |     fn call(&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: unused import: `std::fs::read`
[INFO] [stdout]  --> bin/chapter31/chapter31_1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `User` is more private than the item `MyError::WrongUser::user`
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 |     WrongUser{idx: usize, user: User},
[INFO] [stdout]    |                           ^^^^^^^^^^ field `MyError::WrongUser::user` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `User` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct User {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data4` is never used
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn data4() -> anyhow::Result<()> {
[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 `data5` is never used
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn data5() -> anyhow::Result<()> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data6` is never used
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn data6(n: usize) -> anyhow::Result<()> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter29/chapter29_1.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut name = "张三".chars();
[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: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter29/chapter29_1.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut name = "张三".chars();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> bin/chapter29/chapter29_1.rs:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |     println!("{:?}", content.starts_with(|c|{
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ss`
[INFO] [stdout]    --> bin/chapter29/chapter29_1.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let ss = String::from_utf8(bytes).unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_fn` is never used
[INFO] [stdout]   --> bin/chapter25/chapter25_1.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn call_fn<T: Fn()>(f: 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: function `call_fn_mut` is never used
[INFO] [stdout]   --> bin/chapter25/chapter25_1.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn call_fn_mut<T: FnMut()>(mut f: T) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_fn_once` is never used
[INFO] [stdout]   --> bin/chapter25/chapter25_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn call_fn_once<T: FnOnce()>(f: T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `API_URL` is never used
[INFO] [stdout]   --> bin/chapter05/chapter05_4.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | static mut API_URL: i32 = 1;
[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 `age` is never read
[INFO] [stdout]  --> bin/chapter16/chapter16_2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Student {
[INFO] [stdout]   |        ------- field in this struct
[INFO] [stdout] 5 |     name: String,
[INFO] [stdout] 6 |     age: u8,
[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]   --> bin/chapter18/chapter18_3.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let s = buy_phone(600);
[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: method `call` is never used
[INFO] [stdout]   --> bin/chapter18/chapter18_3.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | trait Phone {
[INFO] [stdout]    |       ----- method in this trait
[INFO] [stdout] 23 |     fn call(&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: field `os` is never read
[INFO] [stdout]   --> bin/chapter18/chapter18_3.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Xiaomi {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 26 |     os: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `a` is never read
[INFO] [stdout]   --> bin/chapter30/chapter30_1.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |     struct H {
[INFO] [stdout]    |            - field in this struct
[INFO] [stdout] 10 |         a: usize
[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]  --> bin/chapter04/chapter04_1.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let s = "hello"; // 字符串类型
[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: `c`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let c = 'h'; // 字符类型
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let d = 200; // 整型
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let f = 2.14; // 浮点数
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let b = true; // 布尔类型
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Male` and `Unknown` are never constructed
[INFO] [stdout]   --> bin/chapter24/chapter24_1.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     enum Gender {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 47 |         Female,
[INFO] [stdout] 48 |         Male,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 49 |         Unknown,
[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: `a`
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let a = Box::new(5);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let bb = a.clone();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc`
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let cc = Rc::clone(&a);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `brand` and `cpu` are never read
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     struct Huawei {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 28 |         brand: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 29 |         cpu: 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: method `call` is never used
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     trait Phone {
[INFO] [stdout]    |           ----- method in this trait
[INFO] [stdout] 32 |         fn call(&self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.74s
[INFO] running `Command { std: "docker" "inspect" "c1d929db8a4ee7e2c835b9e9c0eeaa01183495f7279e5e0ed01e9b4a6bed023d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1d929db8a4ee7e2c835b9e9c0eeaa01183495f7279e5e0ed01e9b4a6bed023d", kill_on_drop: false }`
[INFO] [stdout] c1d929db8a4ee7e2c835b9e9c0eeaa01183495f7279e5e0ed01e9b4a6bed023d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b76cc89279dc61d1620e161c8b5a5bf027e6fc2d01be0512fe4ae60e6f15d0fa
[INFO] running `Command { std: "docker" "start" "-a" "b76cc89279dc61d1620e161c8b5a5bf027e6fc2d01be0512fe4ae60e6f15d0fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling demo_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `Hello` is never used
[INFO] [stdout]  --> bin/chapter18/chapter18_2.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | trait Hello {
[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 `buy_phone` is never used
[INFO] [stdout]   --> bin/chapter18/chapter18_2.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn buy_phone(mone: u32) -> impl Phone {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `call` is never used
[INFO] [stdout]  --> bin/chapter18/chapter18_5.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | trait Phone{
[INFO] [stdout]   |       ----- method in this trait
[INFO] [stdout] 3 |     fn call(&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: trait `Phone` is never used
[INFO] [stdout]   --> bin/chapter19/chapter19_2.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | trait Phone <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: struct `Xiaomi` is never constructed
[INFO] [stdout]   --> bin/chapter19/chapter19_2.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Xiaomi;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter29/chapter29_1.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut name = "张三".chars();
[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: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter29/chapter29_1.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut name = "张三".chars();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> bin/chapter29/chapter29_1.rs:39:43
[INFO] [stdout]    |
[INFO] [stdout] 39 |     println!("{:?}", content.starts_with(|c|{
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ss`
[INFO] [stdout]    --> bin/chapter29/chapter29_1.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let ss = String::from_utf8(bytes).unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::btree_map::Keys`
[INFO] [stdout]  --> bin/chapter28/chapter28_1.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::btree_map::Keys, panic, sync::{Arc, Mutex}, thread::{self, sleep}, time::Duration};
[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 doc comment
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:97:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | /     /// Send与Sync都是标记trait 无需实现方法
[INFO] [stdout]  98 | |     /// 实现了Send trait的类型T,其可以所有权可以在线程间移动
[INFO] [stdout]  99 | |     /// https://doc.rust-lang.org/std/marker/traitSend.html
[INFO] [stdout]     | |___________________________________________________________^
[INFO] [stdout] 100 |
[INFO] [stdout] 101 |       let s = String::from("你好");
[INFO] [stdout]     |       ----------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 | /     /// Rc的线程安全版本，因为是原子操作进行引用计数，它不如Rc的性能
[INFO] [stdout] 118 | |     /// 它提供在堆中分配的T类型值的共享所有权，共享引用是不能修改，不能获得对Arc内部某些内容的可变引用，如果修改Arc里面的值，请使用Mutex、RwLock或Atomic
[INFO] [stdout]     | |________________________________________________________________________________________________________________________________________________________^
[INFO] [stdout] 119 |       let arc = std::sync::Arc::new([100,200,300]);
[INFO] [stdout]     |       --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | /     /// 实现了Sync的类型T，可以在线程间共享引用&T，其引用&T也实现了Send trait
[INFO] [stdout] 133 | |     /// 如果T实现了Sync，则&T实现了Send,如果&T实现了Send，则T实现了Sync
[INFO] [stdout] 134 | |     /// https://doc.rust-lang.org/std/marker/trait.Sync.html
[INFO] [stdout] 135 | |     /// 大部分类型都实现了Send/Sync 完全有Send/Sync类型组成的新类型会自动实现Send/Sync 自己手动实现是不安全的，涉及unsafe编程，...
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     /// Weak<T> 实现了Send，没有实现Sync
[INFO] [stdout] 140 | |     /// Cell<T>/OnceCell<T> /RefCell<T>没有实现Sync
[INFO] [stdout]     | |___________________________________________________^
[INFO] [stdout] 141 |       // Arc与Mutex
[INFO] [stdout] 142 |       let ll = Arc::new(Mutex::new(0));
[INFO] [stdout]     |       --------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::read`
[INFO] [stdout]  --> bin/chapter31/chapter31_1.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::read;
[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 variable: `c`
[INFO] [stdout]    --> bin/chapter28/chapter28_1.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let c = m.try_lock();
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `age` is never read
[INFO] [stdout]  --> bin/chapter16/chapter16_2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Student {
[INFO] [stdout]   |        ------- field in this struct
[INFO] [stdout] 5 |     name: String,
[INFO] [stdout] 6 |     age: u8,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `User` is more private than the item `MyError::WrongUser::user`
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 |     WrongUser{idx: usize, user: User},
[INFO] [stdout]    |                           ^^^^^^^^^^ field `MyError::WrongUser::user` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `User` is only usable at visibility `pub(crate)`
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | struct User {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data4` is never used
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn data4() -> anyhow::Result<()> {
[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 `data5` is never used
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn data5() -> anyhow::Result<()> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data6` is never used
[INFO] [stdout]   --> bin/chapter31/chapter31_1.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn data6(n: usize) -> anyhow::Result<()> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Unkown` is never constructed
[INFO] [stdout]   --> bin/chapter17/chapter17_1.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum Gender {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Unkown,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Gender` 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: variants `Monday`, `TuesDay`, `WednessDay`, `Thursday`, `Saturday`, and `Sunday` are never constructed
[INFO] [stdout]   --> bin/chapter17/chapter17_1.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum Week {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] 16 |     Monday = 10, // 指定数值，默认是从零开始
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 17 |     TuesDay,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     WednessDay,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     Thursday = 16,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 20 |     Friday,
[INFO] [stdout] 21 |     Saturday,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 22 |     Sunday,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Week` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Center` and `Other` are never constructed
[INFO] [stdout]   --> bin/chapter17/chapter17_1.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | enum Page {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 29 |     Center(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     Other,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Page` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter21/chapter21_1.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut dq2 = VecDeque::from([100,300]);
[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: type alias `Point` is never used
[INFO] [stdout]   --> bin/chapter06/chapter06_4.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     type Point = (u8,u8,u8);
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `a` is never read
[INFO] [stdout]   --> bin/chapter07/chapter07_2.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         a = a + 1;
[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: unused variable: `t2`
[INFO] [stdout]   --> bin/chapter15/chapter15_1.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let t2 = (32,);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t3`
[INFO] [stdout]   --> bin/chapter15/chapter15_1.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let t3 = ((3,4),false);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_t3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr1`
[INFO] [stdout]  --> bin/chapter12/chapter12_1.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let arr1: [u8;5] = [10,30,40,50,60];
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr1`
[INFO] [stdout]  --> bin/chapter12/chapter12_1.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let arr1 = [10.50,50.2];
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n1`
[INFO] [stdout]  --> bin/chapter06/chapter06_1.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 |   let n1: u8 = 20;
[INFO] [stdout]   |       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n2`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let n2 = 20;
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n3`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 |   let n3 = 100_000_00;
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n4`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let n4 = 100_000_00u32;
[INFO] [stdout]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let a = 0b100;  // 二进制
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let c = 0xaaaa;  // 十六进制
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 |   let d = b'a';  // 将字符转换成数值
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 |   let e = b"hello xingxing2.comn";  // 数值的引用，本质上是一个字节序列  &[u8;长度]
[INFO] [stdout]    |       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let b = 200u8.checked_add(1);
[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]   --> bin/chapter06/chapter06_1.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |     let b = u8::MAX.overflowing_add(1);
[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]   --> bin/chapter06/chapter06_1.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let b = u8::MAX.saturating_add(1);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this arithmetic operation will overflow
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let b = a + 1;
[INFO] [stdout]    |             ^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(arithmetic_overflow)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this arithmetic operation will overflow
[INFO] [stdout]   --> bin/chapter06/chapter06_1.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let c = a + a + 1;
[INFO] [stdout]    |             ^^^^^ attempt to compute `u8::MAX + u8::MAX`, which would overflow
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_fn` is never used
[INFO] [stdout]   --> bin/chapter25/chapter25_1.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn call_fn<T: Fn()>(f: 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: function `call_fn_mut` is never used
[INFO] [stdout]   --> bin/chapter25/chapter25_1.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn call_fn_mut<T: FnMut()>(mut f: T) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_fn_once` is never used
[INFO] [stdout]   --> bin/chapter25/chapter25_1.rs:60:4
[INFO] [stdout]    |
[INFO] [stdout] 60 | fn call_fn_once<T: FnOnce()>(f: T) {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/main.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let s = "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: unused variable: `s2`
[INFO] [stdout]  --> src/main.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let s2 = String::from("Hello");
[INFO] [stdout]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> bin/chapter06/chapter06_3.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let a: u8 = foo();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bar` is never used
[INFO] [stdout]  --> bin/chapter06/chapter06_3.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn bar() -> ! {
[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]  --> bin/chapter04/chapter04_1.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let s = "hello"; // 字符串类型
[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: `c`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let c = 'h'; // 字符类型
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let d = 200; // 整型
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let f = 2.14; // 浮点数
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]  --> bin/chapter04/chapter04_1.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let b = true; // 布尔类型
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> bin/chapter18/chapter18_3.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let s = buy_phone(600);
[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: method `call` is never used
[INFO] [stdout]   --> bin/chapter18/chapter18_3.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | trait Phone {
[INFO] [stdout]    |       ----- method in this trait
[INFO] [stdout] 23 |     fn call(&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: field `os` is never read
[INFO] [stdout]   --> bin/chapter18/chapter18_3.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Xiaomi {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 26 |     os: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let a = Box::new(5);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bb`
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let bb = a.clone();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc`
[INFO] [stdout]   --> bin/chapter20/chapter20_1.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let cc = Rc::clone(&a);
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter22/chapter22_1.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut r = Range {counter: 0};
[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: `mm`
[INFO] [stdout]   --> bin/chapter22/chapter22_1.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mm = v2.iter().filter(|x| **x > 100).collect::<Vec<_>>();
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_mm`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `API_URL` is never used
[INFO] [stdout]   --> bin/chapter05/chapter05_4.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | static mut API_URL: i32 = 1;
[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: `c1`
[INFO] [stdout]   --> bin/chapter20/chapter20_2.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let c1 = c.get();
[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]   --> bin/chapter20/chapter20_2.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let c2 = &c; // 即使不可变引用
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> bin/chapter16/chapter16_1.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut stu2 = Student {
[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: field `address` is never read
[INFO] [stdout]  --> bin/chapter16/chapter16_1.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Student {
[INFO] [stdout]   |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     address: String,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Student` 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.43s
[INFO] running `Command { std: "docker" "inspect" "b76cc89279dc61d1620e161c8b5a5bf027e6fc2d01be0512fe4ae60e6f15d0fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b76cc89279dc61d1620e161c8b5a5bf027e6fc2d01be0512fe4ae60e6f15d0fa", kill_on_drop: false }`
[INFO] [stdout] b76cc89279dc61d1620e161c8b5a5bf027e6fc2d01be0512fe4ae60e6f15d0fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dada41de24053504223532de9831bc9bce2760525e1bbe0b7c042951fcf351e5
[INFO] running `Command { std: "docker" "start" "-a" "dada41de24053504223532de9831bc9bce2760525e1bbe0b7c042951fcf351e5", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> bin/chapter18/chapter18_3.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let s = buy_phone(600);
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `call` is never used
[INFO] [stderr]   --> bin/chapter18/chapter18_3.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | trait Phone {
[INFO] [stderr]    |       ----- method in this trait
[INFO] [stderr] 23 |     fn call(&self);
[INFO] [stderr]    |        ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `os` is never read
[INFO] [stderr]   --> bin/chapter18/chapter18_3.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct Xiaomi {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 26 |     os: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> bin/chapter22/chapter22_1.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut r = Range {counter: 0};
[INFO] [stderr]    |         ----^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mm`
[INFO] [stderr]   --> bin/chapter22/chapter22_1.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 56 |     let mm = v2.iter().filter(|x| **x > 100).collect::<Vec<_>>();
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_mm`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `age` is never read
[INFO] [stderr]  --> bin/chapter16/chapter16_2.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct Student {
[INFO] [stderr]   |        ------- field in this struct
[INFO] [stderr] 5 |     name: String,
[INFO] [stderr] 6 |     age: u8,
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `call_fn` is never used
[INFO] [stderr]   --> bin/chapter25/chapter25_1.rs:50:4
[INFO] [stderr]    |
[INFO] [stderr] 50 | fn call_fn<T: Fn()>(f: T) {
[INFO] [stderr]    |    ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `call_fn_mut` is never used
[INFO] [stderr]   --> bin/chapter25/chapter25_1.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn call_fn_mut<T: FnMut()>(mut f: T) {
[INFO] [stderr]    |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `call_fn_once` is never used
[INFO] [stderr]   --> bin/chapter25/chapter25_1.rs:60:4
[INFO] [stderr]    |
[INFO] [stderr] 60 | fn call_fn_once<T: FnOnce()>(f: T) {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `API_URL` is never used
[INFO] [stderr]   --> bin/chapter05/chapter05_4.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | static mut API_URL: i32 = 1;
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `demo_rust` (bin "chapter18_3" test) generated 3 warnings (run `cargo fix --bin "chapter18_3" -p demo_rust --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `demo_rust` (bin "chapter22_1" test) generated 2 warnings (run `cargo fix --bin "chapter22_1" -p demo_rust --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter16_2" test) generated 1 warning
[INFO] [stderr] warning: `demo_rust` (bin "chapter25_1" test) generated 3 warnings
[INFO] [stderr] warning: `demo_rust` (bin "chapter05_4" test) generated 1 warning
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> bin/chapter21/chapter21_1.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 |     let mut dq2 = VecDeque::from([100,300]);
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Hello` is never used
[INFO] [stderr]  --> bin/chapter18/chapter18_2.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | trait Hello {
[INFO] [stderr]   |       ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `buy_phone` is never used
[INFO] [stderr]   --> bin/chapter18/chapter18_2.rs:32:4
[INFO] [stderr]    |
[INFO] [stderr] 32 | fn buy_phone(mone: u32) -> impl Phone {
[INFO] [stderr]    |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `demo_rust` (bin "chapter21_1" test) generated 1 warning (run `cargo fix --bin "chapter21_1" -p demo_rust --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `demo_rust` (bin "chapter18_2" test) generated 2 warnings
[INFO] [stderr] warning: unused variable: `c1`
[INFO] [stderr]   --> bin/chapter20/chapter20_2.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     let c1 = c.get();
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c2`
[INFO] [stderr]   --> bin/chapter20/chapter20_2.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let c2 = &c; // 即使不可变引用
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `collections::btree_map::Keys`
[INFO] [stderr]  --> bin/chapter28/chapter28_1.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{collections::btree_map::Keys, panic, sync::{Arc, Mutex}, thread::{self, sleep}, time::Duration};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> bin/chapter28/chapter28_1.rs:97:5
[INFO] [stderr]     |
[INFO] [stderr]  97 | /     /// Send与Sync都是标记trait 无需实现方法
[INFO] [stderr]  98 | |     /// 实现了Send trait的类型T,其可以所有权可以在线程间移动
[INFO] [stderr]  99 | |     /// https://doc.rust-lang.org/std/marker/traitSend.html
[INFO] [stderr]     | |___________________________________________________________^
[INFO] [stderr] 100 |
[INFO] [stderr] 101 |       let s = String::from("你好");
[INFO] [stderr]     |       ----------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> bin/chapter28/chapter28_1.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 117 | /     /// Rc的线程安全版本，因为是原子操作进行引用计数，它不如Rc的性能
[INFO] [stderr] 118 | |     /// 它提供在堆中分配的T类型值的共享所有权，共享引用是不能修改，不能获得对Arc内部某些内容的可变引用，如果修改Arc里面的值，请使用Mutex、RwLock或Atomic
[INFO] [stderr]     | |________________________________________________________________________________________________________________________________________________________^
[INFO] [stderr] 119 |       let arc = std::sync::Arc::new([100,200,300]);
[INFO] [stderr]     |       --------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> bin/chapter28/chapter28_1.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 | /     /// 实现了Sync的类型T，可以在线程间共享引用&T，其引用&T也实现了Send trait
[INFO] [stderr] 133 | |     /// 如果T实现了Sync，则&T实现了Send,如果&T实现了Send，则T实现了Sync
[INFO] [stderr] 134 | |     /// https://doc.rust-lang.org/std/marker/trait.Sync.html
[INFO] [stderr] 135 | |     /// 大部分类型都实现了Send/Sync 完全有Send/Sync类型组成的新类型会自动实现Send/Sync 自己手动实现是不安全的，涉及unsafe编程，...
[INFO] [stderr] ...   |
[INFO] [stderr] 139 | |     /// Weak<T> 实现了Send，没有实现Sync
[INFO] [stderr] 140 | |     /// Cell<T>/OnceCell<T> /RefCell<T>没有实现Sync
[INFO] [stderr]     | |___________________________________________________^
[INFO] [stderr] 141 |       // Arc与Mutex
[INFO] [stderr] 142 |       let ll = Arc::new(Mutex::new(0));
[INFO] [stderr]     |       --------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> bin/chapter28/chapter28_1.rs:176:9
[INFO] [stderr]     |
[INFO] [stderr] 176 |     let c = m.try_lock();
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Unkown` is never constructed
[INFO] [stderr]   --> bin/chapter17/chapter17_1.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | enum Gender {
[INFO] [stderr]    |      ------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 11 |     Unkown,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Gender` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Monday`, `TuesDay`, `WednessDay`, `Thursday`, `Saturday`, and `Sunday` are never constructed
[INFO] [stderr]   --> bin/chapter17/chapter17_1.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | enum Week {
[INFO] [stderr]    |      ---- variants in this enum
[INFO] [stderr] 16 |     Monday = 10, // 指定数值，默认是从零开始
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 17 |     TuesDay,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 18 |     WednessDay,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 19 |     Thursday = 16,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 20 |     Friday,
[INFO] [stderr] 21 |     Saturday,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 22 |     Sunday,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Week` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Center` and `Other` are never constructed
[INFO] [stderr]   --> bin/chapter17/chapter17_1.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | enum Page {
[INFO] [stderr]    |      ---- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 29 |     Center(String),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 30 |     Other,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Page` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t2`
[INFO] [stderr]   --> bin/chapter15/chapter15_1.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let t2 = (32,);
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_t2`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t3`
[INFO] [stderr]   --> bin/chapter15/chapter15_1.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let t3 = ((3,4),false);
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_t3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> bin/chapter20/chapter20_1.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let a = Box::new(5);
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bb`
[INFO] [stderr]   --> bin/chapter20/chapter20_1.rs:65:9
[INFO] [stderr]    |
[INFO] [stderr] 65 |     let bb = a.clone();
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_bb`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cc`
[INFO] [stderr]   --> bin/chapter20/chapter20_1.rs:66:9
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let cc = Rc::clone(&a);
[INFO] [stderr]    |         ^^ help: if this is intentional, prefix it with an underscore: `_cc`
[INFO] [stderr] 
[INFO] [stderr] warning: `demo_rust` (bin "chapter20_2" test) generated 2 warnings (run `cargo fix --bin "chapter20_2" -p demo_rust --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter28_1" test) generated 5 warnings (run `cargo fix --bin "chapter28_1" -p demo_rust --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter17_1" test) generated 3 warnings
[INFO] [stderr] warning: `demo_rust` (bin "chapter15_1" test) generated 2 warnings (run `cargo fix --bin "chapter15_1" -p demo_rust --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter20_1" test) generated 3 warnings (run `cargo fix --bin "chapter20_1" -p demo_rust --tests` to apply 3 suggestions)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> bin/chapter16/chapter16_1.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut stu2 = Student {
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `address` is never read
[INFO] [stderr]  --> bin/chapter16/chapter16_1.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct Student {
[INFO] [stderr]   |        ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 9 |     address: String,
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Student` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Phone` is never used
[INFO] [stderr]   --> bin/chapter19/chapter19_2.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | trait Phone <T> {
[INFO] [stderr]    |       ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Xiaomi` is never constructed
[INFO] [stderr]   --> bin/chapter19/chapter19_2.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | struct Xiaomi;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]  --> src/main.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 |     let s = "Hello world!";
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s2`
[INFO] [stderr]  --> src/main.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     let s2 = String::from("Hello");
[INFO] [stderr]   |         ^^ help: if this is intentional, prefix it with an underscore: `_s2`
[INFO] [stderr] 
[INFO] [stderr] warning: method `call` is never used
[INFO] [stderr]  --> bin/chapter18/chapter18_5.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 2 | trait Phone{
[INFO] [stderr]   |       ----- method in this trait
[INFO] [stderr] 3 |     fn call(&self);
[INFO] [stderr]   |        ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `demo_rust` (bin "chapter16_1" test) generated 2 warnings (run `cargo fix --bin "chapter16_1" -p demo_rust --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `demo_rust` (bin "chapter19_2" test) generated 2 warnings
[INFO] [stderr] warning: `demo_rust` (bin "demo_rust" test) generated 2 warnings (run `cargo fix --bin "demo_rust" -p demo_rust --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter18_5" test) generated 1 warning
[INFO] [stderr] warning: unused variable: `n1`
[INFO] [stderr]  --> bin/chapter06/chapter06_1.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 |   let n1: u8 = 20;
[INFO] [stderr]   |       ^^ help: if this is intentional, prefix it with an underscore: `_n1`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n2`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 |   let n2 = 20;
[INFO] [stderr]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n3`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 |   let n3 = 100_000_00;
[INFO] [stderr]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n4`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 |   let n4 = 100_000_00u32;
[INFO] [stderr]    |       ^^ help: if this is intentional, prefix it with an underscore: `_n4`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:16:7
[INFO] [stderr]    |
[INFO] [stderr] 16 |   let a = 0b100;  // 二进制
[INFO] [stderr]    |       ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 |   let c = 0xaaaa;  // 十六进制
[INFO] [stderr]    |       ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 |   let d = b'a';  // 将字符转换成数值
[INFO] [stderr]    |       ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 |   let e = b"hello xingxing2.comn";  // 数值的引用，本质上是一个字节序列  &[u8;长度]
[INFO] [stderr]    |       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |     let b = 200u8.checked_add(1);
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 47 |     let b = u8::MAX.overflowing_add(1);
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let b = u8::MAX.saturating_add(1);
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: this arithmetic operation will overflow
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |     let b = a + 1;
[INFO] [stderr]    |             ^^^^^ attempt to compute `u8::MAX + 1_u8`, which would overflow
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(arithmetic_overflow)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: this arithmetic operation will overflow
[INFO] [stderr]   --> bin/chapter06/chapter06_1.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let c = a + a + 1;
[INFO] [stderr]    |             ^^^^^ attempt to compute `u8::MAX + u8::MAX`, which would overflow
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]   --> bin/chapter06/chapter06_3.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 20 |     let a: u8 = foo();
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `bar` is never used
[INFO] [stderr]  --> bin/chapter06/chapter06_3.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn bar() -> ! {
[INFO] [stderr]   |    ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Point` is never used
[INFO] [stderr]   --> bin/chapter06/chapter06_4.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 |     type Point = (u8,u8,u8);
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::read`
[INFO] [stderr]  --> bin/chapter31/chapter31_1.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fs::read;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `User` is more private than the item `MyError::WrongUser::user`
[INFO] [stderr]   --> bin/chapter31/chapter31_1.rs:27:27
[INFO] [stderr]    |
[INFO] [stderr] 27 |     WrongUser{idx: usize, user: User},
[INFO] [stderr]    |                           ^^^^^^^^^^ field `MyError::WrongUser::user` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `User` is only usable at visibility `pub(crate)`
[INFO] [stderr]   --> bin/chapter31/chapter31_1.rs:32:1
[INFO] [stderr]    |
[INFO] [stderr] 32 | struct User {
[INFO] [stderr]    | ^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `data4` is never used
[INFO] [stderr]   --> bin/chapter31/chapter31_1.rs:45:4
[INFO] [stderr]    |
[INFO] [stderr] 45 | fn data4() -> anyhow::Result<()> {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `data5` is never used
[INFO] [stderr]   --> bin/chapter31/chapter31_1.rs:50:4
[INFO] [stderr]    |
[INFO] [stderr] 50 | fn data5() -> anyhow::Result<()> {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `data6` is never used
[INFO] [stderr]   --> bin/chapter31/chapter31_1.rs:54:4
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn data6(n: usize) -> anyhow::Result<()> {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]  --> bin/chapter04/chapter04_1.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 |     let s = "hello"; // 字符串类型
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]  --> bin/chapter04/chapter04_1.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 |     let c = 'h'; // 字符类型
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d`
[INFO] [stderr]  --> bin/chapter04/chapter04_1.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 |     let d = 200; // 整型
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]  --> bin/chapter04/chapter04_1.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let f = 2.14; // 浮点数
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]  --> bin/chapter04/chapter04_1.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let b = true; // 布尔类型
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: `demo_rust` (bin "chapter06_1" test) generated 13 warnings (run `cargo fix --bin "chapter06_1" -p demo_rust --tests` to apply 11 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter06_3" test) generated 2 warnings (run `cargo fix --bin "chapter06_3" -p demo_rust --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `demo_rust` (bin "chapter06_4" test) generated 1 warning
[INFO] [stderr] warning: `demo_rust` (bin "chapter31_1" test) generated 5 warnings (run `cargo fix --bin "chapter31_1" -p demo_rust --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `demo_rust` (bin "chapter04_1" test) generated 5 warnings (run `cargo fix --bin "chapter04_1" -p demo_rust --tests` to apply 5 suggestions)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> bin/chapter29/chapter29_1.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let mut name = "张三".chars();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> bin/chapter29/chapter29_1.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let mut name = "张三".chars();
[INFO] [stderr]    |         ----^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]   --> bin/chapter29/chapter29_1.rs:39:43
[INFO] [stderr]    |
[INFO] [stderr] 39 |     println!("{:?}", content.starts_with(|c|{
[INFO] [stderr]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ss`
[INFO] [stderr]    --> bin/chapter29/chapter29_1.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |     let ss = String::from_utf8(bytes).unwrap();
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ss`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `a` is never read
[INFO] [stderr]   --> bin/chapter07/chapter07_2.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |         a = a + 1;
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arr1`
[INFO] [stderr]  --> bin/chapter12/chapter12_1.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 |     let arr1: [u8;5] = [10,30,40,50,60];
[INFO] [stderr]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arr1`
[INFO] [stderr]  --> bin/chapter12/chapter12_1.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 |     let arr1 = [10.50,50.2];
[INFO] [stderr]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_arr1`
[INFO] [stderr] 
[INFO] [stderr] warning: `demo_rust` (bin "chapter29_1" test) generated 4 warnings (run `cargo fix --bin "chapter29_1" -p demo_rust --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `demo_rust` (bin "chapter07_2" test) generated 1 warning
[INFO] [stderr] warning: `demo_rust` (bin "chapter12_1" test) generated 2 warnings (run `cargo fix --bin "chapter12_1" -p demo_rust --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests bin/chapter03/ch03_1.rs (/opt/rustwide/target/debug/deps/ch03_1-ab0e22df727465e2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter03/ch03_2.rs (/opt/rustwide/target/debug/deps/ch03_2-2e457ac552997b2a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter03/ch03_3.rs (/opt/rustwide/target/debug/deps/ch03_3-606d2b9818d45dda)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter04/chapter04_1.rs (/opt/rustwide/target/debug/deps/chapter04_1-1e693426f48e971d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests bin/chapter04/chapter04_2.rs (/opt/rustwide/target/debug/deps/chapter04_2-9e791f4769ad4499)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter05/chapter05_4.rs (/opt/rustwide/target/debug/deps/chapter05_4-b732f3286fad4960)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter05/chapter05_5.rs (/opt/rustwide/target/debug/deps/chapter05_5-d2a877f045115f82)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter06/chapter06_1.rs (/opt/rustwide/target/debug/deps/chapter06_1-ffb2b63d01ca7c47)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter06/chapter06_2.rs (/opt/rustwide/target/debug/deps/chapter06_2-2bfd7db6d61abc59)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter06/chapter06_3.rs (/opt/rustwide/target/debug/deps/chapter06_3-b1699c1017791ed1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter06/chapter06_4.rs (/opt/rustwide/target/debug/deps/chapter06_4-9db77763ba3e3c78)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter07/chapter07_1.rs (/opt/rustwide/target/debug/deps/chapter07_1-23cd43e0a376d4a6)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter07/chapter07_2.rs (/opt/rustwide/target/debug/deps/chapter07_2-87d9e7684c4dba9c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests bin/chapter08/chapter08_1.rs (/opt/rustwide/target/debug/deps/chapter08_1-77adf99eb1b082df)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter10/chapter10_1.rs (/opt/rustwide/target/debug/deps/chapter10_1-d234bfb8f81e99ca)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter10/chapter10_2.rs (/opt/rustwide/target/debug/deps/chapter10_2-fb0ca5b79fea76f5)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter11/chapter11_1.rs (/opt/rustwide/target/debug/deps/chapter11_1-cca0207c2ddebef2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter12/chapter12_1.rs (/opt/rustwide/target/debug/deps/chapter12_1-c63300597c94318d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter13/chapter13_1.rs (/opt/rustwide/target/debug/deps/chapter13_1-ece865e0272a9b10)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter14/chapter14_1.rs (/opt/rustwide/target/debug/deps/chapter14_1-409c8811a45dca6f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter14/chapter14_2.rs (/opt/rustwide/target/debug/deps/chapter14_2-6dafac925b2422eb)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter15/chapter15_1.rs (/opt/rustwide/target/debug/deps/chapter15_1-951dfd405d64b662)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter16/chapter16_1.rs (/opt/rustwide/target/debug/deps/chapter16_1-0e681c1840d57eaa)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter16/chapter16_2.rs (/opt/rustwide/target/debug/deps/chapter16_2-71adf103293be75c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter17/chapter17_1.rs (/opt/rustwide/target/debug/deps/chapter17_1-ca7270cd12b0e129)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter18/chapter18_1.rs (/opt/rustwide/target/debug/deps/chapter18_1-01794bff234249db)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter18/chapter18_2.rs (/opt/rustwide/target/debug/deps/chapter18_2-d41c4b0275ff06c8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter18/chapter18_3.rs (/opt/rustwide/target/debug/deps/chapter18_3-8180ad3b6ac7e3a0)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter18/chapter18_4.rs (/opt/rustwide/target/debug/deps/chapter18_4-73ef6155903802a2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter18/chapter18_5.rs (/opt/rustwide/target/debug/deps/chapter18_5-3e96f764d1475136)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter19/chapter19_1.rs (/opt/rustwide/target/debug/deps/chapter19_1-640720f343135abb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter19/chapter19_2.rs (/opt/rustwide/target/debug/deps/chapter19_2-a8524b36734181d4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter20/chapter20_1.rs (/opt/rustwide/target/debug/deps/chapter20_1-56afd30013981853)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter20/chapter20_2.rs (/opt/rustwide/target/debug/deps/chapter20_2-299e325ed81bb9a8)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter20/chapter20_3.rs (/opt/rustwide/target/debug/deps/chapter20_3-ff13605b5a5e1b20)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter21/chapter21_1.rs (/opt/rustwide/target/debug/deps/chapter21_1-a28ae691d6a83fb0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter22/chapter22_1.rs (/opt/rustwide/target/debug/deps/chapter22_1-2939a7ae577cb657)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter24/chapter24_1.rs (/opt/rustwide/target/debug/deps/chapter24_1-b30b887b4fdbf76f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter25/chapter25_1.rs (/opt/rustwide/target/debug/deps/chapter25_1-9b3f3c03f4078518)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter26/chapter26_1.rs (/opt/rustwide/target/debug/deps/chapter26_1-31299802b412e1e0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter27/chapter27_1.rs (/opt/rustwide/target/debug/deps/chapter27_1-942d003867933b11)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter28/chapter28_1.rs (/opt/rustwide/target/debug/deps/chapter28_1-9de5615fa3767600)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter29/chapter29_1.rs (/opt/rustwide/target/debug/deps/chapter29_1-3ddb62b3392dbb67)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter29/chapter29_2.rs (/opt/rustwide/target/debug/deps/chapter29_2-716db7a3faaeba8a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter30/chapter30_1.rs (/opt/rustwide/target/debug/deps/chapter30_1-60cfd07a0cea1489)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests bin/chapter31/chapter31_1.rs (/opt/rustwide/target/debug/deps/chapter31_1-515107493d72d87a)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/demo_rust-45c5d7375340569f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dada41de24053504223532de9831bc9bce2760525e1bbe0b7c042951fcf351e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dada41de24053504223532de9831bc9bce2760525e1bbe0b7c042951fcf351e5", kill_on_drop: false }`
[INFO] [stdout] dada41de24053504223532de9831bc9bce2760525e1bbe0b7c042951fcf351e5
