[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] 7abfa2dbfdcb13c376f606fd36eefa13c68c71a4 [INFO] checking yaoliao/rust-study against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyaoliao%2Frust-study" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yaoliao/rust-study on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "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-1/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" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 02b8b266f474e4ea07670c02fec57896d479f4663a52ddba01fb1109c0e6d650 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "02b8b266f474e4ea07670c02fec57896d479f4663a52ddba01fb1109c0e6d650", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "02b8b266f474e4ea07670c02fec57896d479f4663a52ddba01fb1109c0e6d650", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "02b8b266f474e4ea07670c02fec57896d479f4663a52ddba01fb1109c0e6d650", kill_on_drop: false }` [INFO] [stdout] 02b8b266f474e4ea07670c02fec57896d479f4663a52ddba01fb1109c0e6d650 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 413313756ad1b7bf760ee92a7a7b41b4d1d91eeaedf126f1cb9693ececbce210 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "413313756ad1b7bf760ee92a7a7b41b4d1d91eeaedf126f1cb9693ececbce210", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking gimli v0.23.0 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking rustc-demangle v0.1.18 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking object v0.22.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking smallvec v0.4.5 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Checking addr2line v0.14.0 [INFO] [stderr] Checking backtrace v0.3.55 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Checking ferris-says v0.2.0 [INFO] [stderr] Checking 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 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 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 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 variable: `some_str` [INFO] [stdout] --> src/main.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | 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:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | 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:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | 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:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | } 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:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | 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:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | 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: 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: unused variable: `some_str` [INFO] [stdout] --> src/main.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | 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:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | 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:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | 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:107:14 [INFO] [stdout] | [INFO] [stdout] 107 | } 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:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | 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:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | 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: 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: function is never used: `fib` [INFO] [stdout] --> src/main.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn fib(n: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fib1` [INFO] [stdout] --> src/main.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn fib1(n: i32) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/main.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/main.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [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: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/main.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alaska` [INFO] [stdout] --> src/main.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | Alaska, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/main.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/main.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/main.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 93 warnings emitted [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: 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:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn fib(n: i32) -> i32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fib1` [INFO] [stdout] --> src/main.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn fib1(n: i32) -> i32 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Quit` [INFO] [stdout] --> src/main.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Move` [INFO] [stdout] --> src/main.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | Move { x: i32, y: i32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ChangeColor` [INFO] [stdout] --> src/main.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | ChangeColor(i32, i32, i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Alaska` [INFO] [stdout] --> src/main.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 197 | Alaska, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Penny` [INFO] [stdout] --> src/main.rs:202:5 [INFO] [stdout] | [INFO] [stdout] 202 | Penny, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Nickel` [INFO] [stdout] --> src/main.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | Nickel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Dime` [INFO] [stdout] --> src/main.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | Dime, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 86 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.39s [INFO] running `Command { std: "docker" "inspect" "413313756ad1b7bf760ee92a7a7b41b4d1d91eeaedf126f1cb9693ececbce210", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "413313756ad1b7bf760ee92a7a7b41b4d1d91eeaedf126f1cb9693ececbce210", kill_on_drop: false }` [INFO] [stdout] 413313756ad1b7bf760ee92a7a7b41b4d1d91eeaedf126f1cb9693ececbce210