[INFO] cloning repository https://github.com/ruanbo1003/HelloRust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ruanbo1003/HelloRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fruanbo1003%2FHelloRust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fruanbo1003%2FHelloRust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a27ebac110ebc1e076127221726965f44b2e2c68 [INFO] linting ruanbo1003/HelloRust against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fruanbo1003%2FHelloRust" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ruanbo1003/HelloRust [INFO] finished tweaking git repo https://github.com/ruanbo1003/HelloRust [INFO] tweaked toml for git repo https://github.com/ruanbo1003/HelloRust written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ruanbo1003/HelloRust on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ruanbo1003/HelloRust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fdc126f70b865778721cd2aaf77aaeb15b0816e289b1d9afad40df68da682102 [INFO] running `Command { std: "docker" "start" "-a" "fdc126f70b865778721cd2aaf77aaeb15b0816e289b1d9afad40df68da682102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fdc126f70b865778721cd2aaf77aaeb15b0816e289b1d9afad40df68da682102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fdc126f70b865778721cd2aaf77aaeb15b0816e289b1d9afad40df68da682102", kill_on_drop: false }` [INFO] [stdout] fdc126f70b865778721cd2aaf77aaeb15b0816e289b1d9afad40df68da682102 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 949d1de341537c12dd2f940ec1d3e9f38dd823e7a9c237710b217a4dc1cb59a8 [INFO] running `Command { std: "docker" "start" "-a" "949d1de341537c12dd2f940ec1d3e9f38dd823e7a9c237710b217a4dc1cb59a8", kill_on_drop: false }` [INFO] [stderr] Checking getrandom v0.2.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking HelloRust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/syntax/variables/constant.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | static LANGUAGE: &'static str = "Rust"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/syntax/generics/traits.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | use String; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/syntax/variables/constant.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | static LANGUAGE: &'static str = "Rust"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/syntax/generics/traits.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | use String; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/syntax/variables/basic.rs:29:36 [INFO] [stdout] | [INFO] [stdout] 29 | const ONE_HOUR_SECONDS : u32 = 1 * 60 * 60; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `60` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/syntax/variables/constant.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | const ONE_HOUR: i32 = 1 * 60 * 60; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `60` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: direct implementation of `ToString` [INFO] [stdout] --> src/syntax/variables/from_to_casting.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | / impl ToString for Circle { [INFO] [stdout] 76 | | fn to_string(&self) -> String { [INFO] [stdout] 77 | | format!("Circle data:{}", self.data) [INFO] [stdout] 78 | | } [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: prefer implementing `Display` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_trait_impl [INFO] [stdout] = note: `#[warn(clippy::to_string_trait_impl)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/syntax/variables/basic.rs:29:36 [INFO] [stdout] | [INFO] [stdout] 29 | const ONE_HOUR_SECONDS : u32 = 1 * 60 * 60; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `60` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/syntax/variables/constant.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | const ONE_HOUR: i32 = 1 * 60 * 60; [INFO] [stdout] | ^^^^^^ help: consider reducing it to: `60` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return 1; [INFO] [stdout] 31 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | return x; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return x; [INFO] [stdout] 38 + x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/syntax/functions.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 41 | let x = 3; [INFO] [stdout] | ---------- unnecessary `let` binding [INFO] [stdout] 42 | x [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 41 ~ [INFO] [stdout] 42 ~ 3 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | return x + 1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 - return x + 1; [INFO] [stdout] 49 + x + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return (a + b, a-b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return (a + b, a-b); [INFO] [stdout] 53 + (a + b, a-b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | 2 | 3 | 4 => println!("num is in [2, 3, 4]"), [INFO] [stdout] | ^^^^^^^^^ help: try: `2..=4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: direct implementation of `ToString` [INFO] [stdout] --> src/syntax/variables/from_to_casting.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | / impl ToString for Circle { [INFO] [stdout] 76 | | fn to_string(&self) -> String { [INFO] [stdout] 77 | | format!("Circle data:{}", self.data) [INFO] [stdout] 78 | | } [INFO] [stdout] 79 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: prefer implementing `Display` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_trait_impl [INFO] [stdout] = note: `#[warn(clippy::to_string_trait_impl)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:107:23 [INFO] [stdout] | [INFO] [stdout] 107 | (x, y) if x == 0 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 107 - (x, y) if x == 0 => { [INFO] [stdout] 107 + (0, y) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:110:23 [INFO] [stdout] | [INFO] [stdout] 110 | (x, y) if y == 0 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 110 - (x, y) if y == 0 => { [INFO] [stdout] 110 + (x, 0) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | / match *reference { [INFO] [stdout] 24 | | val=> { [INFO] [stdout] 25 | | println!("val:{}", val); // 4 [INFO] [stdout] 26 | | } [INFO] [stdout] 27 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 23 ~ let val = *reference; [INFO] [stdout] 24 + { [INFO] [stdout] 25 + println!("val:{}", val); // 4 [INFO] [stdout] 26 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let ref reference_now = 4; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^----- help: try: `let reference_now = &4;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] = note: `#[warn(clippy::toplevel_ref_arg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let ref mut mut_reference = 4; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^----- help: try: `let mut_reference = &mut 4;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | / match val1 { [INFO] [stdout] 49 | | ref v => { [INFO] [stdout] 50 | | // type of `v` is `&i32` [INFO] [stdout] 51 | | println!("{}, {}", v, *v); // 1, 1 [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 48 ~ let ref v = val1; [INFO] [stdout] 49 + { [INFO] [stdout] 50 + // type of `v` is `&i32` [INFO] [stdout] 51 + println!("{}, {}", v, *v); // 1, 1 [INFO] [stdout] 52 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | / match val1 { [INFO] [stdout] 55 | | v => { [INFO] [stdout] 56 | | // type of `v` is `i32` [INFO] [stdout] 57 | | println!("{}", v) [INFO] [stdout] 58 | | } [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 54 ~ let v = val1; [INFO] [stdout] 55 + println!("{}", v); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | / match val2 { [INFO] [stdout] 63 | | ref mut v => { [INFO] [stdout] 64 | | // type of `v` is `&mut i32` [INFO] [stdout] 65 | | *v += 10; [INFO] [stdout] 66 | | } [INFO] [stdout] 67 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 62 ~ let ref mut v = val2; [INFO] [stdout] 63 + { [INFO] [stdout] 64 + // type of `v` is `&mut i32` [INFO] [stdout] 65 + *v += 10; [INFO] [stdout] 66 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return 1; [INFO] [stdout] 31 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | return x; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return x; [INFO] [stdout] 38 + x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/syntax/functions.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 41 | let x = 3; [INFO] [stdout] | ---------- unnecessary `let` binding [INFO] [stdout] 42 | x [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 41 ~ [INFO] [stdout] 42 ~ 3 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | return x + 1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 - return x + 1; [INFO] [stdout] 49 + x + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/functions.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | return (a + b, a-b); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 - return (a + b, a-b); [INFO] [stdout] 53 + (a + b, a-b) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/structs/declare_struct.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | / return PersonWithNoCopy{ [INFO] [stdout] 81 | | name, // field name is the same as parameter, [INFO] [stdout] 82 | | age: 10, [INFO] [stdout] 83 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 80 ~ PersonWithNoCopy{ [INFO] [stdout] 81 + name, // field name is the same as parameter, [INFO] [stdout] 82 + age: 10, [INFO] [stdout] 83 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/structs/declare_struct.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / return PersonWithNoCopy { [INFO] [stdout] 88 | | age: 100, // we assign the value of age here [INFO] [stdout] 89 | | ..person // the rest fields value will come from parameter `person` [INFO] [stdout] 90 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 ~ PersonWithNoCopy { [INFO] [stdout] 88 + age: 100, // we assign the value of age here [INFO] [stdout] 89 + ..person // the rest fields value will come from parameter `person` [INFO] [stdout] 90 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/structs/declare_struct.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | / return PersonWithCopy { [INFO] [stdout] 95 | | age: 101, [INFO] [stdout] 96 | | ..person [INFO] [stdout] 97 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 ~ PersonWithCopy { [INFO] [stdout] 95 + age: 101, [INFO] [stdout] 96 + ..person [INFO] [stdout] 97 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | 2 | 3 | 4 => println!("num is in [2, 3, 4]"), [INFO] [stdout] | ^^^^^^^^^ help: try: `2..=4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:107:23 [INFO] [stdout] | [INFO] [stdout] 107 | (x, y) if x == 0 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 107 - (x, y) if x == 0 => { [INFO] [stdout] 107 + (0, y) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:110:23 [INFO] [stdout] | [INFO] [stdout] 110 | (x, y) if y == 0 => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 110 - (x, y) if y == 0 => { [INFO] [stdout] 110 + (x, 0) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | / match *reference { [INFO] [stdout] 24 | | val=> { [INFO] [stdout] 25 | | println!("val:{}", val); // 4 [INFO] [stdout] 26 | | } [INFO] [stdout] 27 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 23 ~ let val = *reference; [INFO] [stdout] 24 + { [INFO] [stdout] 25 + println!("val:{}", val); // 4 [INFO] [stdout] 26 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | let ref reference_now = 4; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^----- help: try: `let reference_now = &4;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] = note: `#[warn(clippy::toplevel_ref_arg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | let ref mut mut_reference = 4; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^----- help: try: `let mut_reference = &mut 4;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | / match val1 { [INFO] [stdout] 49 | | ref v => { [INFO] [stdout] 50 | | // type of `v` is `&i32` [INFO] [stdout] 51 | | println!("{}, {}", v, *v); // 1, 1 [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 48 ~ let ref v = val1; [INFO] [stdout] 49 + { [INFO] [stdout] 50 + // type of `v` is `&i32` [INFO] [stdout] 51 + println!("{}, {}", v, *v); // 1, 1 [INFO] [stdout] 52 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | / match val1 { [INFO] [stdout] 55 | | v => { [INFO] [stdout] 56 | | // type of `v` is `i32` [INFO] [stdout] 57 | | println!("{}", v) [INFO] [stdout] 58 | | } [INFO] [stdout] 59 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 54 ~ let v = val1; [INFO] [stdout] 55 + println!("{}", v); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/control_flow/match_reference_destructure.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | / match val2 { [INFO] [stdout] 63 | | ref mut v => { [INFO] [stdout] 64 | | // type of `v` is `&mut i32` [INFO] [stdout] 65 | | *v += 10; [INFO] [stdout] 66 | | } [INFO] [stdout] 67 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 62 ~ let ref mut v = val2; [INFO] [stdout] 63 + { [INFO] [stdout] 64 + // type of `v` is `&mut i32` [INFO] [stdout] 65 + *v += 10; [INFO] [stdout] 66 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/syntax/enums/enum_match.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / match x { [INFO] [stdout] 30 | | None => None, [INFO] [stdout] 31 | | Some(i) => Some(i + 1), [INFO] [stdout] 32 | | } [INFO] [stdout] | |_____^ help: try: `x.map(|i| i + 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/syntax/enums/if_let.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / match config_max { [INFO] [stdout] 11 | | Some(val) => println!("Some(val):{}", val), [INFO] [stdout] 12 | | _ => (), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_________^ help: try: `if let Some(val) = config_max { println!("Some(val):{}", val) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/enums/alias.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / match we { [INFO] [stdout] 28 | | _WebEvent=> println!("web event"), [INFO] [stdout] 29 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 27 ~ let _WebEvent = we; [INFO] [stdout] 28 + println!("web event") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/syntax/enums/list.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | format!("Nil") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Nil".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/structs/declare_struct.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | / return PersonWithNoCopy{ [INFO] [stdout] 81 | | name, // field name is the same as parameter, [INFO] [stdout] 82 | | age: 10, [INFO] [stdout] 83 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 80 ~ PersonWithNoCopy{ [INFO] [stdout] 81 + name, // field name is the same as parameter, [INFO] [stdout] 82 + age: 10, [INFO] [stdout] 83 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/structs/declare_struct.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / return PersonWithNoCopy { [INFO] [stdout] 88 | | age: 100, // we assign the value of age here [INFO] [stdout] 89 | | ..person // the rest fields value will come from parameter `person` [INFO] [stdout] 90 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 87 ~ PersonWithNoCopy { [INFO] [stdout] 88 + age: 100, // we assign the value of age here [INFO] [stdout] 89 + ..person // the rest fields value will come from parameter `person` [INFO] [stdout] 90 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/structs/declare_struct.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | / return PersonWithCopy { [INFO] [stdout] 95 | | age: 101, [INFO] [stdout] 96 | | ..person [INFO] [stdout] 97 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 ~ PersonWithCopy { [INFO] [stdout] 95 + age: 101, [INFO] [stdout] 96 + ..person [INFO] [stdout] 97 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/syntax/collections/vector.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / let mut v = Vec::new(); [INFO] [stdout] 27 | | v.push(1); [INFO] [stdout] 28 | | v.push(2); [INFO] [stdout] 29 | | v.push(3); [INFO] [stdout] | |__________________^ help: consider using the `vec![]` macro: `let v = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/syntax/enums/enum_match.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | / match x { [INFO] [stdout] 30 | | None => None, [INFO] [stdout] 31 | | Some(i) => Some(i + 1), [INFO] [stdout] 32 | | } [INFO] [stdout] | |_____^ help: try: `x.map(|i| i + 1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/syntax/enums/if_let.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | / match config_max { [INFO] [stdout] 11 | | Some(val) => println!("Some(val):{}", val), [INFO] [stdout] 12 | | _ => (), [INFO] [stdout] 13 | | } [INFO] [stdout] | |_________^ help: try: `if let Some(val) = config_max { println!("Some(val):{}", val) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/syntax/enums/alias.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / match we { [INFO] [stdout] 28 | | _WebEvent=> println!("web event"), [INFO] [stdout] 29 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 27 ~ let _WebEvent = we; [INFO] [stdout] 28 + println!("web event") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/syntax/enums/list.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 29 | format!("Nil") [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"Nil".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/syntax/collections/vector.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / let mut v = Vec::new(); [INFO] [stdout] 27 | | v.push(1); [INFO] [stdout] 28 | | v.push(2); [INFO] [stdout] 29 | | v.push(3); [INFO] [stdout] | |__________________^ help: consider using the `vec![]` macro: `let v = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/syntax/errors/helpers.rs:31:33 [INFO] [stdout] | [INFO] [stdout] 31 | let mut username_file = match username_file_result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 32 | | Ok(file) => file, [INFO] [stdout] 33 | | Err(e) => return Err(e), [INFO] [stdout] 34 | | }; [INFO] [stdout] | |_________^ help: try instead: `username_file_result?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/generic_function.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | return largest; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return largest; [INFO] [stdout] 48 + largest [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return String::from("default name"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return String::from("default name"); [INFO] [stdout] 21 + String::from("default name") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | return format!("Blog:{}", self.title); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return format!("Blog:{}", self.title); [INFO] [stdout] 34 + format!("Blog:{}", self.title) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | return format!("Twitter:{}", self.username); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 - return format!("Twitter:{}", self.username); [INFO] [stdout] 47 + format!("Twitter:{}", self.username) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return format!("{}", self.username); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return format!("{}", self.username); [INFO] [stdout] 51 + format!("{}", self.username) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/syntax/generics/traits.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | return format!("{}", self.username); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `self.username.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | / return if t { [INFO] [stdout] 185 | | Blog { [INFO] [stdout] 186 | | title: "title-1".to_string(), [INFO] [stdout] 187 | | context: "context-1".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 200 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 184 ~ if t { [INFO] [stdout] 185 + Blog { [INFO] [stdout] 186 + title: "title-1".to_string(), [INFO] [stdout] 187 + context: "context-1".to_string(), [INFO] [stdout] 188 + } [INFO] [stdout] 189 + } else { [INFO] [stdout] 190 + Blog { [INFO] [stdout] 191 + title: "title-2".to_string(), [INFO] [stdout] 192 + context: "context-2".to_string(), [INFO] [stdout] 193 + } [INFO] [stdout] 194 + [INFO] [stdout] 195 + // error: `if` and `else` have incompatible types. [INFO] [stdout] 196 + // Twitter { [INFO] [stdout] 197 + // username: "username".to_string(), [INFO] [stdout] 198 + // context: "context-twitter".to_string(), [INFO] [stdout] 199 + // } [INFO] [stdout] 200 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/syntax/errors/helpers.rs:31:33 [INFO] [stdout] | [INFO] [stdout] 31 | let mut username_file = match username_file_result { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 32 | | Ok(file) => file, [INFO] [stdout] 33 | | Err(e) => return Err(e), [INFO] [stdout] 34 | | }; [INFO] [stdout] | |_________^ help: try instead: `username_file_result?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | return Person{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 15 - return Person{}; [INFO] [stdout] 15 + Person{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Dog{}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return Dog{}; [INFO] [stdout] 18 + Dog{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return Person{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Person{}; [INFO] [stdout] 23 + Person{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | return Person{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - return Person{}; [INFO] [stdout] 25 + Person{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | if data > 10 { [INFO] [stdout] | __________________^ [INFO] [stdout] 23 | | return Person{}; [INFO] [stdout] 24 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 25 | | return Person{}; [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/generic_function.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | return largest; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return largest; [INFO] [stdout] 48 + largest [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/basic.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | return intensity; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 - return intensity; [INFO] [stdout] 33 + intensity [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | return String::from("default name"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - return String::from("default name"); [INFO] [stdout] 21 + String::from("default name") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | return format!("Blog:{}", self.title); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return format!("Blog:{}", self.title); [INFO] [stdout] 34 + format!("Blog:{}", self.title) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | return format!("Twitter:{}", self.username); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 - return format!("Twitter:{}", self.username); [INFO] [stdout] 47 + format!("Twitter:{}", self.username) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return format!("{}", self.username); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return format!("{}", self.username); [INFO] [stdout] 51 + format!("{}", self.username) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/syntax/generics/traits.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | return format!("{}", self.username); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `self.username.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return f(3); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return f(3); [INFO] [stdout] 26 + f(3) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return x * 2; [INFO] [stdout] 34 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/traits.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | / return if t { [INFO] [stdout] 185 | | Blog { [INFO] [stdout] 186 | | title: "title-1".to_string(), [INFO] [stdout] 187 | | context: "context-1".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 200 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 184 ~ if t { [INFO] [stdout] 185 + Blog { [INFO] [stdout] 186 + title: "title-1".to_string(), [INFO] [stdout] 187 + context: "context-1".to_string(), [INFO] [stdout] 188 + } [INFO] [stdout] 189 + } else { [INFO] [stdout] 190 + Blog { [INFO] [stdout] 191 + title: "title-2".to_string(), [INFO] [stdout] 192 + context: "context-2".to_string(), [INFO] [stdout] 193 + } [INFO] [stdout] 194 + [INFO] [stdout] 195 + // error: `if` and `else` have incompatible types. [INFO] [stdout] 196 + // Twitter { [INFO] [stdout] 197 + // username: "username".to_string(), [INFO] [stdout] 198 + // context: "context-twitter".to_string(), [INFO] [stdout] 199 + // } [INFO] [stdout] 200 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 - return x * 2; [INFO] [stdout] 47 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return x * 2; [INFO] [stdout] 59 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | std::mem::drop(fp); // drop fp here, so this closure is FnOnce [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `syntax::closures::closure_as_parameter::FnParam` [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:58:28 [INFO] [stdout] | [INFO] [stdout] 58 | std::mem::drop(fp); // drop fp here, so this closure is FnOnce [INFO] [stdout] | ^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] = note: `#[warn(clippy::drop_non_drop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | return f(3); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 - return f(3); [INFO] [stdout] 72 + f(3) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | return Person{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 15 - return Person{}; [INFO] [stdout] 15 + Person{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return Dog{}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return Dog{}; [INFO] [stdout] 18 + Dog{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | return Person{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return Person{}; [INFO] [stdout] 23 + Person{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | return Person{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - return Person{}; [INFO] [stdout] 25 + Person{} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | if data > 10 { [INFO] [stdout] | __________________^ [INFO] [stdout] 23 | | return Person{}; [INFO] [stdout] 24 | | } else { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/syntax/generics/trait_bound_return.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | } else { [INFO] [stdout] | ____________^ [INFO] [stdout] 25 | | return Person{}; [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return x * 2; [INFO] [stdout] 91 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return 10; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 - return 10; [INFO] [stdout] 123 + 10 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_return_value.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return move || println!("{}", text); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return move || println!("{}", text); [INFO] [stdout] 30 + move || println!("{}", text) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/basic.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | return intensity; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 - return intensity; [INFO] [stdout] 33 + intensity [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | return f(3); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - return f(3); [INFO] [stdout] 26 + f(3) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return x * 2; [INFO] [stdout] 34 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 - return x * 2; [INFO] [stdout] 47 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 59 - return x * 2; [INFO] [stdout] 59 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `std::mem::drop` with a value that does not implement `Drop`. Dropping such a type only extends its contained lifetimes [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | std::mem::drop(fp); // drop fp here, so this closure is FnOnce [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: argument has type `syntax::closures::closure_as_parameter::FnParam` [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:58:28 [INFO] [stdout] | [INFO] [stdout] 58 | std::mem::drop(fp); // drop fp here, so this closure is FnOnce [INFO] [stdout] | ^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_non_drop [INFO] [stdout] = note: `#[warn(clippy::drop_non_drop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | return f(3); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 - return f(3); [INFO] [stdout] 72 + f(3) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | return x * 2; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 91 - return x * 2; [INFO] [stdout] 91 + x * 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_parameter.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return 10; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 - return 10; [INFO] [stdout] 123 + 10 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/closures/closure_as_return_value.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return move || println!("{}", text); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 30 - return move || println!("{}", text); [INFO] [stdout] 30 + move || println!("{}", text) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/ownerships/ownership_and_scope.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | return s; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - return s; [INFO] [stdout] 27 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/ownerships/ownership_and_scope.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | return src; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return src; [INFO] [stdout] 32 + src [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/ownerships/references.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | return src.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 80 - return src.len(); [INFO] [stdout] 80 + src.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/syntax/ownerships/references.rs:79:24 [INFO] [stdout] | [INFO] [stdout] 79 | fn cal_string_len(src: &String) -> usize { // src is a reference to a String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 79 - fn cal_string_len(src: &String) -> usize { // src is a reference to a String [INFO] [stdout] 79 + fn cal_string_len(src: &str) -> usize { // src is a reference to a String [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/syntax/ownerships/slices.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | println!("is equal: {}", s1 == &[2, 3]) // true [INFO] [stdout] | ^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `[2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/syntax/string_and_slice/string_to_slice.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | let s5 = &s4[..]; [INFO] [stdout] | ^^^^^^^ help: use the original value instead: `s4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/lifetime/lifetime_in_function_call.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / return if x.len() >= y.len() { [INFO] [stdout] 50 | | x [INFO] [stdout] 51 | | } else { [INFO] [stdout] 52 | | y [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 ~ if x.len() >= y.len() { [INFO] [stdout] 50 + x [INFO] [stdout] 51 + } else { [INFO] [stdout] 52 + y [INFO] [stdout] 53 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | &s[..] [INFO] [stdout] | ^^^^^^ help: use the original value instead: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | fn first_world_test_2<'a>(s: &'a str) -> &'a str { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 26 - fn first_world_test_2<'a>(s: &'a str) -> &'a str { [INFO] [stdout] 26 + fn first_world_test_2(s: &str) -> &str { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | return &s[..]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return &s[..]; [INFO] [stdout] 34 + &s[..] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | return &s[..]; [INFO] [stdout] | ^^^^^^ help: use the original value instead: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/ownerships/ownership_and_scope.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | return s; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - return s; [INFO] [stdout] 27 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/syntax/format/mod.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | println!("{}", "hello"); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] = note: `#[warn(clippy::print_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 18 - println!("{}", "hello"); [INFO] [stdout] 18 + println!("hello"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/ownerships/ownership_and_scope.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | return src; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return src; [INFO] [stdout] 32 + src [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/syntax/format/mod.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | println!("{} {}", "hello", "world"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 20 - println!("{} {}", "hello", "world"); [INFO] [stdout] 20 + println!("hello world"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/syntax/format/mod.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | println!("{0} {1}", "hello", "world"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 29 - println!("{0} {1}", "hello", "world"); [INFO] [stdout] 29 + println!("hello world"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/ownerships/references.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | return src.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 80 - return src.len(); [INFO] [stdout] 80 + src.len() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/syntax/ownerships/references.rs:79:24 [INFO] [stdout] | [INFO] [stdout] 79 | fn cal_string_len(src: &String) -> usize { // src is a reference to a String [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 79 - fn cal_string_len(src: &String) -> usize { // src is a reference to a String [INFO] [stdout] 79 + fn cal_string_len(src: &str) -> usize { // src is a reference to a String [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/syntax/ownerships/slices.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | println!("is equal: {}", s1 == &[2, 3]) // true [INFO] [stdout] | ^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `[2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/syntax/string_and_slice/string_to_slice.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | let s5 = &s4[..]; [INFO] [stdout] | ^^^^^^^ help: use the original value instead: `s4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] = note: `#[warn(clippy::redundant_slicing)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/lifetime/lifetime_in_function_call.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / return if x.len() >= y.len() { [INFO] [stdout] 50 | | x [INFO] [stdout] 51 | | } else { [INFO] [stdout] 52 | | y [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 ~ if x.len() >= y.len() { [INFO] [stdout] 50 + x [INFO] [stdout] 51 + } else { [INFO] [stdout] 52 + y [INFO] [stdout] 53 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: local variable doesn't need to be boxed here [INFO] [stdout] --> src/scope/ownership_and_move.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | fn release_box(c: Box) {} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stdout] = note: `#[warn(clippy::boxed_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | &s[..] [INFO] [stdout] | ^^^^^^ help: use the original value instead: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:26:23 [INFO] [stdout] | [INFO] [stdout] 26 | fn first_world_test_2<'a>(s: &'a str) -> &'a str { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 26 - fn first_world_test_2<'a>(s: &'a str) -> &'a str { [INFO] [stdout] 26 + fn first_world_test_2(s: &str) -> &str { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: local variable doesn't need to be boxed here [INFO] [stdout] --> src/scope/borrow.rs:17:31 [INFO] [stdout] | [INFO] [stdout] 17 | fn task_ownership_box_i32(b: Box) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/scope/borrow.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | fn ref_borrow_box_i32(b: &Box) { [INFO] [stdout] | ^^^^^^^^^ help: try: `&i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | return &s[..]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return &s[..]; [INFO] [stdout] 34 + &s[..] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> src/syntax/lifetime/lifetime_annotation_elision.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | return &s[..]; [INFO] [stdout] | ^^^^^^ help: use the original value instead: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_slicing [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/syntax/format/mod.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | println!("{}", "hello"); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] = note: `#[warn(clippy::print_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 18 - println!("{}", "hello"); [INFO] [stdout] 18 + println!("hello"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/scope/borrow.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let ref ref_c1 = c; [INFO] [stdout] | ----^^^^^^^^^^----- help: try: `let ref_c1 = &c;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/syntax/format/mod.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | println!("{} {}", "hello", "world"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 20 - println!("{} {}", "hello", "world"); [INFO] [stdout] 20 + println!("hello world"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/syntax/format/mod.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 29 | println!("{0} {1}", "hello", "world"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 29 - println!("{0} {1}", "hello", "world"); [INFO] [stdout] 29 + println!("hello world"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scope/lifetime/function.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | fn add_one<'a>(x: &'a mut i32) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 14 - fn add_one<'a>(x: &'a mut i32) { [INFO] [stdout] 14 + fn add_one(x: &mut i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/scope/lifetime/function.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | fn pass_x<'a, 'b>(x: &'a i32, y: &'b i32) -> &'a i32 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 22 - fn pass_x<'a, 'b>(x: &'a i32, y: &'b i32) -> &'a i32 { [INFO] [stdout] 22 + fn pass_x<'a>(x: &'a i32, y: &i32) -> &'a i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scope/lifetime/function.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return x; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return x; [INFO] [stdout] 23 + x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a, 'b [INFO] [stdout] --> src/scope/lifetime/annotation.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | fn print_ref<'a, 'b>(x: &'a i32, y: &'b i32) { [INFO] [stdout] | ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 16 - fn print_ref<'a, 'b>(x: &'a i32, y: &'b i32) { [INFO] [stdout] 16 + fn print_ref(x: &i32, y: &i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/scope/lifetime/annotation.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn foo<'a>() { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scope/lifetime/struct_method.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | fn add_one<'a>(&'a mut self) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 18 - fn add_one<'a>(&'a mut self) { [INFO] [stdout] 18 + fn add_one(&mut self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scope/lifetime/struct_method.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | fn print<'a>(&'a self) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 22 - fn print<'a>(&'a self) { [INFO] [stdout] 22 + fn print(&self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/variable.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | return std::any::type_name::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3 - return std::any::type_name::(); [INFO] [stdout] 3 + std::any::type_name::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: local variable doesn't need to be boxed here [INFO] [stdout] --> src/scope/ownership_and_move.rs:46:24 [INFO] [stdout] | [INFO] [stdout] 46 | fn release_box(c: Box) {} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stdout] = note: `#[warn(clippy::boxed_local)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | println!("{}", v1.iter().any(|&x|x==1)); // true [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v1.contains(&1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | println!("{}", v2.iter().any(|&x|x==1)); // false [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v2.contains(&1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | println!("{}", a1.iter().any(|&x|x == 2)); // true [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `a1.contains(&2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | println!("{}", a2.iter().any(|&x|x == 2)); // false [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `a2.contains(&2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: local variable doesn't need to be boxed here [INFO] [stdout] --> src/scope/borrow.rs:17:31 [INFO] [stdout] | [INFO] [stdout] 17 | fn task_ownership_box_i32(b: Box) { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#boxed_local [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/scope/borrow.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | fn ref_borrow_box_i32(b: &Box) { [INFO] [stdout] | ^^^^^^^^^ help: try: `&i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stdout] --> src/scope/borrow.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let ref ref_c1 = c; [INFO] [stdout] | ----^^^^^^^^^^----- help: try: `let ref_c1 = &c;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scope/lifetime/function.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | fn add_one<'a>(x: &'a mut i32) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 14 - fn add_one<'a>(x: &'a mut i32) { [INFO] [stdout] 14 + fn add_one(x: &mut i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/scope/lifetime/function.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | fn pass_x<'a, 'b>(x: &'a i32, y: &'b i32) -> &'a i32 { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 22 - fn pass_x<'a, 'b>(x: &'a i32, y: &'b i32) -> &'a i32 { [INFO] [stdout] 22 + fn pass_x<'a>(x: &'a i32, y: &i32) -> &'a i32 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scope/lifetime/function.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return x; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return x; [INFO] [stdout] 23 + x [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a, 'b [INFO] [stdout] --> src/scope/lifetime/annotation.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | fn print_ref<'a, 'b>(x: &'a i32, y: &'b i32) { [INFO] [stdout] | ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 16 - fn print_ref<'a, 'b>(x: &'a i32, y: &'b i32) { [INFO] [stdout] 16 + fn print_ref(x: &i32, y: &i32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/scope/lifetime/annotation.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | fn foo<'a>() { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scope/lifetime/struct_method.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | fn add_one<'a>(&'a mut self) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 18 - fn add_one<'a>(&'a mut self) { [INFO] [stdout] 18 + fn add_one(&mut self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/scope/lifetime/struct_method.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | fn print<'a>(&'a self) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 22 - fn print<'a>(&'a self) { [INFO] [stdout] 22 + fn print(&self) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/control_flow/for_flow.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | let names = vec!["Tom", "Jack", "John"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Tom", "Jack", "John"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 71 | let color_tuples = vec![ [INFO] [stdout] | ________________________^ [INFO] [stdout] 72 | | Color::Red, [INFO] [stdout] 73 | | Color::Green(1), [INFO] [stdout] 74 | | Color::Yellow(String::from("tree")), [INFO] [stdout] 75 | | Color::Gray(10, 20, 30), [INFO] [stdout] 76 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 71 ~ let color_tuples = [Color::Red, [INFO] [stdout] 72 + Color::Green(1), [INFO] [stdout] 73 + Color::Yellow(String::from("tree")), [INFO] [stdout] 74 ~ Color::Gray(10, 20, 30)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | let pairs = vec![ [INFO] [stdout] | _________________^ [INFO] [stdout] 96 | | (0, 0), // x == y [INFO] [stdout] 97 | | (0, 1), // x == 0 [INFO] [stdout] 98 | | (1, 0), // y == 0 [INFO] [stdout] 99 | | (10, 100), // don't care [INFO] [stdout] 100 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 95 ~ let pairs = [(0, 0), // x == y [INFO] [stdout] 96 + (0, 1), // x == 0 [INFO] [stdout] 97 + (1, 0), // y == 0 [INFO] [stdout] 98 ~ (10, 100)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/collections/vector.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | let v = vec![1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3, 4, 5]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/errors/unrecoverable.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | let v1 = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/stds/iterator_any.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | let v1 = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/stds/iterator_any.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | let v2 = vec![7, 8, 9]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[7, 8, 9]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/stds/iterator_find.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | let v1 = vec![1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3, 4, 5]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/syntax/smart_pointer/refcell_pointer.rs:29:27 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new(messenger: &T, max: usize) -> LimitTracker<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/util/unit_test.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | assert!(!(1 == 2)); [INFO] [stdout] | ^^^^^^^^^ help: try: `(1 != 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/util/unit_test.rs:20:17 [INFO] [stdout] | [INFO] [stdout] 20 | assert!(!(true == false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `(true != false)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this assertion is always `true` [INFO] [stdout] --> src/util/unit_test.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | assert!(!(1 == 2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove the assertion [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assertions_on_constants [INFO] [stdout] = note: `#[warn(clippy::assertions_on_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util/variable.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | return std::any::type_name::(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3 - return std::any::type_name::(); [INFO] [stdout] 3 + std::any::type_name::() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | println!("{}", v1.iter().any(|&x|x==1)); // true [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v1.contains(&1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] = note: `#[warn(clippy::manual_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | println!("{}", v2.iter().any(|&x|x==1)); // false [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `v2.contains(&1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | println!("{}", a1.iter().any(|&x|x == 2)); // true [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `a1.contains(&2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `contains()` instead of `iter().any()` is more efficient [INFO] [stdout] --> src/stds/iterator_any.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | println!("{}", a2.iter().any(|&x|x == 2)); // false [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `a2.contains(&2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/control_flow/for_flow.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | let names = vec!["Tom", "Jack", "John"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Tom", "Jack", "John"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 71 | let color_tuples = vec![ [INFO] [stdout] | ________________________^ [INFO] [stdout] 72 | | Color::Red, [INFO] [stdout] 73 | | Color::Green(1), [INFO] [stdout] 74 | | Color::Yellow(String::from("tree")), [INFO] [stdout] 75 | | Color::Gray(10, 20, 30), [INFO] [stdout] 76 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 71 ~ let color_tuples = [Color::Red, [INFO] [stdout] 72 + Color::Green(1), [INFO] [stdout] 73 + Color::Yellow(String::from("tree")), [INFO] [stdout] 74 ~ Color::Gray(10, 20, 30)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/control_flow/match_flow.rs:95:17 [INFO] [stdout] | [INFO] [stdout] 95 | let pairs = vec![ [INFO] [stdout] | _________________^ [INFO] [stdout] 96 | | (0, 0), // x == y [INFO] [stdout] 97 | | (0, 1), // x == 0 [INFO] [stdout] 98 | | (1, 0), // y == 0 [INFO] [stdout] 99 | | (10, 100), // don't care [INFO] [stdout] 100 | | ]; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] help: you can use an array directly [INFO] [stdout] | [INFO] [stdout] 95 ~ let pairs = [(0, 0), // x == y [INFO] [stdout] 96 + (0, 1), // x == 0 [INFO] [stdout] 97 + (1, 0), // y == 0 [INFO] [stdout] 98 ~ (10, 100)]; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/collections/vector.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | let v = vec![1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3, 4, 5]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/errors/unrecoverable.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:12:18 [INFO] [stdout] | [INFO] [stdout] 12 | let v1 = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 28 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/syntax/iterator/iterators.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let v = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/stds/iterator_any.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | let v1 = vec![1, 2, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/stds/iterator_any.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | let v2 = vec![7, 8, 9]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[7, 8, 9]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/stds/iterator_find.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | let v1 = vec![1, 2, 3, 4, 5]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[1, 2, 3, 4, 5]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/syntax/smart_pointer/refcell_pointer.rs:29:27 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new(messenger: &T, max: usize) -> LimitTracker { [INFO] [stdout] | ^^ ^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new(messenger: &T, max: usize) -> LimitTracker<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.58s [INFO] running `Command { std: "docker" "inspect" "949d1de341537c12dd2f940ec1d3e9f38dd823e7a9c237710b217a4dc1cb59a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "949d1de341537c12dd2f940ec1d3e9f38dd823e7a9c237710b217a4dc1cb59a8", kill_on_drop: false }` [INFO] [stdout] 949d1de341537c12dd2f940ec1d3e9f38dd823e7a9c237710b217a4dc1cb59a8