[INFO] cloning repository https://github.com/kyssion/rust-study
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kyssion/rust-study" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyssion%2Frust-study", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyssion%2Frust-study'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7f4f06e2f73765d9a406c61508e1ee8a193a581f
[INFO] building kyssion/rust-study against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkyssion%2Frust-study" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kyssion/rust-study
[INFO] finished tweaking git repo https://github.com/kyssion/rust-study
[INFO] tweaked toml for git repo https://github.com/kyssion/rust-study written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kyssion/rust-study on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kyssion/rust-study 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.5.6
[INFO] [stderr]   Downloaded libc v0.2.71
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 33cd6ad92d84d76239282757595af792f494db7c35ef7a7c66b107a4f50fa61e
[INFO] running `Command { std: "docker" "start" "-a" "33cd6ad92d84d76239282757595af792f494db7c35ef7a7c66b107a4f50fa61e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "33cd6ad92d84d76239282757595af792f494db7c35ef7a7c66b107a4f50fa61e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33cd6ad92d84d76239282757595af792f494db7c35ef7a7c66b107a4f50fa61e", kill_on_drop: false }`
[INFO] [stdout] 33cd6ad92d84d76239282757595af792f494db7c35ef7a7c66b107a4f50fa61e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 371d0dbea44015113d4211cc52dde18de012f3fceabc4dd7d1deca4257a43dd1
[INFO] running `Command { std: "docker" "start" "-a" "371d0dbea44015113d4211cc52dde18de012f3fceabc4dd7d1deca4257a43dd1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling rust_test v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     /// b 获取了 新的所有权范围，所以可以使用了
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[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]   --> src/test3.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     /// a 变量所有权下移，但前失去了a的所有权
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     let b = add_str_no_clone(a);
[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]   --> src/test3.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     /// 错误 ，这个时候所有权已经转移到了b中了
[INFO] [stdout] 59 | |     ///a.push_str("test");
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |       c.push_str("test");
[INFO] [stdout]    |       ------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | /     ///
[INFO] [stdout] 76 | |     ///  这之间不能存在修改原始数据的逻辑，和 元数据的&mut 引用
[INFO] [stdout] 77 | |     ///
[INFO] [stdout] 78 | |     ///
[INFO] [stdout]    | |_____--^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     /// 以第二次为准 ， 使用第一次出现问题
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     /// 之后就可以进行处理了
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     a.push_str("test");
[INFO] [stdout]    |     ------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     /// a 的第一次借阅
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 85 |     let item = &mut a;
[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]   --> src/test3.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     /// 这个函数也用了借阅 所以是第二次
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     a.push_str("test");
[INFO] [stdout]    |     ------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `test` should have an upper camel case name
[INFO] [stdout]   --> src/test4.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct  test{
[INFO] [stdout]    |         ^^^^ help: convert the identifier to upper camel case: `Test`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/test4.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |       panic!("sdfsdf");
[INFO] [stdout]     |       ---------------- any code following this expression is unreachable
[INFO] [stdout] 130 |
[INFO] [stdout] 131 | /     let f = File::open("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout] 132 | |         if error.kind() == ErrorKind::NotFound {
[INFO] [stdout] 133 | |             File::create("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout] 134 | |                 panic!("Problem creating the file: {:?}", error);
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     });
[INFO] [stdout]     | |_______^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/main.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |        return loop {
[INFO] [stdout]    |  ______^      -
[INFO] [stdout]    | | ____________|
[INFO] [stdout] 89 | ||         let b = if 123>111 {
[INFO] [stdout] 90 | ||              123
[INFO] [stdout] 91 | ||         }else{
[INFO] [stdout] 92 | ||             444
[INFO] [stdout] 93 | ||         };
[INFO] [stdout] 94 | ||     }
[INFO] [stdout]    | ||     ^
[INFO] [stdout]    | ||_____|
[INFO] [stdout]    |  |_____unreachable expression
[INFO] [stdout]    |        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two`
[INFO] [stdout]  --> src/test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let two = one;
[INFO] [stdout]   |         ^^^ help: if this is intentional, prefix it with an underscore: `_two`
[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]  --> src/test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut one = String::from("test");
[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]   --> src/test.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut a = "sdfsdf";
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]   --> src/test.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let one = &mut str;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut s  = String::from("sdf");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]  --> src/test3.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |         let b = "222";
[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]   --> src/test3.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let b = a;
[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]   --> src/test3.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let b = a.clone();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut c = &mut b;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/test3.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let item = &mut a;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/test3.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut b = add_str_ls(&mut a);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut b = add_str_ls(&mut a);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut c = &mut a;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut d = add_str_ls(&mut core);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ccc`
[INFO] [stdout]    --> src/test3.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let ccc = 123;
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ccc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test3.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut a = [1,2,3,4,5,6];
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/test4.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let a = Message::Quit;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/test4.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let a = if let 1 = some_u8_value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/test4.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let p = &item[3];
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/test4.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let p = item[3];
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test4.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut item = vec![1,2,3,4,5];
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item3`
[INFO] [stdout]    --> src/test4.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let item3 = item+&item2;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_item3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/test4.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let f = File::open("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]   --> src/main.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let arr = [1,2,3,4,5];
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `months`
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let months = ["January", "February", "March", "April", "May", "June", "July",
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_months`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut  item = [1;100];
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut  item = [1;100];
[INFO] [stdout]    |         -----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/main.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let a = rust_return_test();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/main.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let b = if 123>111 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let ans = if is_can_returen {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut b = 123;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b` is never read
[INFO] [stdout]    --> src/main.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         b+=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: `item`
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let item = while ans<1000 {
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/main.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let ans = for number in 1..4 {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]    --> src/main.rs:119:19
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let ans = for number in 1..4 {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut is_can_returen = i;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `game` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn game(){
[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 `test_type_base` is never used
[INFO] [stdout]   --> src/main.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn test_type_base(){
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_type_base2` is never used
[INFO] [stdout]   --> src/main.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn test_type_base2(){
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn_1` is never used
[INFO] [stdout]   --> src/main.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn test_fn_1() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rust_return_test` is never used
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn rust_return_test()->i32{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `if_else_math` is never used
[INFO] [stdout]   --> src/main.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn if_else_math(i :bool){
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `self_info` is never used
[INFO] [stdout]  --> src/test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn self_info(){
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_info` is never used
[INFO] [stdout]   --> src/test.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn string_info(){
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_item` is never used
[INFO] [stdout]   --> src/test.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn test_item(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn` is never used
[INFO] [stdout]   --> src/test.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn test_fn(mut some_string:String)->String{
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_item2` is never used
[INFO] [stdout]   --> src/test.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn test_item2(){
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn2` is never used
[INFO] [stdout]   --> src/test.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn test_fn2(s: &mut String){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn3` is never used
[INFO] [stdout]    --> src/test.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn test_fn3() -> String{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_splic` is never used
[INFO] [stdout]    --> src/test.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn test_splic(){
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn4` is never used
[INFO] [stdout]    --> src/test.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn test_fn4(s:&String)->usize{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_split` is never used
[INFO] [stdout]    --> src/test.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn test_split(arr:&mut [i32]) -> & [i32]{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/test3.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn test1(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/test3.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn test2(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/test3.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn test3(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/test3.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn test4(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str` is never used
[INFO] [stdout]   --> src/test3.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn add_str(str : String) -> String{
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str_no_clone` is never used
[INFO] [stdout]   --> src/test3.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn add_str_no_clone(mut str : String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test5` is never used
[INFO] [stdout]   --> src/test3.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn test5() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str_l` is never used
[INFO] [stdout]   --> src/test3.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn add_str_l(str: &mut String) -> &mut String{
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test6` is never used
[INFO] [stdout]   --> src/test3.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn test6(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test7` is never used
[INFO] [stdout]   --> src/test3.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn test7(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str_ls` is never used
[INFO] [stdout]    --> src/test3.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn add_str_ls(str: &mut String)->&mut String{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]    --> src/test3.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn test(){
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `testp` is never read
[INFO] [stdout]  --> src/test4.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Range{
[INFO] [stdout]   |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     testp : test
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Range` 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 `one` and `two` are never read
[INFO] [stdout]   --> src/test4.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct  test{
[INFO] [stdout]    |         ---- fields in this struct
[INFO] [stdout] 13 |     one : i32,two : i32
[INFO] [stdout]    |     ^^^       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `test` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]   --> src/test4.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Range{
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 18 |     fn area(&self)-> i32{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Move`, `Write`, and `ChangeColor` are never constructed
[INFO] [stdout]   --> src/test4.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | enum Message {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 45 |     Quit,
[INFO] [stdout] 46 |     Move { x: i32, y: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     Write(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     ChangeColor(i32, i32, i32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_enumo_option` is never used
[INFO] [stdout]   --> src/test4.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn test_enumo_option(item : String) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus_one` is never used
[INFO] [stdout]   --> src/test4.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn plus_one(x: Option<i32>) -> Option<i32> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_vec` is never used
[INFO] [stdout]   --> src/test4.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn test_vec(){
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_str` is never used
[INFO] [stdout]    --> src/test4.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn test_str(){
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `myHash` should have a snake case name
[INFO] [stdout]    --> src/test4.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut myHash :HashMap<i32,String> = HashMap::new();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `my_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s
[INFO] running `Command { std: "docker" "inspect" "371d0dbea44015113d4211cc52dde18de012f3fceabc4dd7d1deca4257a43dd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "371d0dbea44015113d4211cc52dde18de012f3fceabc4dd7d1deca4257a43dd1", kill_on_drop: false }`
[INFO] [stdout] 371d0dbea44015113d4211cc52dde18de012f3fceabc4dd7d1deca4257a43dd1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b69fe501e2aaccdec5b4feb7be022f71f06029f653eeffe36e3683244ec75406
[INFO] running `Command { std: "docker" "start" "-a" "b69fe501e2aaccdec5b4feb7be022f71f06029f653eeffe36e3683244ec75406", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust_test v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     /// b 获取了 新的所有权范围，所以可以使用了
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[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]   --> src/test3.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     /// a 变量所有权下移，但前失去了a的所有权
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     let b = add_str_no_clone(a);
[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]   --> src/test3.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     /// 错误 ，这个时候所有权已经转移到了b中了
[INFO] [stdout] 59 | |     ///a.push_str("test");
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |       c.push_str("test");
[INFO] [stdout]    |       ------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | /     ///
[INFO] [stdout] 76 | |     ///  这之间不能存在修改原始数据的逻辑，和 元数据的&mut 引用
[INFO] [stdout] 77 | |     ///
[INFO] [stdout] 78 | |     ///
[INFO] [stdout]    | |_____--^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     /// 以第二次为准 ， 使用第一次出现问题
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     /// 之后就可以进行处理了
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     a.push_str("test");
[INFO] [stdout]    |     ------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/test3.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     /// a 的第一次借阅
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 85 |     let item = &mut a;
[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]   --> src/test3.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     /// 这个函数也用了借阅 所以是第二次
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     a.push_str("test");
[INFO] [stdout]    |     ------------------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `test` should have an upper camel case name
[INFO] [stdout]   --> src/test4.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct  test{
[INFO] [stdout]    |         ^^^^ help: convert the identifier to upper camel case: `Test`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/test4.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |       panic!("sdfsdf");
[INFO] [stdout]     |       ---------------- any code following this expression is unreachable
[INFO] [stdout] 130 |
[INFO] [stdout] 131 | /     let f = File::open("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout] 132 | |         if error.kind() == ErrorKind::NotFound {
[INFO] [stdout] 133 | |             File::create("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout] 134 | |                 panic!("Problem creating the file: {:?}", error);
[INFO] [stdout] ...   |
[INFO] [stdout] 139 | |     });
[INFO] [stdout]     | |_______^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/main.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |        return loop {
[INFO] [stdout]    |  ______^      -
[INFO] [stdout]    | | ____________|
[INFO] [stdout] 89 | ||         let b = if 123>111 {
[INFO] [stdout] 90 | ||              123
[INFO] [stdout] 91 | ||         }else{
[INFO] [stdout] 92 | ||             444
[INFO] [stdout] 93 | ||         };
[INFO] [stdout] 94 | ||     }
[INFO] [stdout]    | ||     ^
[INFO] [stdout]    | ||_____|
[INFO] [stdout]    |  |_____unreachable expression
[INFO] [stdout]    |        any code following this expression is unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `two`
[INFO] [stdout]  --> src/test.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let two = one;
[INFO] [stdout]   |         ^^^ help: if this is intentional, prefix it with an underscore: `_two`
[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]  --> src/test.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut one = String::from("test");
[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]   --> src/test.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut a = "sdfsdf";
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `one`
[INFO] [stdout]   --> src/test.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let one = &mut str;
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let mut s  = String::from("sdf");
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]  --> src/test3.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |         let b = "222";
[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]   --> src/test3.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let b = a;
[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]   --> src/test3.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let b = a.clone();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut c = &mut b;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/test3.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let item = &mut a;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/test3.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut b = add_str_ls(&mut a);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut b = add_str_ls(&mut a);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let mut c = &mut a;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/test3.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut d = add_str_ls(&mut core);
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ccc`
[INFO] [stdout]    --> src/test3.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let ccc = 123;
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ccc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test3.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let mut a = [1,2,3,4,5,6];
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/test4.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let a = Message::Quit;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/test4.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let a = if let 1 = some_u8_value {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/test4.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let p = &item[3];
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p`
[INFO] [stdout]    --> src/test4.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let p = item[3];
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test4.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut item = vec![1,2,3,4,5];
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item3`
[INFO] [stdout]    --> src/test4.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |     let item3 = item+&item2;
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_item3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/test4.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let f = File::open("hello.txt").unwrap_or_else(|error| {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arr`
[INFO] [stdout]   --> src/main.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let arr = [1,2,3,4,5];
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_arr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `months`
[INFO] [stdout]   --> src/main.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let months = ["January", "February", "March", "April", "May", "June", "July",
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_months`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/main.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut  item = [1;100];
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let mut  item = [1;100];
[INFO] [stdout]    |         -----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]   --> src/main.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let a = rust_return_test();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/main.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let b = if 123>111 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/main.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let ans = if is_can_returen {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b` is assigned to, but never used
[INFO] [stdout]    --> src/main.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let mut b = 123;
[INFO] [stdout]     |                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b` is never read
[INFO] [stdout]    --> src/main.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         b+=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: `item`
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let item = while ans<1000 {
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ans`
[INFO] [stdout]    --> src/main.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let ans = for number in 1..4 {
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number`
[INFO] [stdout]    --> src/main.rs:119:19
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let ans = for number in 1..4 {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let mut is_can_returen = i;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `game` is never used
[INFO] [stdout]   --> src/main.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn game(){
[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 `test_type_base` is never used
[INFO] [stdout]   --> src/main.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn test_type_base(){
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_type_base2` is never used
[INFO] [stdout]   --> src/main.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn test_type_base2(){
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn_1` is never used
[INFO] [stdout]   --> src/main.rs:75:4
[INFO] [stdout]    |
[INFO] [stdout] 75 | fn test_fn_1() {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rust_return_test` is never used
[INFO] [stdout]   --> src/main.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn rust_return_test()->i32{
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `if_else_math` is never used
[INFO] [stdout]   --> src/main.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn if_else_math(i :bool){
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `self_info` is never used
[INFO] [stdout]  --> src/test.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn self_info(){
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_info` is never used
[INFO] [stdout]   --> src/test.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn string_info(){
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_item` is never used
[INFO] [stdout]   --> src/test.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn test_item(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn` is never used
[INFO] [stdout]   --> src/test.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn test_fn(mut some_string:String)->String{
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_item2` is never used
[INFO] [stdout]   --> src/test.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn test_item2(){
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn2` is never used
[INFO] [stdout]   --> src/test.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn test_fn2(s: &mut String){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn3` is never used
[INFO] [stdout]    --> src/test.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn test_fn3() -> String{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_splic` is never used
[INFO] [stdout]    --> src/test.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn test_splic(){
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_fn4` is never used
[INFO] [stdout]    --> src/test.rs:128:4
[INFO] [stdout]     |
[INFO] [stdout] 128 | fn test_fn4(s:&String)->usize{
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_split` is never used
[INFO] [stdout]    --> src/test.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn test_split(arr:&mut [i32]) -> & [i32]{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test1` is never used
[INFO] [stdout]  --> src/test3.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn test1(){
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]   --> src/test3.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn test2(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test3` is never used
[INFO] [stdout]   --> src/test3.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn test3(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test4` is never used
[INFO] [stdout]   --> src/test3.rs:33:4
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn test4(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str` is never used
[INFO] [stdout]   --> src/test3.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn add_str(str : String) -> String{
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str_no_clone` is never used
[INFO] [stdout]   --> src/test3.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn add_str_no_clone(mut str : String) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test5` is never used
[INFO] [stdout]   --> src/test3.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn test5() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str_l` is never used
[INFO] [stdout]   --> src/test3.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn add_str_l(str: &mut String) -> &mut String{
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test6` is never used
[INFO] [stdout]   --> src/test3.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | fn test6(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test7` is never used
[INFO] [stdout]   --> src/test3.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn test7(){
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_str_ls` is never used
[INFO] [stdout]    --> src/test3.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn add_str_ls(str: &mut String)->&mut String{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test` is never used
[INFO] [stdout]    --> src/test3.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn test(){
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `testp` is never read
[INFO] [stdout]  --> src/test4.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Range{
[INFO] [stdout]   |        ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     testp : test
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Range` 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 `one` and `two` are never read
[INFO] [stdout]   --> src/test4.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct  test{
[INFO] [stdout]    |         ---- fields in this struct
[INFO] [stdout] 13 |     one : i32,two : i32
[INFO] [stdout]    |     ^^^       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `test` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `area` is never used
[INFO] [stdout]   --> src/test4.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Range{
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 18 |     fn area(&self)-> i32{
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Move`, `Write`, and `ChangeColor` are never constructed
[INFO] [stdout]   --> src/test4.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | enum Message {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] 45 |     Quit,
[INFO] [stdout] 46 |     Move { x: i32, y: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     Write(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     ChangeColor(i32, i32, i32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_enumo_option` is never used
[INFO] [stdout]   --> src/test4.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn test_enumo_option(item : String) -> Option<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plus_one` is never used
[INFO] [stdout]   --> src/test4.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn plus_one(x: Option<i32>) -> Option<i32> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_vec` is never used
[INFO] [stdout]   --> src/test4.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn test_vec(){
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_str` is never used
[INFO] [stdout]    --> src/test4.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn test_str(){
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `myHash` should have a snake case name
[INFO] [stdout]    --> src/test4.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let mut myHash :HashMap<i32,String> = HashMap::new();
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `my_hash`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "b69fe501e2aaccdec5b4feb7be022f71f06029f653eeffe36e3683244ec75406", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b69fe501e2aaccdec5b4feb7be022f71f06029f653eeffe36e3683244ec75406", kill_on_drop: false }`
[INFO] [stdout] b69fe501e2aaccdec5b4feb7be022f71f06029f653eeffe36e3683244ec75406
