[INFO] cloning repository https://github.com/Jim124/rust-fundamental [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jim124/rust-fundamental" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJim124%2Frust-fundamental", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJim124%2Frust-fundamental'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6d8558e5587fb989c44726dce911a4e6fca03cbf [INFO] linting Jim124/rust-fundamental against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJim124%2Frust-fundamental" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Jim124/rust-fundamental [INFO] finished tweaking git repo https://github.com/Jim124/rust-fundamental [INFO] tweaked toml for git repo https://github.com/Jim124/rust-fundamental written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Jim124/rust-fundamental 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/Jim124/rust-fundamental 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-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 9d7a0f83539ba6342d486f6c1bf3140a2173e5023f2e9ef4d0a4afaaa9858f32 [INFO] running `Command { std: "docker" "start" "-a" "9d7a0f83539ba6342d486f6c1bf3140a2173e5023f2e9ef4d0a4afaaa9858f32", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9d7a0f83539ba6342d486f6c1bf3140a2173e5023f2e9ef4d0a4afaaa9858f32", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d7a0f83539ba6342d486f6c1bf3140a2173e5023f2e9ef4d0a4afaaa9858f32", kill_on_drop: false }` [INFO] [stdout] 9d7a0f83539ba6342d486f6c1bf3140a2173e5023f2e9ef4d0a4afaaa9858f32 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 6a77e1c9c60eb79d7f0f8df41e3161b56c525ee12d212b0b367f8faf3b7451df [INFO] running `Command { std: "docker" "start" "-a" "6a77e1c9c60eb79d7f0f8df41e3161b56c525ee12d212b0b367f8faf3b7451df", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.168 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking uuid v1.11.0 [INFO] [stderr] Checking rust-fundamental v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: value assigned to `opt1` is never read [INFO] [stdout] --> src/optiontest.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | let mut opt1 :Option = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optiontest.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | let mut opt1 :Option =None; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cat` [INFO] [stdout] --> src/test_trait.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | let cat = Cat{}; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cat` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/myHashmap.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | let mut another_stock_List = HashMap::::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_stock_List` [INFO] [stdout] --> src/myHashmap.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | let mut another_stock_List = HashMap::::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_stock_List` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new` is never read [INFO] [stdout] --> src/my_borrow.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | let mut new = original; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `x` is assigned to, but never used [INFO] [stdout] --> src/my_thread.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | let mut x = 0u128; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_x` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/my_thread.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | x += i; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `first_name` is never read [INFO] [stdout] --> src/closures.rs:2:3 [INFO] [stdout] | [INFO] [stdout] 1 | struct Person{ [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 2 | first_name:String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `manufacture`, `model`, and `year` are never read [INFO] [stdout] --> src/structs.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 26 | struct Vehicle{ [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 27 | manufacture:String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 28 | model:String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | year:u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Vehicle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `model` is never read [INFO] [stdout] --> src/myvec.rs:33:3 [INFO] [stdout] | [INFO] [stdout] 31 | struct Car{ [INFO] [stdout] | --- field in this struct [INFO] [stdout] 32 | manufacture:String, [INFO] [stdout] 33 | model:String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Car` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/helper.rs:2:3 [INFO] [stdout] | [INFO] [stdout] 2 | return format!("{0} {1}",first_name,last_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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2 - return format!("{0} {1}",first_name,last_name); [INFO] [stdout] 2 + format!("{0} {1}",first_name,last_name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/test_if.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | let driver_license = if age >=16{true}else{false}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `age >= 16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/matches.rs:31:24 [INFO] [stdout] | [INFO] [stdout] 31 | _ =>println!("{}", "nothing"), [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] 31 - _ =>println!("{}", "nothing"), [INFO] [stdout] 31 + _ =>println!("nothing"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/optiontest.rs:4:3 [INFO] [stdout] | [INFO] [stdout] 4 | return opt1; [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] 4 - return opt1; [INFO] [stdout] 4 + opt1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/optiontest.rs:9:3 [INFO] [stdout] | [INFO] [stdout] 9 | return opt1; [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] 9 - return opt1; [INFO] [stdout] 9 + opt1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: direct implementation of `ToString` [INFO] [stdout] --> src/optiontest.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / impl ToString for CharacterType{ [INFO] [stdout] 16 | | fn to_string(&self) ->String{ [INFO] [stdout] 17 | | match self{ [INFO] [stdout] 18 | | CharacterType::Actor =>"Actor", [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [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: unneeded `return` statement [INFO] [stdout] --> src/structs.rs:48:3 [INFO] [stdout] | [INFO] [stdout] 48 | return vehicle; [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 vehicle; [INFO] [stdout] 48 + vehicle [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structs.rs:57:3 [INFO] [stdout] | [INFO] [stdout] 57 | return customer; [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] 57 - return customer; [INFO] [stdout] 57 + customer [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structs.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | return p1; [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] 67 - return p1; [INFO] [stdout] 67 + p1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_trait.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | fn make_sound(&self) ->() { [INFO] [stdout] | ^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_trait.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | fn make_sound(&self) ->() { [INFO] [stdout] | ^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_trait.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | fn make_sound(&self) ->() { [INFO] [stdout] | ^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/myvec.rs:4:3 [INFO] [stdout] | [INFO] [stdout] 4 | / let mut vec :Vec = Vec::new(); [INFO] [stdout] 5 | | vec.push(10); [INFO] [stdout] 6 | | vec.push(20); [INFO] [stdout] 7 | | vec.push(30); [INFO] [stdout] ... | [INFO] [stdout] 12 | | vec.push(80); [INFO] [stdout] 13 | | vec.push(90); [INFO] [stdout] | |_______________^ help: consider using the `vec![]` macro: `let vec: Vec = 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: accessing first element with `car_lists.get(0)` [INFO] [stdout] --> src/myvec.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 46 | println!("{:?}",car_lists.get(0).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `car_lists.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/myvec.rs:52:66 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [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] 52 - let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] 52 + let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){true}else{return false;}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/myvec.rs:52:84 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [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] 52 - let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] 52 + let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{false}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/myvec.rs:52:24 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `return e.manufacture == "Bentian".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/myvec.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"Bentian"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/myHashmap.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | let appl = stock_list.get(&"appl".to_string()).copied().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `"appl"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/myHashmap.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | stock_list.remove(&("appl".to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `"appl"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/myiter.rs:22:74 [INFO] [stdout] | [INFO] [stdout] 22 | let new_fruits = fruit_list_strings.map(| mut e| {e.push_str(" fruit");return e;}); [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] 22 - let new_fruits = fruit_list_strings.map(| mut e| {e.push_str(" fruit");return e;}); [INFO] [stdout] 22 + let new_fruits = fruit_list_strings.map(| mut e| {e.push_str(" fruit");e}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/myiter.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | println!("{}",new_fruits.clone().last().unwrap() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 26 - println!("{}",new_fruits.clone().last().unwrap() ); [INFO] [stdout] 26 + println!("{}",new_fruits.clone().next_back().unwrap() ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `guard` after checking its variant with `is_ok` [INFO] [stdout] --> src/my_mutex.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 27 | if guard.is_ok(){ [INFO] [stdout] | ---------------- help: try: `if let Ok() = guard` [INFO] [stdout] 28 | let mut data = guard.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `receive_result` after checking its variant with `is_ok` [INFO] [stdout] --> src/my_channel.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 22 | if receive_result.is_ok(){ [INFO] [stdout] | ------------------------- help: try: `if let Ok() = receive_result` [INFO] [stdout] 23 | println!("receive result is {}",receive_result.unwrap() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/myargs.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | if !year_born.is_ok(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `year_born.is_err()` [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: called `unwrap` on `char_result` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:43:37 [INFO] [stdout] | [INFO] [stdout] 41 | if char_result.is_some(){ [INFO] [stdout] | ------------------------ help: try: `if let Some() = char_result` [INFO] [stdout] 42 | println!("there is a value"); [INFO] [stdout] 43 | println!("the result is {}",char_result.unwrap().to_string() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `f32` is unnecessary [INFO] [stdout] --> src/main.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | let value = 5 as f32 / 3 as f32; [INFO] [stdout] | ^^^^^^^^ help: try: `5_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `f32` is unnecessary [INFO] [stdout] --> src/main.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | let value = 5 as f32 / 3 as f32; [INFO] [stdout] | ^^^^^^^^ help: try: `3_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/main.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | println!("{}",id.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/myiter.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | let fruit_list = vec!["Apple","Strawberry","Blueberry","Orange","Mango"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Apple","Strawberry","Blueberry","Orange","Mango"]` [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/myiter.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | let first_names = vec!["Trevor","Shannon","James","Tasha"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Trevor","Shannon","James","Tasha"]` [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/myiter.rs:36:20 [INFO] [stdout] | [INFO] [stdout] 36 | let last_names = vec!["Jones","Sullivan","Tanner","Redman"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Jones","Sullivan","Tanner","Redman"]` [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/myiter.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let foods = vec![("potatoes",20),("strawberries",25),("burgers",30)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[("potatoes",20),("strawberries",25),("burgers",30)]` [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: module `myHashmap` should have a snake case name [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub mod myHashmap; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `my_hashmap` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `another_stock_List` should have a snake case name [INFO] [stdout] --> src/myHashmap.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | let mut another_stock_List = HashMap::::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `another_stock_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/my_channel.rs:10:3 [INFO] [stdout] | [INFO] [stdout] 10 | transmitter.send(152); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 10 | let _ = transmitter.send(152); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/my_channel.rs:39:2 [INFO] [stdout] | [INFO] [stdout] 39 | thread::spawn(processor_code).join(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = thread::spawn(processor_code).join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `opt1` is never read [INFO] [stdout] --> src/optiontest.rs:2:31 [INFO] [stdout] | [INFO] [stdout] 2 | let mut opt1 :Option = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/optiontest.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | let mut opt1 :Option =None; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cat` [INFO] [stdout] --> src/test_trait.rs:43:7 [INFO] [stdout] | [INFO] [stdout] 43 | let cat = Cat{}; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cat` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/myHashmap.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | let mut another_stock_List = HashMap::::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `another_stock_List` [INFO] [stdout] --> src/myHashmap.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | let mut another_stock_List = HashMap::::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_another_stock_List` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `new` is never read [INFO] [stdout] --> src/my_borrow.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | let mut new = original; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `x` is assigned to, but never used [INFO] [stdout] --> src/my_thread.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | let mut x = 0u128; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_x` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/my_thread.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | x += i; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `first_name` is never read [INFO] [stdout] --> src/closures.rs:2:3 [INFO] [stdout] | [INFO] [stdout] 1 | struct Person{ [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 2 | first_name:String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `manufacture`, `model`, and `year` are never read [INFO] [stdout] --> src/structs.rs:27:3 [INFO] [stdout] | [INFO] [stdout] 26 | struct Vehicle{ [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 27 | manufacture:String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 28 | model:String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | year:u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Vehicle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `model` is never read [INFO] [stdout] --> src/myvec.rs:33:3 [INFO] [stdout] | [INFO] [stdout] 31 | struct Car{ [INFO] [stdout] | --- field in this struct [INFO] [stdout] 32 | manufacture:String, [INFO] [stdout] 33 | model:String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Car` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/helper.rs:2:3 [INFO] [stdout] | [INFO] [stdout] 2 | return format!("{0} {1}",first_name,last_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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2 - return format!("{0} {1}",first_name,last_name); [INFO] [stdout] 2 + format!("{0} {1}",first_name,last_name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/test_if.rs:15:24 [INFO] [stdout] | [INFO] [stdout] 15 | let driver_license = if age >=16{true}else{false}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `age >= 16` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/matches.rs:31:24 [INFO] [stdout] | [INFO] [stdout] 31 | _ =>println!("{}", "nothing"), [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] 31 - _ =>println!("{}", "nothing"), [INFO] [stdout] 31 + _ =>println!("nothing"), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/optiontest.rs:4:3 [INFO] [stdout] | [INFO] [stdout] 4 | return opt1; [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] 4 - return opt1; [INFO] [stdout] 4 + opt1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/optiontest.rs:9:3 [INFO] [stdout] | [INFO] [stdout] 9 | return opt1; [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] 9 - return opt1; [INFO] [stdout] 9 + opt1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: direct implementation of `ToString` [INFO] [stdout] --> src/optiontest.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / impl ToString for CharacterType{ [INFO] [stdout] 16 | | fn to_string(&self) ->String{ [INFO] [stdout] 17 | | match self{ [INFO] [stdout] 18 | | CharacterType::Actor =>"Actor", [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [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: unneeded `return` statement [INFO] [stdout] --> src/structs.rs:48:3 [INFO] [stdout] | [INFO] [stdout] 48 | return vehicle; [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 vehicle; [INFO] [stdout] 48 + vehicle [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structs.rs:57:3 [INFO] [stdout] | [INFO] [stdout] 57 | return customer; [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] 57 - return customer; [INFO] [stdout] 57 + customer [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structs.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | return p1; [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] 67 - return p1; [INFO] [stdout] 67 + p1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_trait.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | fn make_sound(&self) ->() { [INFO] [stdout] | ^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_trait.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | fn make_sound(&self) ->() { [INFO] [stdout] | ^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/test_trait.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | fn make_sound(&self) ->() { [INFO] [stdout] | ^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/myvec.rs:4:3 [INFO] [stdout] | [INFO] [stdout] 4 | / let mut vec :Vec = Vec::new(); [INFO] [stdout] 5 | | vec.push(10); [INFO] [stdout] 6 | | vec.push(20); [INFO] [stdout] 7 | | vec.push(30); [INFO] [stdout] ... | [INFO] [stdout] 12 | | vec.push(80); [INFO] [stdout] 13 | | vec.push(90); [INFO] [stdout] | |_______________^ help: consider using the `vec![]` macro: `let vec: Vec = 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: accessing first element with `car_lists.get(0)` [INFO] [stdout] --> src/myvec.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 46 | println!("{:?}",car_lists.get(0).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `car_lists.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/myvec.rs:52:66 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [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] 52 - let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] 52 + let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){true}else{return false;}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/myvec.rs:52:84 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [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] 52 - let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] 52 + let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{false}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/myvec.rs:52:24 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `return e.manufacture == "Bentian".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/myvec.rs:52:44 [INFO] [stdout] | [INFO] [stdout] 52 | let keep = |e:&Car| {if e.manufacture == "Bentian".to_string(){return true;}else{return false;}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `"Bentian"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/myHashmap.rs:12:29 [INFO] [stdout] | [INFO] [stdout] 12 | let appl = stock_list.get(&"appl".to_string()).copied().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `"appl"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/myHashmap.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | stock_list.remove(&("appl".to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `"appl"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/myiter.rs:22:74 [INFO] [stdout] | [INFO] [stdout] 22 | let new_fruits = fruit_list_strings.map(| mut e| {e.push_str(" fruit");return e;}); [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] 22 - let new_fruits = fruit_list_strings.map(| mut e| {e.push_str(" fruit");return e;}); [INFO] [stdout] 22 + let new_fruits = fruit_list_strings.map(| mut e| {e.push_str(" fruit");e}); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/myiter.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | println!("{}",new_fruits.clone().last().unwrap() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 26 - println!("{}",new_fruits.clone().last().unwrap() ); [INFO] [stdout] 26 + println!("{}",new_fruits.clone().next_back().unwrap() ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `guard` after checking its variant with `is_ok` [INFO] [stdout] --> src/my_mutex.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 27 | if guard.is_ok(){ [INFO] [stdout] | ---------------- help: try: `if let Ok() = guard` [INFO] [stdout] 28 | let mut data = guard.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `receive_result` after checking its variant with `is_ok` [INFO] [stdout] --> src/my_channel.rs:23:43 [INFO] [stdout] | [INFO] [stdout] 22 | if receive_result.is_ok(){ [INFO] [stdout] | ------------------------- help: try: `if let Ok() = receive_result` [INFO] [stdout] 23 | println!("receive result is {}",receive_result.unwrap() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/myargs.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | if !year_born.is_ok(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `year_born.is_err()` [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: called `unwrap` on `char_result` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:43:37 [INFO] [stdout] | [INFO] [stdout] 41 | if char_result.is_some(){ [INFO] [stdout] | ------------------------ help: try: `if let Some() = char_result` [INFO] [stdout] 42 | println!("there is a value"); [INFO] [stdout] 43 | println!("the result is {}",char_result.unwrap().to_string() ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `f32` is unnecessary [INFO] [stdout] --> src/main.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 30 | let value = 5 as f32 / 3 as f32; [INFO] [stdout] | ^^^^^^^^ help: try: `5_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `f32` is unnecessary [INFO] [stdout] --> src/main.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | let value = 5 as f32 / 3 as f32; [INFO] [stdout] | ^^^^^^^^ help: try: `3_f32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/main.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | println!("{}",id.to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/myiter.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | let fruit_list = vec!["Apple","Strawberry","Blueberry","Orange","Mango"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Apple","Strawberry","Blueberry","Orange","Mango"]` [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/myiter.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | let first_names = vec!["Trevor","Shannon","James","Tasha"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Trevor","Shannon","James","Tasha"]` [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/myiter.rs:36:20 [INFO] [stdout] | [INFO] [stdout] 36 | let last_names = vec!["Jones","Sullivan","Tanner","Redman"]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `["Jones","Sullivan","Tanner","Redman"]` [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/myiter.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | let foods = vec![("potatoes",20),("strawberries",25),("burgers",30)]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[("potatoes",20),("strawberries",25),("burgers",30)]` [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: module `myHashmap` should have a snake case name [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub mod myHashmap; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `my_hashmap` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `another_stock_List` should have a snake case name [INFO] [stdout] --> src/myHashmap.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | let mut another_stock_List = HashMap::::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `another_stock_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/my_channel.rs:10:3 [INFO] [stdout] | [INFO] [stdout] 10 | transmitter.send(152); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 10 | let _ = transmitter.send(152); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/my_channel.rs:39:2 [INFO] [stdout] | [INFO] [stdout] 39 | thread::spawn(processor_code).join(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 39 | let _ = thread::spawn(processor_code).join(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.31s [INFO] running `Command { std: "docker" "inspect" "6a77e1c9c60eb79d7f0f8df41e3161b56c525ee12d212b0b367f8faf3b7451df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a77e1c9c60eb79d7f0f8df41e3161b56c525ee12d212b0b367f8faf3b7451df", kill_on_drop: false }` [INFO] [stdout] 6a77e1c9c60eb79d7f0f8df41e3161b56c525ee12d212b0b367f8faf3b7451df