[INFO] cloning repository https://github.com/nextuser/rust-programming-demo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nextuser/rust-programming-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnextuser%2Frust-programming-demo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnextuser%2Frust-programming-demo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 01b77ed99e869e75e9f5fdb96aaac60023f8a85e [INFO] linting nextuser/rust-programming-demo against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnextuser%2Frust-programming-demo" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/nextuser/rust-programming-demo [INFO] removed 0 missing examples [INFO] finished tweaking git repo https://github.com/nextuser/rust-programming-demo [INFO] tweaked toml for git repo https://github.com/nextuser/rust-programming-demo written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/nextuser/rust-programming-demo 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/nextuser/rust-programming-demo 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] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rnd v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 86715a2fde217d4c47206c28a17865b528dff74863008825ee6e53904954e9b7 [INFO] running `Command { std: "docker" "start" "-a" "86715a2fde217d4c47206c28a17865b528dff74863008825ee6e53904954e9b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "86715a2fde217d4c47206c28a17865b528dff74863008825ee6e53904954e9b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86715a2fde217d4c47206c28a17865b528dff74863008825ee6e53904954e9b7", kill_on_drop: false }` [INFO] [stdout] 86715a2fde217d4c47206c28a17865b528dff74863008825ee6e53904954e9b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d7d5d0e407a792df07c64e3e5194144c760910fb184554106c52d05a2443f522 [INFO] running `Command { std: "docker" "start" "-a" "d7d5d0e407a792df07c64e3e5194144c760910fb184554106c52d05a2443f522", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stderr] Checking rnd v0.1.1 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Checking serde_json v1.0.145 [INFO] [stderr] Checking rust-programming v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> tests/data_types.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #[cfg(test)] [INFO] [stdout] 2 | | [INFO] [stdout] | |_^ [INFO] [stdout] 3 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the attribute should apply to the crate use an inner attribute [INFO] [stdout] | [INFO] [stdout] 1 | #![cfg(test)] [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> tests/struct_test.rs:23:34 [INFO] [stdout] | [INFO] [stdout] 23 | println!("p.to_string(),{}",p.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: use of a disallowed/placeholder name `foo` [INFO] [stdout] --> src/bin/orphan_rule/type_demo/mod.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let foo = Foo::new("foo".to_string(),1); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names [INFO] [stdout] = note: `#[warn(clippy::disallowed_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a disallowed/placeholder name `foo` [INFO] [stdout] --> src/bin/orphan_rule/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let foo = type_demo::Foo::new(String::from("charles"), 18); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> tests/vectors.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | s.push_str("!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `s.push('!')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/vectors.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 32 | let mut v = vec![1,2,3,4]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1,2,3,4]` [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] --> tests/vectors.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let v = vec![String::from("hello"), String::from("hi")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[String::from("hello"), String::from("hi")]` [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] --> tests/vectors.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let v = vec![String::from("Hello ")]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[String::from("Hello ")]` [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: manual implementation of `Option::map` [INFO] [stdout] --> tests/test_enum.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | / match x { [INFO] [stdout] 57 | | Some(v) => Some(v + 1), [INFO] [stdout] 58 | | None => None [INFO] [stdout] 59 | | } [INFO] [stdout] | |_________^ help: try: `x.map(|v| v + 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: this boolean expression can be simplified [INFO] [stdout] --> tests/test_enum.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | if !ostr.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `ostr.is_some()` [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 `ostr` after checking its variant with `is_none` [INFO] [stdout] --> tests/test_enum.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 97 | if !ostr.is_none() { [INFO] [stdout] | -------------- the check is happening here [INFO] [stdout] 98 | //unwrap wile move self [INFO] [stdout] 99 | ostr.unwrap().clone() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `if let` or `match` [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: this import is redundant [INFO] [stdout] --> examples/guess_number.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | use rand; [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: associated items `copied` and `main` are never used [INFO] [stdout] --> tests/test_copy_template.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl MyOption<&T> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 7 | fn copied(self) -> MyOption{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | fn main(){ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `clone` on a `Copy` type [INFO] [stdout] --> tests/deref_demo.rs:13:33 [INFO] [stdout] | [INFO] [stdout] 13 | fn clone(&self) -> Self { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 14 | | println!("MyIntCopy clone: value:{}", &self.value); // Debug print here [INFO] [stdout] 15 | | MyInt { name: self.name.clone(), value: self.value } [INFO] [stdout] 16 | | } [INFO] [stdout] | |_________^ help: change this to: `{ *self }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_clone_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_clone_impl)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 32]` which implements the `Copy` trait [INFO] [stdout] --> tests/deref_demo.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | MyInt { name: self.name.clone(), value: self.value } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `MyInt` which implements the `Copy` trait [INFO] [stdout] --> tests/deref_demo.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | let c = value.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> tests/method_test3.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | let mut v1 = vec![1,2,3,4]; [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1,2,3,4]` [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: use of a disallowed/placeholder name `foo` [INFO] [stdout] --> src/bin/orphan_rule/type_demo/mod.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let foo = Foo::new("foo".to_string(),1); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names [INFO] [stdout] = note: `#[warn(clippy::disallowed_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of a disallowed/placeholder name `foo` [INFO] [stdout] --> src/bin/orphan_rule/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let foo = type_demo::Foo::new(String::from("charles"), 18); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#disallowed_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> tests/generic_mixup.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | x:x, [INFO] [stdout] | ^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> tests/generic_mixup.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | y:y [INFO] [stdout] | ^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant slicing of the whole range [INFO] [stdout] --> tests/slice_test.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | &strim[..] [INFO] [stdout] | ^^^^^^^^^^ help: use the original value instead: `strim` [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: method `red` is never used [INFO] [stdout] --> examples/struct_demo.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 72 | impl Color{ [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 73 | fn red(&self)->i32{ [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `msg` is never used [INFO] [stdout] --> examples/struct_demo.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl Color{ [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | fn msg(&self) ->String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AlwaysEq` is never constructed [INFO] [stdout] --> examples/struct_demo.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct AlwaysEq; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setX` should have a snake case name [INFO] [stdout] --> examples/struct_demo.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | fn setX(&mut self,value : i32){ [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `set_x` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `setY` should have a snake case name [INFO] [stdout] --> examples/struct_demo.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | fn setY(&mut self,value : i32){ [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `set_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> examples/struct_demo.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 78 | fn test_color(){ [INFO] [stdout] | --------------- move the `impl` block outside of this function `test_color` [INFO] [stdout] 79 | let c = Color(1,2,3); [INFO] [stdout] 80 | impl Color{ [INFO] [stdout] | ^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | `Color` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `fooRef` should have a snake case name [INFO] [stdout] --> examples/struct_demo.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | let fooRef = build_fooref(name4,&email4,3); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `foo_ref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: direct implementation of `ToString` [INFO] [stdout] --> src/models/enums.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / impl ToString for YesOrNo{ [INFO] [stdout] 18 | | fn to_string(&self) -> String{ [INFO] [stdout] 19 | | match self{ [INFO] [stdout] 20 | | YesOrNo::Yes => "Yes".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 24 | | } [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: direct implementation of `ToString` [INFO] [stdout] --> src/models/enums.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / impl ToString for YesOrNo{ [INFO] [stdout] 18 | | fn to_string(&self) -> String{ [INFO] [stdout] 19 | | match self{ [INFO] [stdout] 20 | | YesOrNo::Yes => "Yes".to_string(), [INFO] [stdout] ... | [INFO] [stdout] 24 | | } [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: useless use of `vec!` [INFO] [stdout] --> tests/owner_test.rs:45:18 [INFO] [stdout] | [INFO] [stdout] 45 | let mut v = vec!(1,2,3,4); [INFO] [stdout] | ^^^^^^^^^^^^^ help: you can use an array directly: `[1,2,3,4]` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.12s [INFO] running `Command { std: "docker" "inspect" "d7d5d0e407a792df07c64e3e5194144c760910fb184554106c52d05a2443f522", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7d5d0e407a792df07c64e3e5194144c760910fb184554106c52d05a2443f522", kill_on_drop: false }` [INFO] [stdout] d7d5d0e407a792df07c64e3e5194144c760910fb184554106c52d05a2443f522