[INFO] cloning repository https://github.com/yaoliao/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/yaoliao/rust-study" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyaoliao%2Frust-study", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyaoliao%2Frust-study'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 916a70850556f642248b9fb99f45f61a1896f611 [INFO] testing yaoliao/rust-study against beta-2021-01-01 for beta-1.50-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyaoliao%2Frust-study" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yaoliao/rust-study on toolchain beta-2021-01-01 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/yaoliao/rust-study [INFO] finished tweaking git repo https://github.com/yaoliao/rust-study [INFO] tweaked toml for git repo https://github.com/yaoliao/rust-study written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/yaoliao/rust-study already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded futures-io-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded ferris-says v0.2.0 [INFO] [stderr] Downloaded futures-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-sink-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-util-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded smallvec v0.4.5 [INFO] [stderr] Downloaded futures-channel-preview v0.3.0-alpha.17 [INFO] [stderr] Downloaded futures-core-preview v0.3.0-alpha.17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 7cd2c37f32a681050c797f9b4cd5176527710d8981a30321b26997f6db1f923d [INFO] running `Command { std: "docker" "start" "-a" "7cd2c37f32a681050c797f9b4cd5176527710d8981a30321b26997f6db1f923d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7cd2c37f32a681050c797f9b4cd5176527710d8981a30321b26997f6db1f923d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7cd2c37f32a681050c797f9b4cd5176527710d8981a30321b26997f6db1f923d", kill_on_drop: false }` [INFO] [stdout] 7cd2c37f32a681050c797f9b4cd5176527710d8981a30321b26997f6db1f923d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 733766275da87913de61b45d339893a47f5d253611a752dbd9c6029c177b7e01 [INFO] running `Command { std: "docker" "start" "-a" "733766275da87913de61b45d339893a47f5d253611a752dbd9c6029c177b7e01", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.81 [INFO] [stderr] Compiling futures-core-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling adler v0.2.3 [INFO] [stderr] Compiling gimli v0.23.0 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling rustc-demangle v0.1.18 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling futures-io-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling object v0.22.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling smallvec v0.4.5 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling futures-sink-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling futures-channel-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling futures-util-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling addr2line v0.14.0 [INFO] [stderr] Compiling futures-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling backtrace v0.3.55 [INFO] [stderr] Compiling error-chain v0.10.0 [INFO] [stderr] Compiling ferris-says v0.2.0 [INFO] [stderr] Compiling rust-study v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `soup` [INFO] [stdout] --> src/lib.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let soup = back_of_house::Appetizer::Soup; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_soup` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add` [INFO] [stdout] --> src/front_of_house.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | fn add() { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_order` [INFO] [stdout] --> src/front_of_house.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `server_order` [INFO] [stdout] --> src/front_of_house.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | fn server_order() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_payment` [INFO] [stdout] --> src/front_of_house.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | fn take_payment() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serve_order` [INFO] [stdout] --> src/lib.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn serve_order() {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/lib.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/lib.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Salad` [INFO] [stdout] --> src/lib.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | Salad, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/closure.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | /// 下面这段代码无法通过编译 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [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/closure.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// 因为使用了 [move] 导致 x 的所有权被转移到了 闭包[equal_to_x] 中 [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/closure.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | /// 当下一行想去输出 x 的时候已经无法获取到所有权了 [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/unsafe_study/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | /// 不安全的创建裸指针的方法 [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 import: `std::cmp::Ordering` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/string.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | / /// UTF-8编码时 一个汉字字符储存需要3到4个字节,所以 0.。1 运行会直接报错!!!!!!! [INFO] [stdout] 44 | | /// let c = &str[0..1]; [INFO] [stdout] 45 | | /// println!("{}", c); [INFO] [stdout] | |__________________________^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | let chars = str.chars(); [INFO] [stdout] | ------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/collection.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / /// 获取了 vector 的第一个元素的不可变引用并尝试在 vector 末尾增加一个元素的时候,这是行不通的 [INFO] [stdout] 28 | | /// let new_one = &vector[0]; [INFO] [stdout] 29 | | /// vector.push(5); [INFO] [stdout] 30 | | /// println!("vec one :{}", new_one); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] 31 | [INFO] [stdout] 32 | let num = vec![100, 233, 1232]; [INFO] [stdout] | ------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/map.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / /// u32 实现了 Copy trait 的类型,其值可以拷贝进哈希 map [INFO] [stdout] 12 | | /// 但是 String 的所有权会被转移到 map 中, [INFO] [stdout] 13 | | /// let mut map: HashMap = HashMap::new(); [INFO] [stdout] 14 | | /// map.insert(jack, 23); // jack 的所有权已经被转移 [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] ... [INFO] [stdout] 17 | let key = vec![String::from("Jack"), String::from("Rose")]; [INFO] [stdout] | ----------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/map.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | /// 必须使用 HashMap<_, _> 表明类型 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let mut map: HashMap<_, _> = key.iter().zip(value.iter()).collect(); [INFO] [stdout] | -------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/map.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | /// 根据旧值更新新值 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | let text = "hello world wonderful world"; [INFO] [stdout] | ----------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/practice.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | if len / 2 == 0 { (vec[len / 2 - 1] + vec[len / 2]) } else { vec[len / 2] } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/trait_study.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/trait_study.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / /// 返回错误,只有泛型为 f32 的才定义了这个方法 [INFO] [stdout] 12 | | /// println!("distance_from_origin: {}", p.distance_from_origin()); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] 13 | let p = Point { x: 20.0, y: 30.0 }; [INFO] [stdout] | ----------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/closure.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | / /// 闭包捕获环境 [INFO] [stdout] 21 | | /// 如果你希望强制闭包获取其使用的环境值的所有权,可以在参数列表前使用 [move] 关键字 [INFO] [stdout] 22 | | /// 类似:let equal_to_x = move |z| z == x; [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] 23 | let x = 4; [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ConsRc`, `NilRc` [INFO] [stdout] --> src/smart_pointer.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::smart_pointer::ListRc::{ConsRc, NilRc}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `mpsc` [INFO] [stdout] --> src/concurrent/thread_study.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::{Arc, mpsc, Mutex}; [INFO] [stdout] | ^^^ ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Formatter` [INFO] [stdout] --> src/unsafe_study/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt::Formatter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Point_v1` should have an upper camel case name [INFO] [stdout] --> src/unsafe_study/mod.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | struct Point_v1 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PointV1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::Duration` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::asynchronous::timer::TimerFuture` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::asynchronous::timer::TimerFuture; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemTime` [INFO] [stdout] --> src/asynchronous/mod.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::executor::block_on` [INFO] [stdout] --> src/asynchronous/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use futures::executor::block_on; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_str` [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let some_str = Some("hello"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `none` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let none: Option = None; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_none` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> src/main.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mut count = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/main.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | } else { count += 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tmp` is never read [INFO] [stdout] --> src/main.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | let mut tmp = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | for i in 2..n + 1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_str` [INFO] [stdout] --> src/string.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let new_str = String::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let s = data.to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let s = "initial contents".to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let s = String::from("initial contents"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/collection.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> src/collection.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let row = vec![ [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/practice.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | let (mut cnt, len, mut res) = (0, vec.len(), vec[0]); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let f = match f { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let f = match f { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let f = File::open("rust.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: `f` [INFO] [stdout] --> src/error.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let f = File::open("rust.txt").unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let f = File::open("rust.txt").expect("can't open file rust.txt"); [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] --> src/smart_pointer.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let b = Box::new(5); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f1` [INFO] [stdout] --> src/asynchronous/mod.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let f1 = learn_and_sing(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f2` [INFO] [stdout] --> src/asynchronous/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let f2 = dance_async(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/collection.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let mut vector = vec![1, 2, 3]; // 利用 vec! 宏 来创建 [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/iterator.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let mut v1_iter = v1.iter(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `string_study` [INFO] [stdout] --> src/string.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn string_study() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `my_collection` [INFO] [stdout] --> src/collection.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn my_collection() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `SpreadsheetCell` [INFO] [stdout] --> src/collection.rs:54:6 [INFO] [stdout] | [INFO] [stdout] 54 | enum SpreadsheetCell { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `map_study` [INFO] [stdout] --> src/map.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn map_study() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bubble_sort` [INFO] [stdout] --> src/practice.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn bubble_sort(vec: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_username_from_file_v1` [INFO] [stdout] --> src/error.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn read_username_from_file_v1() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_username_from_file_v2` [INFO] [stdout] --> src/error.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn read_username_from_file_v2() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_t_d_where` [INFO] [stdout] --> src/trait_study.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn notify_t_d_where(item: T) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `grep` [INFO] [stdout] --> src/mini_grep.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn grep() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Config` [INFO] [stdout] --> src/mini_grep.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/mini_grep.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `run` [INFO] [stdout] --> src/mini_grep.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search` [INFO] [stdout] --> src/mini_grep.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn search<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `search_case_insensitive` [INFO] [stdout] --> src/mini_grep.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn search_case_insensitive<'a>(query: &str, contents: &'a str) -> Vec<&'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simulated_expensive_calculation` [INFO] [stdout] --> src/closure.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn simulated_expensive_calculation(intensity: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `CacheMap` [INFO] [stdout] --> src/closure.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | struct CacheMap<'a, T, V> [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/closure.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | fn new(calculation: T) -> CacheMap<'a, T, V> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `value` [INFO] [stdout] --> src/closure.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | fn value(&mut self, arg: &'a V) -> &'a V { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `iterator_study` [INFO] [stdout] --> src/iterator.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn iterator_study() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `shoes_in_my_size` [INFO] [stdout] --> src/iterator.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn shoes_in_my_size(shoes: Vec, size: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/iterator.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | fn new() -> Counter { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `point` [INFO] [stdout] --> src/smart_pointer.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn point() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Cons` [INFO] [stdout] --> src/smart_pointer.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | Cons(i32, Box), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nil` [INFO] [stdout] --> src/smart_pointer.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | Nil, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/smart_pointer.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn new(x: T) -> MyBox { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hello` [INFO] [stdout] --> src/smart_pointer.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn hello(name: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `ListRc` [INFO] [stdout] --> src/smart_pointer.rs:112:6 [INFO] [stdout] | [INFO] [stdout] 112 | enum ListRc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `LimitTracker` [INFO] [stdout] --> src/smart_pointer.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct LimitTracker<'a, T: Messenger> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/smart_pointer.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_value` [INFO] [stdout] --> src/smart_pointer.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn set_value(&mut self, value: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_one` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | fn add_one(x: i32) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `do_twice` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn do_twice(f: fn(i32) -> i32, arg: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `do_twice_v1` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn do_twice_v1(f: T, arg: i32) -> i32 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Status` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | enum Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_closure` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn returns_closure() -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `unsafe_use` [INFO] [stdout] --> src/unsafe_study/mod.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn unsafe_use() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dangerous` [INFO] [stdout] --> src/unsafe_study/mod.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | unsafe fn dangerous() {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `split_at_mut` [INFO] [stdout] --> src/unsafe_study/mod.rs:45:4 [INFO] [stdout] | [INFO] [stdout] 45 | fn split_at_mut(slice: &mut [i32], mid: usize) -> (&mut [i32], &mut [i32]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `abs` [INFO] [stdout] --> src/unsafe_study/mod.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | fn abs(input: i32) -> i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_POINTS` [INFO] [stdout] --> src/unsafe_study/mod.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | const MAX_POINTS: u32 = 100_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `HELLO_WORLD` [INFO] [stdout] --> src/unsafe_study/mod.rs:87:1 [INFO] [stdout] | [INFO] [stdout] 87 | static HELLO_WORLD: &str = "Hello, world!"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `COUNTER` [INFO] [stdout] --> src/unsafe_study/mod.rs:88:1 [INFO] [stdout] | [INFO] [stdout] 88 | static mut COUNTER: u32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `never_type` [INFO] [stdout] --> src/unsafe_study/mod.rs:212:4 [INFO] [stdout] | [INFO] [stdout] 212 | fn never_type() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Executor` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Executor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `future` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | future: Mutex>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `spawn` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | fn spawn(&self, future: impl Future + Send + 'static) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `run` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | fn run(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `new_executor_and_spawner` [INFO] [stdout] --> src/asynchronous/timer/executor.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn new_executor_and_spawner() -> (Executor, Spawner) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/asynchronous/timer/mod.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn new(duration: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Song` [INFO] [stdout] --> src/asynchronous/mod.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Song { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `learn_song` [INFO] [stdout] --> src/asynchronous/mod.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn learn_song() -> Song { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sing_song` [INFO] [stdout] --> src/asynchronous/mod.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn sing_song(song: Song) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dance` [INFO] [stdout] --> src/asynchronous/mod.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn dance() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `learn_song_async` [INFO] [stdout] --> src/asynchronous/mod.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | async fn learn_song_async() -> Song { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sing_song_async` [INFO] [stdout] --> src/asynchronous/mod.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | async fn sing_song_async(song: Song) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `dance_async` [INFO] [stdout] --> src/asynchronous/mod.rs:55:10 [INFO] [stdout] | [INFO] [stdout] 55 | async fn dance_async() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `learn_and_sing` [INFO] [stdout] --> src/asynchronous/mod.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | async fn learn_and_sing() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `async_main` [INFO] [stdout] --> src/asynchronous/mod.rs:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | async fn async_main() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fib` [INFO] [stdout] --> src/main.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn fib(n: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fib1` [INFO] [stdout] --> src/main.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn fib1(n: i32) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/main.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/main.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/main.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alaska` [INFO] [stdout] --> src/main.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | Alaska, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/main.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/main.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/main.rs:205:5 [INFO] [stdout] | [INFO] [stdout] 205 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 114 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 40.05s [INFO] running `Command { std: "docker" "inspect" "733766275da87913de61b45d339893a47f5d253611a752dbd9c6029c177b7e01", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "733766275da87913de61b45d339893a47f5d253611a752dbd9c6029c177b7e01", kill_on_drop: false }` [INFO] [stdout] 733766275da87913de61b45d339893a47f5d253611a752dbd9c6029c177b7e01 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d7381076d0f03410d18cefae5800dfbb8202f75ee7e37e698f07adeae7537450 [INFO] running `Command { std: "docker" "start" "-a" "d7381076d0f03410d18cefae5800dfbb8202f75ee7e37e698f07adeae7537450", kill_on_drop: false }` [INFO] [stderr] Compiling rust-study v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `soup` [INFO] [stdout] --> src/lib.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let soup = back_of_house::Appetizer::Soup; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_soup` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add` [INFO] [stdout] --> src/front_of_house.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | fn add() { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_order` [INFO] [stdout] --> src/front_of_house.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `server_order` [INFO] [stdout] --> src/front_of_house.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | fn server_order() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_payment` [INFO] [stdout] --> src/front_of_house.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | fn take_payment() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serve_order` [INFO] [stdout] --> src/lib.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn serve_order() {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/lib.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/lib.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Salad` [INFO] [stdout] --> src/lib.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | Salad, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/closure.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | /// 下面这段代码无法通过编译 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [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/closure.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// 因为使用了 [move] 导致 x 的所有权被转移到了 闭包[equal_to_x] 中 [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/closure.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | /// 当下一行想去输出 x 的时候已经无法获取到所有权了 [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/unsafe_study/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | /// 不安全的创建裸指针的方法 [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/smart_pointer.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | /// 下列代码无法编译通过。因为 x 是不可变的,所以无法可变的借用他 [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 variable: `soup` [INFO] [stdout] --> src/lib.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | let soup = back_of_house::Appetizer::Soup; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_soup` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/smart_pointer.rs:209:5 [INFO] [stdout] | [INFO] [stdout] 209 | /// 借用规则的一个推论是当有一个不可变值时,不能可变地借用它 [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/unsafe_study/function_pointer.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | /// 函数指针实现了所有三个闭包 trait(Fn、FnMut 和 FnOnce),所以总是可以在调用期望闭包的函数时传递函数指针作为参数。 ... [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/unsafe_study/function_pointer.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | /// 倾向于编写使用泛型和闭包 trait 的函数,这样它就能接受函数或闭包作为参数。 [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 import: `std::cmp::Ordering` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/string.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | / /// UTF-8编码时 一个汉字字符储存需要3到4个字节,所以 0.。1 运行会直接报错!!!!!!! [INFO] [stdout] 44 | | /// let c = &str[0..1]; [INFO] [stdout] 45 | | /// println!("{}", c); [INFO] [stdout] | |__________________________^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | let chars = str.chars(); [INFO] [stdout] | ------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/collection.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / /// 获取了 vector 的第一个元素的不可变引用并尝试在 vector 末尾增加一个元素的时候,这是行不通的 [INFO] [stdout] 28 | | /// let new_one = &vector[0]; [INFO] [stdout] 29 | | /// vector.push(5); [INFO] [stdout] 30 | | /// println!("vec one :{}", new_one); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] 31 | [INFO] [stdout] 32 | let num = vec![100, 233, 1232]; [INFO] [stdout] | ------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/map.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / /// u32 实现了 Copy trait 的类型,其值可以拷贝进哈希 map [INFO] [stdout] 12 | | /// 但是 String 的所有权会被转移到 map 中, [INFO] [stdout] 13 | | /// let mut map: HashMap = HashMap::new(); [INFO] [stdout] 14 | | /// map.insert(jack, 23); // jack 的所有权已经被转移 [INFO] [stdout] | |________________________________________________________^ [INFO] [stdout] ... [INFO] [stdout] 17 | let key = vec![String::from("Jack"), String::from("Rose")]; [INFO] [stdout] | ----------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/map.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | /// 必须使用 HashMap<_, _> 表明类型 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | let mut map: HashMap<_, _> = key.iter().zip(value.iter()).collect(); [INFO] [stdout] | -------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/map.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | /// 根据旧值更新新值 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | let text = "hello world wonderful world"; [INFO] [stdout] | ----------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/practice.rs:43:23 [INFO] [stdout] | [INFO] [stdout] 43 | if len / 2 == 0 { (vec[len / 2 - 1] + vec[len / 2]) } else { vec[len / 2] } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/trait_study.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/trait_study.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | / /// 返回错误,只有泛型为 f32 的才定义了这个方法 [INFO] [stdout] 12 | | /// println!("distance_from_origin: {}", p.distance_from_origin()); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] 13 | let p = Point { x: 20.0, y: 30.0 }; [INFO] [stdout] | ----------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/closure.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | / /// 闭包捕获环境 [INFO] [stdout] 21 | | /// 如果你希望强制闭包获取其使用的环境值的所有权,可以在参数列表前使用 [move] 关键字 [INFO] [stdout] 22 | | /// 类似:let equal_to_x = move |z| z == x; [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] 23 | let x = 4; [INFO] [stdout] | ---------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/smart_pointer.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | /// 变量以被创建时 [相反] 的顺序被丢弃 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 98 | let c = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stdout] | -------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/concurrent/thread_study.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | /// 可以将 drop 放在这里,因为 [move] 会将变量的所有权转移到闭包中 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | drop(vec); [INFO] [stdout] | --------- rustdoc does not generate documentation for expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | /// 元组结构体和元组结构体枚举成员,它们也被称为实现了闭包 trait 的函数指针, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | / let list_of_statuses: Vec = [INFO] [stdout] 38 | | (0u32..20) [INFO] [stdout] 39 | | .map(Status::Value) [INFO] [stdout] 40 | | .collect(); [INFO] [stdout] | |_______________________- rustdoc does not generate documentation for statements [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Formatter` [INFO] [stdout] --> src/unsafe_study/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt::Formatter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/unsafe_study/mod.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | /// 只能在 unsafe 上下文中 [解引用] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | / unsafe { [INFO] [stdout] 36 | | println!("r1 is: {}", *r1); [INFO] [stdout] 37 | | println!("r2 is: {}", *r2); [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/unsafe_study/mod.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | /// 通过 [extern] 关键字,来调用 C 的函数 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | / unsafe { [INFO] [stdout] 79 | | println!("Absolute value of -3 according to C: {}", abs(-3)); [INFO] [stdout] 80 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/unsafe_study/mod.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | /// 读取或修改一个可变静态变量是不安全的 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | / unsafe { [INFO] [stdout] 95 | | COUNTER += 1; [INFO] [stdout] 96 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Point_v1` should have an upper camel case name [INFO] [stdout] --> src/unsafe_study/mod.rs:115:8 [INFO] [stdout] | [INFO] [stdout] 115 | struct Point_v1 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `PointV1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SystemTime` [INFO] [stdout] --> src/asynchronous/mod.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use std::time::{Duration, SystemTime}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add` [INFO] [stdout] --> src/front_of_house.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | fn add() { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_order` [INFO] [stdout] --> src/front_of_house.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | fn take_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `server_order` [INFO] [stdout] --> src/front_of_house.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | fn server_order() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `take_payment` [INFO] [stdout] --> src/front_of_house.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | fn take_payment() {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `serve_order` [INFO] [stdout] --> src/lib.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn serve_order() {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fix_incorrect_order` [INFO] [stdout] --> src/lib.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | fn fix_incorrect_order() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `cook_order` [INFO] [stdout] --> src/lib.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn cook_order() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `seasonal_fruit` [INFO] [stdout] --> src/lib.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | seasonal_fruit: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Salad` [INFO] [stdout] --> src/lib.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | Salad, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `some_str` [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let some_str = Some("hello"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_str` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `none` [INFO] [stdout] --> src/main.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let none: Option = None; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_none` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `count` is assigned to, but never used [INFO] [stdout] --> src/main.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mut count = 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_count` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `count` is never read [INFO] [stdout] --> src/main.rs:108:14 [INFO] [stdout] | [INFO] [stdout] 108 | } else { count += 1 } [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tmp` is never read [INFO] [stdout] --> src/main.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | let mut tmp = 0; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | for i in 2..n + 1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_str` [INFO] [stdout] --> src/string.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | let new_str = String::new(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | let s = data.to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | let s = "initial contents".to_string(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/string.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let s = String::from("initial contents"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/collection.rs:13:13 [INFO] [stdout] | [INFO] [stdout] 13 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> src/collection.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let row = vec![ [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `len` [INFO] [stdout] --> src/practice.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 26 | let (mut cnt, len, mut res) = (0, vec.len(), vec[0]); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | let f = match f { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let f = match f { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let f = File::open("rust.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: `f` [INFO] [stdout] --> src/error.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let f = File::open("rust.txt").unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/error.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let f = File::open("rust.txt").expect("can't open file rust.txt"); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/closure.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | let v1 = c.value(1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/closure.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | let v1 = c.value(&1); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r1` [INFO] [stdout] --> src/closure.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let r1 = cache.value(&"aa"); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/smart_pointer.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let b = Box::new(5); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/smart_pointer.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let c = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/smart_pointer.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | let d = CustomSmartPointer { data: String::from("other stuff") }; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/smart_pointer.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | let b = ConsRc(3, Rc::clone(&a)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/smart_pointer.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | let c = ConsRc(4, Rc::clone(&a)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `list_of_statuses` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | let list_of_statuses: Vec = [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_of_statuses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f1` [INFO] [stdout] --> src/asynchronous/mod.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let f1 = learn_and_sing(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f2` [INFO] [stdout] --> src/asynchronous/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let f2 = dance_async(); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_f2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/collection.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let mut vector = vec![1, 2, 3]; // 利用 vec! 宏 来创建 [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/iterator.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | let mut v1_iter = v1.iter(); [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/unsafe_study/mod.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 200 | let mut w = Wrapper(vec![String::from("hello"), String::from("world")]); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `string_study` [INFO] [stdout] --> src/string.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn string_study() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `my_collection` [INFO] [stdout] --> src/collection.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn my_collection() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `SpreadsheetCell` [INFO] [stdout] --> src/collection.rs:54:6 [INFO] [stdout] | [INFO] [stdout] 54 | enum SpreadsheetCell { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `map_study` [INFO] [stdout] --> src/map.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn map_study() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `bubble_sort` [INFO] [stdout] --> src/practice.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn bubble_sort(vec: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_username_from_file_v1` [INFO] [stdout] --> src/error.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn read_username_from_file_v1() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `read_username_from_file_v2` [INFO] [stdout] --> src/error.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn read_username_from_file_v2() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `notify_t_d_where` [INFO] [stdout] --> src/trait_study.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn notify_t_d_where(item: T) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `grep` [INFO] [stdout] --> src/mini_grep.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn grep() { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Config` [INFO] [stdout] --> src/mini_grep.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/mini_grep.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(args: &[String]) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `run` [INFO] [stdout] --> src/mini_grep.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `simulated_expensive_calculation` [INFO] [stdout] --> src/closure.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn simulated_expensive_calculation(intensity: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Stop` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `returns_closure` [INFO] [stdout] --> src/unsafe_study/function_pointer.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn returns_closure() -> Box i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `unsafe_use` [INFO] [stdout] --> src/unsafe_study/mod.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn unsafe_use() { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_POINTS` [INFO] [stdout] --> src/unsafe_study/mod.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | const MAX_POINTS: u32 = 100_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `HELLO_WORLD` [INFO] [stdout] --> src/unsafe_study/mod.rs:87:1 [INFO] [stdout] | [INFO] [stdout] 87 | static HELLO_WORLD: &str = "Hello, world!"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `never_type` [INFO] [stdout] --> src/unsafe_study/mod.rs:212:4 [INFO] [stdout] | [INFO] [stdout] 212 | fn never_type() {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fib` [INFO] [stdout] --> src/main.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn fib(n: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fib1` [INFO] [stdout] --> src/main.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn fib1(n: i32) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/main.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/main.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/main.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alaska` [INFO] [stdout] --> src/main.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 198 | Alaska, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/main.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/main.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/main.rs:205:5 [INFO] [stdout] | [INFO] [stdout] 205 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 89 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.16s [INFO] running `Command { std: "docker" "inspect" "d7381076d0f03410d18cefae5800dfbb8202f75ee7e37e698f07adeae7537450", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7381076d0f03410d18cefae5800dfbb8202f75ee7e37e698f07adeae7537450", kill_on_drop: false }` [INFO] [stdout] d7381076d0f03410d18cefae5800dfbb8202f75ee7e37e698f07adeae7537450 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d39558a2efb7beb0fd9c693f258ecfab9d88b0aa60337aba9f98d021bf3e2440 [INFO] running `Command { std: "docker" "start" "-a" "d39558a2efb7beb0fd9c693f258ecfab9d88b0aa60337aba9f98d021bf3e2440", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `soup` [INFO] [stderr] --> src/lib.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | let soup = back_of_house::Appetizer::Soup; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_soup` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add` [INFO] [stderr] --> src/front_of_house.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | fn add() { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `take_order` [INFO] [stderr] --> src/front_of_house.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | fn take_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `server_order` [INFO] [stderr] --> src/front_of_house.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | fn server_order() {} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `take_payment` [INFO] [stderr] --> src/front_of_house.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | fn take_payment() {} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serve_order` [INFO] [stderr] --> src/lib.rs:29:4 [INFO] [stderr] | [INFO] [stderr] 29 | fn serve_order() {} [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fix_incorrect_order` [INFO] [stderr] --> src/lib.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | fn fix_incorrect_order() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cook_order` [INFO] [stderr] --> src/lib.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | fn cook_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `seasonal_fruit` [INFO] [stderr] --> src/lib.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | seasonal_fruit: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Salad` [INFO] [stderr] --> src/lib.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | Salad, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused variable: `soup` [INFO] [stderr] --> src/lib.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | let soup = back_of_house::Appetizer::Soup; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_soup` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add` [INFO] [stderr] --> src/front_of_house.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | fn add() { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `take_order` [INFO] [stderr] --> src/front_of_house.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | fn take_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `server_order` [INFO] [stderr] --> src/front_of_house.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | fn server_order() {} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `take_payment` [INFO] [stderr] --> src/front_of_house.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | fn take_payment() {} [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `serve_order` [INFO] [stderr] --> src/lib.rs:29:4 [INFO] [stderr] | [INFO] [stderr] 29 | fn serve_order() {} [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fix_incorrect_order` [INFO] [stderr] --> src/lib.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | fn fix_incorrect_order() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `cook_order` [INFO] [stderr] --> src/lib.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | fn cook_order() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `seasonal_fruit` [INFO] [stderr] --> src/lib.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | seasonal_fruit: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Salad` [INFO] [stderr] --> src/lib.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | Salad, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 10 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/closure.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | /// 下面这段代码无法通过编译 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/closure.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | /// 因为使用了 [move] 导致 x 的所有权被转移到了 闭包[equal_to_x] 中 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/closure.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | /// 当下一行想去输出 x 的时候已经无法获取到所有权了 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | /// 不安全的创建裸指针的方法 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/smart_pointer.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | /// 下列代码无法编译通过。因为 x 是不可变的,所以无法可变的借用他 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/smart_pointer.rs:209:5 [INFO] [stderr] | [INFO] [stderr] 209 | /// 借用规则的一个推论是当有一个不可变值时,不能可变地借用它 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/function_pointer.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | /// 函数指针实现了所有三个闭包 trait(Fn、FnMut 和 FnOnce),所以总是可以在调用期望闭包的函数时传递函数指针作为参数。 ... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/function_pointer.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | /// 倾向于编写使用泛型和闭包 trait 的函数,这样它就能接受函数或闭包作为参数。 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::Ordering` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::cmp::Ordering; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/string.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / /// UTF-8编码时 一个汉字字符储存需要3到4个字节,所以 0.。1 运行会直接报错!!!!!!! [INFO] [stderr] 44 | | /// let c = &str[0..1]; [INFO] [stderr] 45 | | /// println!("{}", c); [INFO] [stderr] | |__________________________^ [INFO] [stderr] 46 | [INFO] [stderr] 47 | let chars = str.chars(); [INFO] [stderr] | ------------------------ rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/collection.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / /// 获取了 vector 的第一个元素的不可变引用并尝试在 vector 末尾增加一个元素的时候,这是行不通的 [INFO] [stderr] 28 | | /// let new_one = &vector[0]; [INFO] [stderr] 29 | | /// vector.push(5); [INFO] [stderr] 30 | | /// println!("vec one :{}", new_one); [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] 31 | [INFO] [stderr] 32 | let num = vec![100, 233, 1232]; [INFO] [stderr] | ------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/map.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / /// u32 实现了 Copy trait 的类型,其值可以拷贝进哈希 map [INFO] [stderr] 12 | | /// 但是 String 的所有权会被转移到 map 中, [INFO] [stderr] 13 | | /// let mut map: HashMap = HashMap::new(); [INFO] [stderr] 14 | | /// map.insert(jack, 23); // jack 的所有权已经被转移 [INFO] [stderr] | |________________________________________________________^ [INFO] [stderr] ... [INFO] [stderr] 17 | let key = vec![String::from("Jack"), String::from("Rose")]; [INFO] [stderr] | ----------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/map.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | /// 必须使用 HashMap<_, _> 表明类型 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 20 | let mut map: HashMap<_, _> = key.iter().zip(value.iter()).collect(); [INFO] [stderr] | -------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/map.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | /// 根据旧值更新新值 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 53 | let text = "hello world wonderful world"; [INFO] [stderr] | ----------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/practice.rs:43:23 [INFO] [stderr] | [INFO] [stderr] 43 | if len / 2 == 0 { (vec[len / 2 - 1] + vec[len / 2]) } else { vec[len / 2] } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Display` [INFO] [stderr] --> src/trait_study.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fmt::Display; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/trait_study.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / /// 返回错误,只有泛型为 f32 的才定义了这个方法 [INFO] [stderr] 12 | | /// println!("distance_from_origin: {}", p.distance_from_origin()); [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] 13 | let p = Point { x: 20.0, y: 30.0 }; [INFO] [stderr] | ----------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/closure.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / /// 闭包捕获环境 [INFO] [stderr] 21 | | /// 如果你希望强制闭包获取其使用的环境值的所有权,可以在参数列表前使用 [move] 关键字 [INFO] [stderr] 22 | | /// 类似:let equal_to_x = move |z| z == x; [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] 23 | let x = 4; [INFO] [stderr] | ---------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/smart_pointer.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | /// 变量以被创建时 [相反] 的顺序被丢弃 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 98 | let c = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stderr] | -------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/concurrent/thread_study.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | /// 可以将 drop 放在这里,因为 [move] 会将变量的所有权转移到闭包中 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 33 | drop(vec); [INFO] [stderr] | --------- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/function_pointer.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | /// 元组结构体和元组结构体枚举成员,它们也被称为实现了闭包 trait 的函数指针, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 37 | / let list_of_statuses: Vec = [INFO] [stderr] 38 | | (0u32..20) [INFO] [stderr] 39 | | .map(Status::Value) [INFO] [stderr] 40 | | .collect(); [INFO] [stderr] | |_______________________- rustdoc does not generate documentation for statements [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt::Formatter` [INFO] [stderr] --> src/unsafe_study/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::fmt::Formatter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/mod.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | /// 只能在 unsafe 上下文中 [解引用] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 35 | / unsafe { [INFO] [stderr] 36 | | println!("r1 is: {}", *r1); [INFO] [stderr] 37 | | println!("r2 is: {}", *r2); [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/mod.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | /// 通过 [extern] 关键字,来调用 C 的函数 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 78 | / unsafe { [INFO] [stderr] 79 | | println!("Absolute value of -3 according to C: {}", abs(-3)); [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/unsafe_study/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | /// 读取或修改一个可变静态变量是不安全的 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 94 | / unsafe { [INFO] [stderr] 95 | | COUNTER += 1; [INFO] [stderr] 96 | | } [INFO] [stderr] | |_____- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: type `Point_v1` should have an upper camel case name [INFO] [stderr] --> src/unsafe_study/mod.rs:115:8 [INFO] [stderr] | [INFO] [stderr] 115 | struct Point_v1 { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `PointV1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SystemTime` [INFO] [stderr] --> src/asynchronous/mod.rs:6:27 [INFO] [stderr] | [INFO] [stderr] 6 | use std::time::{Duration, SystemTime}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `some_str` [INFO] [stderr] --> src/main.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | let some_str = Some("hello"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_some_str` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `none` [INFO] [stderr] --> src/main.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | let none: Option = None; [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_none` [INFO] [stderr] [INFO] [stderr] warning: variable `count` is assigned to, but never used [INFO] [stderr] --> src/main.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | let mut count = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_count` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `count` is never read [INFO] [stderr] --> src/main.rs:108:14 [INFO] [stderr] | [INFO] [stderr] 108 | } else { count += 1 } [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `tmp` is never read [INFO] [stderr] --> src/main.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | let mut tmp = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | for i in 2..n + 1 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_str` [INFO] [stderr] --> src/string.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | let new_str = String::new(); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_str` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/string.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | let s = data.to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/string.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | let s = "initial contents".to_string(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/string.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | let s = String::from("initial contents"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/collection.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | let v = vec![1, 2, 3]; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `row` [INFO] [stderr] --> src/collection.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let row = vec![ [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/practice.rs:26:19 [INFO] [stderr] | [INFO] [stderr] 26 | let (mut cnt, len, mut res) = (0, vec.len(), vec[0]); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_len` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/error.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | let f = match f { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/error.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let f = match f { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/error.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let f = File::open("rust.txt").unwrap_or_else(|error| { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/error.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | let f = File::open("rust.txt").unwrap(); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/error.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | let f = File::open("rust.txt").expect("can't open file rust.txt"); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v1` [INFO] [stderr] --> src/closure.rs:130:9 [INFO] [stderr] | [INFO] [stderr] 130 | let v1 = c.value(1); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v1` [INFO] [stderr] --> src/closure.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | let v1 = c.value(&1); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r1` [INFO] [stderr] --> src/closure.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | let r1 = cache.value(&"aa"); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_r1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/smart_pointer.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | let b = Box::new(5); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/smart_pointer.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | let c = CustomSmartPointer { data: String::from("my stuff") }; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `d` [INFO] [stderr] --> src/smart_pointer.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | let d = CustomSmartPointer { data: String::from("other stuff") }; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/smart_pointer.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | let b = ConsRc(3, Rc::clone(&a)); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/smart_pointer.rs:127:13 [INFO] [stderr] | [INFO] [stderr] 127 | let c = ConsRc(4, Rc::clone(&a)); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `list_of_statuses` [INFO] [stderr] --> src/unsafe_study/function_pointer.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let list_of_statuses: Vec = [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_of_statuses` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f1` [INFO] [stderr] --> src/asynchronous/mod.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | let f1 = learn_and_sing(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_f1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f2` [INFO] [stderr] --> src/asynchronous/mod.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | let f2 = dance_async(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_f2` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/collection.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let mut vector = vec![1, 2, 3]; // 利用 vec! 宏 来创建 [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/iterator.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | let mut v1_iter = v1.iter(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/unsafe_study/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | let mut w = Wrapper(vec![String::from("hello"), String::from("world")]); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `string_study` [INFO] [stderr] --> src/string.rs:2:8 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn string_study() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `my_collection` [INFO] [stderr] --> src/collection.rs:2:8 [INFO] [stderr] | [INFO] [stderr] 2 | pub fn my_collection() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `SpreadsheetCell` [INFO] [stderr] --> src/collection.rs:54:6 [INFO] [stderr] | [INFO] [stderr] 54 | enum SpreadsheetCell { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `map_study` [INFO] [stderr] --> src/map.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn map_study() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bubble_sort` [INFO] [stderr] --> src/practice.rs:47:4 [INFO] [stderr] | [INFO] [stderr] 47 | fn bubble_sort(vec: &mut Vec) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file_v1` [INFO] [stderr] --> src/error.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | fn read_username_from_file_v1() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_username_from_file_v2` [INFO] [stderr] --> src/error.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | fn read_username_from_file_v2() -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `notify_t_d_where` [INFO] [stderr] --> src/trait_study.rs:149:4 [INFO] [stderr] | [INFO] [stderr] 149 | fn notify_t_d_where(item: T) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `grep` [INFO] [stderr] --> src/mini_grep.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn grep() { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Config` [INFO] [stderr] --> src/mini_grep.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct Config { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/mini_grep.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn new(args: &[String]) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run` [INFO] [stderr] --> src/mini_grep.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn run(config: Config) -> Result<(), Box> { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulated_expensive_calculation` [INFO] [stderr] --> src/closure.rs:41:4 [INFO] [stderr] | [INFO] [stderr] 41 | fn simulated_expensive_calculation(intensity: u32) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Stop` [INFO] [stderr] --> src/unsafe_study/function_pointer.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Stop, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `returns_closure` [INFO] [stderr] --> src/unsafe_study/function_pointer.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | fn returns_closure() -> Box i32> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `unsafe_use` [INFO] [stderr] --> src/unsafe_study/mod.rs:7:4 [INFO] [stderr] | [INFO] [stderr] 7 | fn unsafe_use() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `MAX_POINTS` [INFO] [stderr] --> src/unsafe_study/mod.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | const MAX_POINTS: u32 = 100_000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static is never used: `HELLO_WORLD` [INFO] [stderr] --> src/unsafe_study/mod.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | static HELLO_WORLD: &str = "Hello, world!"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `never_type` [INFO] [stderr] --> src/unsafe_study/mod.rs:212:4 [INFO] [stderr] | [INFO] [stderr] 212 | fn never_type() {} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fib` [INFO] [stderr] --> src/main.rs:126:4 [INFO] [stderr] | [INFO] [stderr] 126 | fn fib(n: i32) -> i32 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fib1` [INFO] [stderr] --> src/main.rs:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | fn fib1(n: i32) -> i32 { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/main.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | Quit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Move` [INFO] [stderr] --> src/main.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | Move { x: i32, y: i32 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeColor` [INFO] [stderr] --> src/main.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | ChangeColor(i32, i32, i32), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Alaska` [INFO] [stderr] --> src/main.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | Alaska, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Penny` [INFO] [stderr] --> src/main.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | Penny, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nickel` [INFO] [stderr] --> src/main.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | Nickel, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Dime` [INFO] [stderr] --> src/main.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | Dime, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: 89 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rust_study-ddadcfe830fcc01e [INFO] [stdout] running 1 test [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rust_study-9750eee8fc527cf9 [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test asynchronous::test_async ... ok [INFO] [stdout] test mini_grep::mini::test::case_sensitive ... ok [INFO] [stdout] test mini_grep::mini::test::case_insensitive ... ok [INFO] [stdout] test concurrent::thread_study::mutex ... ok [INFO] [stdout] test smart_pointer::test_de_referenced_4_box ... ok [INFO] [stdout] test smart_pointer::test_drop ... ok [INFO] [stdout] test smart_pointer::test_force_de_referenced ... ok [INFO] [stdout] test closure::call_with_different_values_v1 ... ok [INFO] [stdout] test smart_pointer::test_rc ... ok [INFO] [stdout] test iterator::filters_by_size ... ok [INFO] [stdout] test smart_pointer::test_ref_cell ... ok [INFO] [stdout] test smart_pointer::test_std_mem_drop ... ok [INFO] [stdout] test concurrent::thread_study::test_thread_move ... ok [INFO] [stdout] test unsafe_study::function_pointer::test_fn ... ok [INFO] [stdout] test iterator::test ... ok [INFO] [stdout] test unsafe_study::test_add ... ok [INFO] [stdout] test iterator::using_other_iterator_trait_methods ... ok [INFO] [stdout] test smart_pointer::tests::it_sends_an_over_75_percent_warning_message ... ok [INFO] [stdout] test trait_study::test_notify ... ok [INFO] [stdout] test smart_pointer::test_de_referenced_4_my_box ... ok [INFO] [stdout] test smart_pointer::test_list ... ok [INFO] [stdout] test concurrent::thread_study::mutex_v1 ... ok [INFO] [stdout] test unsafe_study::test_unsafe ... ok [INFO] [stdout] test unsafe_study::test_wrapper ... ok [INFO] [stdout] test unsafe_study::test_unsafe_fn ... ok [INFO] [stdout] test unsafe_study::test_static_variable ... ok [INFO] [stdout] test unsafe_study::test_trait ... ok [INFO] [stdout] test concurrent::thread_study::test_thread ... ok [INFO] [stdout] test closure::call_with_different_values ... FAILED [INFO] [stdout] test asynchronous::timer::executor::test_executor ... ok [INFO] [stdout] test concurrent::thread_study::test_channel ... ok [INFO] [stderr] error: test failed, to rerun pass '--bin rust-study' [INFO] [stdout] test asynchronous::test_syn ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- closure::call_with_different_values stdout ---- [INFO] [stdout] thread 'closure::call_with_different_values' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `2`', src/closure.rs:133:5 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55e5cf0b5ef7 - std::backtrace_rs::backtrace::libunwind::trace::hcd6e187547b8deec [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x55e5cf0b5ef7 - std::backtrace_rs::backtrace::trace_unsynchronized::hde10036eb783fbc7 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x55e5cf0b5ef7 - std::sys_common::backtrace::_print_fmt::h63987b8f86dfc82a [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x55e5cf0b5ef7 - ::fmt::hc33f3ac4cc9c4196 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x55e5cf0d65ec - core::fmt::write::hfdcdeb08fb2b3afa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x55e5cf0b2252 - std::io::Write::write_fmt::h28c53dc51251a293 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x55e5cf0b81a5 - std::sys_common::backtrace::_print::hf179508b01f66878 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x55e5cf0b81a5 - std::sys_common::backtrace::print::ha97d11adb39266a6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x55e5cf0b81a5 - std::panicking::default_hook::{{closure}}::h8da9985a98bd1582 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x55e5cf0b7d32 - std::panicking::default_hook::hbc0ee792993c2ef2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x55e5cf0b8941 - std::panicking::rust_panic_with_hook::h9fb9cda33a10f084 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x55e5cf0b8487 - std::panicking::begin_panic_handler::{{closure}}::hf3e83396e085962e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x55e5cf0b63bc - std::sys_common::backtrace::__rust_end_short_backtrace::hac151ac4c1e3252d [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x55e5cf0b83e9 - rust_begin_unwind [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x55e5cf0d4fa1 - core::panicking::panic_fmt::hf6d8a92b065b8f97 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x55e5cf01bc06 - rust_study::closure::call_with_different_values::h9841d316d6e1c3d6 [INFO] [stdout] at /opt/rustwide/workdir/src/closure.rs:133:5 [INFO] [stdout] 16: 0x55e5cf01ba5a - rust_study::closure::call_with_different_values::{{closure}}::hfc2f5612613a7fc0 [INFO] [stdout] at /opt/rustwide/workdir/src/closure.rs:127:1 [INFO] [stdout] 17: 0x55e5cf0014de - core::ops::function::FnOnce::call_once::h7db65bd25a407c96 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x55e5cf064e23 - core::ops::function::FnOnce::call_once::ha61d5393ae51ae22 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x55e5cf064e23 - test::__rust_begin_short_backtrace::h4a8691b5281c1f3b [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x55e5cf063716 - as core::ops::function::FnOnce>::call_once::hd25ba61494055ad3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 21: 0x55e5cf063716 - as core::ops::function::FnOnce<()>>::call_once::h052fde7b846767ba [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x55e5cf063716 - std::panicking::try::do_call::h04571a1da6838ba1 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x55e5cf063716 - std::panicking::try::h758f090614125cbe [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x55e5cf063716 - std::panic::catch_unwind::h0c48513d5a021d3c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x55e5cf063716 - test::run_test_in_process::hee75babaaac3822f [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x55e5cf063716 - test::run_test::run_test_inner::{{closure}}::h2920dea75d7f0c1e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x55e5cf03ba26 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha23dff608830db13 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x55e5cf0407bd - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hacce322dead3a799 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x55e5cf0407bd - as core::ops::function::FnOnce<()>>::call_once::h4f0bc9c26ead0a27 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x55e5cf0407bd - std::panicking::try::do_call::h1b9f282fb0c383b3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x55e5cf0407bd - std::panicking::try::hed1ebed51b133ee4 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x55e5cf0407bd - std::panic::catch_unwind::h072a2b19fd39a474 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x55e5cf0407bd - std::thread::Builder::spawn_unchecked::{{closure}}::hb02c6b2d3ff18bc2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x55e5cf0407bd - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb512c5d27b4adb83 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x55e5cf0be4ba - as core::ops::function::FnOnce>::call_once::hdbb9ff71143eaad6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 36: 0x55e5cf0be4ba - as core::ops::function::FnOnce>::call_once::h9dbde95cefb8368c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 37: 0x55e5cf0be4ba - std::sys::unix::thread::Thread::new::thread_start::hc76032c38affd972 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7faf7e6bf609 - start_thread [INFO] [stdout] 39: 0x7faf7e491293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] closure::call_with_different_values [INFO] [stdout] [INFO] [stdout] test result: FAILED. 31 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d39558a2efb7beb0fd9c693f258ecfab9d88b0aa60337aba9f98d021bf3e2440", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d39558a2efb7beb0fd9c693f258ecfab9d88b0aa60337aba9f98d021bf3e2440", kill_on_drop: false }` [INFO] [stdout] d39558a2efb7beb0fd9c693f258ecfab9d88b0aa60337aba9f98d021bf3e2440