[INFO] updating cached repository anztrax/learnrust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/anztrax/learnrust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/anztrax/learnrust" "work/ex/clippy-test-run/sources/stable/gh/anztrax/learnrust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/anztrax/learnrust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/anztrax/learnrust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anztrax/learnrust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anztrax/learnrust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d04f8dcbd5690f4b590bcf9fdaaccaa6fa844a9f [INFO] sha for GitHub repo anztrax/learnrust: d04f8dcbd5690f4b590bcf9fdaaccaa6fa844a9f [INFO] validating manifest of anztrax/learnrust on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of anztrax/learnrust on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing anztrax/learnrust [INFO] finished frobbing anztrax/learnrust [INFO] frobbed toml for anztrax/learnrust written to work/ex/clippy-test-run/sources/stable/gh/anztrax/learnrust/Cargo.toml [INFO] started frobbing anztrax/learnrust [INFO] finished frobbing anztrax/learnrust [INFO] frobbed toml for anztrax/learnrust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anztrax/learnrust/Cargo.toml [INFO] crate anztrax/learnrust has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting anztrax/learnrust against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anztrax/learnrust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] fff225113a196148a0f9457cf6efe2d68cc1698b0889710c8d142e0af7be2743 [INFO] running `"docker" "start" "-a" "fff225113a196148a0f9457cf6efe2d68cc1698b0889710c8d142e0af7be2743"` [INFO] [stderr] Checking learnrust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `::lessons::Rectangle::Rectangle` [INFO] [stderr] --> src/adder/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use ::lessons::Rectangle::Rectangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `::lessons::Guess::Guess` [INFO] [stderr] --> src/adder/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use ::lessons::Guess::Guess; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/closures/learnClosure.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | } else{ [INFO] [stderr] | _________^ [INFO] [stderr] 92 | | if random_number == 3 { [INFO] [stderr] 93 | | println!("Take a break today! Remember to stay hydrated!"); [INFO] [stderr] 94 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 91 | } elseif random_number == 3 { [INFO] [stderr] 92 | println!("Take a break today! Remember to stay hydrated!"); [INFO] [stderr] 93 | } else { [INFO] [stderr] 94 | println!( [INFO] [stderr] 95 | "Today, run for {} minutes!", [INFO] [stderr] 96 | expensive_result.value(intensity) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/closures/learnIterator.rs:30:7 [INFO] [stderr] | [INFO] [stderr] 30 | if(self.count < 6){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/closures/learnClosure.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | } else{ [INFO] [stderr] | _________^ [INFO] [stderr] 92 | | if random_number == 3 { [INFO] [stderr] 93 | | println!("Take a break today! Remember to stay hydrated!"); [INFO] [stderr] 94 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 91 | } elseif random_number == 3 { [INFO] [stderr] 92 | println!("Take a break today! Remember to stay hydrated!"); [INFO] [stderr] 93 | } else { [INFO] [stderr] 94 | println!( [INFO] [stderr] 95 | "Today, run for {} minutes!", [INFO] [stderr] 96 | expensive_result.value(intensity) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/closures/learnIterator.rs:30:7 [INFO] [stderr] | [INFO] [stderr] 30 | if(self.count < 6){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v_reference` [INFO] [stderr] --> src/lessons/commonCollection.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let v_reference = &v[v_index]; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_v_reference` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s2` [INFO] [stderr] --> src/lessons/tryStringCollection.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let s2 = String::from("tac"); [INFO] [stderr] | ^^ help: consider using `_s2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point2` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let point2 = Point{x : 10.1, y: 20.2}; [INFO] [stderr] | ^^^^^^ help: consider using `_point2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point2_2` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:53:7 [INFO] [stderr] | [INFO] [stderr] 53 | let point2_2 = Point2{x : 20, y : 20.1}; [INFO] [stderr] | ^^^^^^^^ help: consider using `_point2_2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `intensity` [INFO] [stderr] --> src/closures/learnClosure.rs:41:40 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn simulated_expensive_calculation(intensity: u32){ [INFO] [stderr] | ^^^^^^^^^ help: consider using `_intensity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expensive_result2` [INFO] [stderr] --> src/closures/learnClosure.rs:62:7 [INFO] [stderr] | [INFO] [stderr] 62 | let expensive_result2 = expensive_calculation(intensity); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using `_expensive_result2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expensive_result3` [INFO] [stderr] --> src/closures/learnClosure.rs:63:7 [INFO] [stderr] | [INFO] [stderr] 63 | let expensive_result3 = |num: u32| -> u32{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using `_expensive_result3` instead [INFO] [stderr] [INFO] [stderr] warning: function is never used: `returns_summarizable` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:132:1 [INFO] [stderr] | [INFO] [stderr] 132 | fn returns_summarizable() -> impl Summary { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `value` [INFO] [stderr] --> src/lessons/Guess.rs:2:3 [INFO] [stderr] | [INFO] [stderr] 2 | value:u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `commonCollection` should have a snake case name such as `common_collection` [INFO] [stderr] --> src/lessons/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod commonCollection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: function `tryCommonCollection` should have a snake case name such as `try_common_collection` [INFO] [stderr] --> src/lessons/commonCollection.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / pub fn tryCommonCollection(){ [INFO] [stderr] 9 | | let v = vec![1,2,3]; [INFO] [stderr] 10 | | println!("vector value : {:#?}", v); [INFO] [stderr] 11 | | [INFO] [stderr] ... | [INFO] [stderr] 65 | | println!("row data : {:?}", row); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lessons/commonCollection.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | let first = &v[0].clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `v[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: module `tryStringCollection` should have a snake case name such as `try_string_collection` [INFO] [stderr] --> src/lessons/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod tryStringCollection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tryUpdateString` should have a snake case name such as `try_update_string` [INFO] [stderr] --> src/lessons/tryStringCollection.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / pub fn tryUpdateString(){ [INFO] [stderr] 2 | | println!("=============================="); [INFO] [stderr] 3 | | [INFO] [stderr] 4 | | let mut s = String::from("foo"); [INFO] [stderr] ... | [INFO] [stderr] 37 | | println!("=============================="); [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v_reference` [INFO] [stderr] --> src/lessons/commonCollection.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let v_reference = &v[v_index]; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_v_reference` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s2` [INFO] [stderr] --> src/lessons/tryStringCollection.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | let s2 = String::from("tac"); [INFO] [stderr] | ^^ help: consider using `_s2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point2` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let point2 = Point{x : 10.1, y: 20.2}; [INFO] [stderr] | ^^^^^^ help: consider using `_point2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `point2_2` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:53:7 [INFO] [stderr] | [INFO] [stderr] 53 | let point2_2 = Point2{x : 20, y : 20.1}; [INFO] [stderr] | ^^^^^^^^ help: consider using `_point2_2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `intensity` [INFO] [stderr] --> src/closures/learnClosure.rs:41:40 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn simulated_expensive_calculation(intensity: u32){ [INFO] [stderr] | ^^^^^^^^^ help: consider using `_intensity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expensive_result2` [INFO] [stderr] --> src/closures/learnClosure.rs:62:7 [INFO] [stderr] | [INFO] [stderr] 62 | let expensive_result2 = expensive_calculation(intensity); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using `_expensive_result2` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expensive_result3` [INFO] [stderr] --> src/closures/learnClosure.rs:63:7 [INFO] [stderr] | [INFO] [stderr] 63 | let expensive_result3 = |num: u32| -> u32{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using `_expensive_result3` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `guess` [INFO] [stderr] --> src/adder/mod.rs:45:7 [INFO] [stderr] | [INFO] [stderr] 45 | let guess = Guess::new(0); [INFO] [stderr] | ^^^^^ help: consider using `_guess` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/adder/mod.rs:74:7 [INFO] [stderr] | [INFO] [stderr] 74 | let y = 10; [INFO] [stderr] | ^ help: consider using `_y` instead [INFO] [stderr] [INFO] [stderr] warning: module `tryHashMapCollection` should have a snake case name such as `try_hash_map_collection` [INFO] [stderr] --> src/lessons/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod tryHashMapCollection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tryHashMap` should have a snake case name such as `try_hash_map` [INFO] [stderr] --> src/lessons/tryHashMapCollection.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | / pub fn tryHashMap(){ [INFO] [stderr] 4 | | println!("========================"); [INFO] [stderr] 5 | | [INFO] [stderr] 6 | | let mut scores = HashMap::new(); [INFO] [stderr] ... | [INFO] [stderr] 52 | | println!("========================"); [INFO] [stderr] 53 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `recoverableError` should have a snake case name such as `recoverable_error` [INFO] [stderr] --> src/lessons/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod recoverableError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `recoverableError` should have a snake case name such as `recoverable_error` [INFO] [stderr] --> src/lessons/recoverableError.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn recoverableError(){ [INFO] [stderr] 28 | | let f = File::open("hello.txt"); [INFO] [stderr] 29 | | let t = match f{ [INFO] [stderr] 30 | | Ok(file) => file, [INFO] [stderr] ... | [INFO] [stderr] 54 | | println!("file value : {:?}", t); [INFO] [stderr] 55 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `tryGenericTypes` should have a snake case name such as `try_generic_types` [INFO] [stderr] --> src/lessons/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod tryGenericTypes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:41:32 [INFO] [stderr] | [INFO] [stderr] 41 | let largest_number = largest(&(vec![10, 20, 50, 60, 100])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[10, 20, 50, 60, 100]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | let largest_number = largest(&(vec![10, 20, 50, 60, 100, 1000])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[10, 20, 50, 60, 100, 1000]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:60:34 [INFO] [stderr] | [INFO] [stderr] 60 | let largest1 = largest_generic(&(vec!['a', 'b', 'z'])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&['a', 'b', 'z']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:61:34 [INFO] [stderr] | [INFO] [stderr] 61 | let largest2 = largest_generic(&(vec![10, 40, 60, 100, 1000])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[10, 40, 60, 100, 1000]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: module `tryLifetime` should have a snake case name such as `try_lifetime` [INFO] [stderr] --> src/lessons/mod.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub mod tryLifetime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `Rectangle` should have a snake case name such as `rectangle` [INFO] [stderr] --> src/lessons/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub mod Rectangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `Guess` should have a snake case name such as `guess` [INFO] [stderr] --> src/lessons/mod.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub mod Guess; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `learnClosure` should have a snake case name such as `learn_closure` [INFO] [stderr] --> src/closures/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub mod learnClosure; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `learnIterator` should have a snake case name such as `learn_iterator` [INFO] [stderr] --> src/closures/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod learnIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `learnIterator` should have a snake case name such as `learn_iterator` [INFO] [stderr] --> src/closures/learnIterator.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn learnIterator(){ [INFO] [stderr] 42 | | let v1 = vec![1,2,3,4]; [INFO] [stderr] 43 | | let v1_iter = v1.iter(); [INFO] [stderr] 44 | | for item in v1_iter{ [INFO] [stderr] ... | [INFO] [stderr] 64 | | println!("============================"); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `returns_summarizable` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:132:1 [INFO] [stderr] | [INFO] [stderr] 132 | fn returns_summarizable() -> impl Summary { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `value` [INFO] [stderr] --> src/lessons/Guess.rs:2:3 [INFO] [stderr] | [INFO] [stderr] 2 | value:u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `commonCollection` should have a snake case name such as `common_collection` [INFO] [stderr] --> src/lessons/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod commonCollection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: function `tryCommonCollection` should have a snake case name such as `try_common_collection` [INFO] [stderr] --> src/lessons/commonCollection.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / pub fn tryCommonCollection(){ [INFO] [stderr] 9 | | let v = vec![1,2,3]; [INFO] [stderr] 10 | | println!("vector value : {:#?}", v); [INFO] [stderr] 11 | | [INFO] [stderr] ... | [INFO] [stderr] 65 | | println!("row data : {:?}", row); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lessons/commonCollection.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | let first = &v[0].clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `v[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: module `tryStringCollection` should have a snake case name such as `try_string_collection` [INFO] [stderr] --> src/lessons/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod tryStringCollection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tryUpdateString` should have a snake case name such as `try_update_string` [INFO] [stderr] --> src/lessons/tryStringCollection.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / pub fn tryUpdateString(){ [INFO] [stderr] 2 | | println!("=============================="); [INFO] [stderr] 3 | | [INFO] [stderr] 4 | | let mut s = String::from("foo"); [INFO] [stderr] ... | [INFO] [stderr] 37 | | println!("=============================="); [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `tryHashMapCollection` should have a snake case name such as `try_hash_map_collection` [INFO] [stderr] --> src/lessons/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod tryHashMapCollection; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tryHashMap` should have a snake case name such as `try_hash_map` [INFO] [stderr] --> src/lessons/tryHashMapCollection.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | / pub fn tryHashMap(){ [INFO] [stderr] 4 | | println!("========================"); [INFO] [stderr] 5 | | [INFO] [stderr] 6 | | let mut scores = HashMap::new(); [INFO] [stderr] ... | [INFO] [stderr] 52 | | println!("========================"); [INFO] [stderr] 53 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `recoverableError` should have a snake case name such as `recoverable_error` [INFO] [stderr] --> src/lessons/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod recoverableError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `recoverableError` should have a snake case name such as `recoverable_error` [INFO] [stderr] --> src/lessons/recoverableError.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn recoverableError(){ [INFO] [stderr] 28 | | let f = File::open("hello.txt"); [INFO] [stderr] 29 | | let t = match f{ [INFO] [stderr] 30 | | Ok(file) => file, [INFO] [stderr] ... | [INFO] [stderr] 54 | | println!("file value : {:?}", t); [INFO] [stderr] 55 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: module `tryGenericTypes` should have a snake case name such as `try_generic_types` [INFO] [stderr] --> src/lessons/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod tryGenericTypes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:41:32 [INFO] [stderr] | [INFO] [stderr] 41 | let largest_number = largest(&(vec![10, 20, 50, 60, 100])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[10, 20, 50, 60, 100]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | let largest_number = largest(&(vec![10, 20, 50, 60, 100, 1000])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[10, 20, 50, 60, 100, 1000]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:60:34 [INFO] [stderr] | [INFO] [stderr] 60 | let largest1 = largest_generic(&(vec!['a', 'b', 'z'])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&['a', 'b', 'z']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/lessons/tryGenericTypes.rs:61:34 [INFO] [stderr] | [INFO] [stderr] 61 | let largest2 = largest_generic(&(vec![10, 40, 60, 100, 1000])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[10, 40, 60, 100, 1000]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: module `tryLifetime` should have a snake case name such as `try_lifetime` [INFO] [stderr] --> src/lessons/mod.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub mod tryLifetime; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `Rectangle` should have a snake case name such as `rectangle` [INFO] [stderr] --> src/lessons/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub mod Rectangle; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `Guess` should have a snake case name such as `guess` [INFO] [stderr] --> src/lessons/mod.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub mod Guess; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `learnClosure` should have a snake case name such as `learn_closure` [INFO] [stderr] --> src/closures/mod.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub mod learnClosure; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `learnIterator` should have a snake case name such as `learn_iterator` [INFO] [stderr] --> src/closures/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod learnIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `learnIterator` should have a snake case name such as `learn_iterator` [INFO] [stderr] --> src/closures/learnIterator.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn learnIterator(){ [INFO] [stderr] 42 | | let v1 = vec![1,2,3,4]; [INFO] [stderr] 43 | | let v1_iter = v1.iter(); [INFO] [stderr] 44 | | for item in v1_iter{ [INFO] [stderr] ... | [INFO] [stderr] 64 | | println!("============================"); [INFO] [stderr] 65 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:109:28 [INFO] [stderr] | [INFO] [stderr] 109 | const MAX_POINT :u32 = 100000; [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | return (hello.len(), world.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(hello.len(), world.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | some_string [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:339:23 [INFO] [stderr] | [INFO] [stderr] 339 | let some_string = String::from("hello"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:109:28 [INFO] [stderr] | [INFO] [stderr] 109 | const MAX_POINT :u32 = 100000; [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | return (hello.len(), world.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(hello.len(), world.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | some_string [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:339:23 [INFO] [stderr] | [INFO] [stderr] 339 | let some_string = String::from("hello"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: field is never used: `email` [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | email: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `sign_in_count` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | sign_in_count: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `active` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | active: bool [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `point1` should have an upper case name such as `POINT1` [INFO] [stderr] --> src/main.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | const point1 :Point = Point(0,0,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `color1` should have an upper case name such as `COLOR1` [INFO] [stderr] --> src/main.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | const color1 :Color = Color( 0, 0, 10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `email` [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | email: String, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `sign_in_count` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | sign_in_count: u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `active` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | active: bool [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | index = index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `index += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: constant `point1` should have an upper case name such as `POINT1` [INFO] [stderr] --> src/main.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | const point1 :Point = Point(0,0,0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `color1` should have an upper case name such as `COLOR1` [INFO] [stderr] --> src/main.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | const color1 :Color = Color( 0, 0, 10); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/main.rs:190:27 [INFO] [stderr] | [INFO] [stderr] 190 | let inline_if_value = if 10 > 3 { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 191 | | true [INFO] [stderr] 192 | | }else{ [INFO] [stderr] 193 | | false [INFO] [stderr] 194 | | }; [INFO] [stderr] | |_____^ help: you can reduce it to: `10 > 3` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | index = index + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `index += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:291:18 [INFO] [stderr] | [INFO] [stderr] 291 | fn first_word(s: &String) -> usize{ [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:302:19 [INFO] [stderr] | [INFO] [stderr] 302 | fn second_word(s: &String) -> (usize, usize) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/main.rs:190:27 [INFO] [stderr] | [INFO] [stderr] 190 | let inline_if_value = if 10 > 3 { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 191 | | true [INFO] [stderr] 192 | | }else{ [INFO] [stderr] 193 | | false [INFO] [stderr] 194 | | }; [INFO] [stderr] | |_____^ help: you can reduce it to: `10 > 3` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:353:43 [INFO] [stderr] | [INFO] [stderr] 353 | fn calculate_length_with_dereferencing(s: &String) -> usize{ [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:291:18 [INFO] [stderr] | [INFO] [stderr] 291 | fn first_word(s: &String) -> usize{ [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:302:19 [INFO] [stderr] | [INFO] [stderr] 302 | fn second_word(s: &String) -> (usize, usize) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/main.rs:353:43 [INFO] [stderr] | [INFO] [stderr] 353 | fn calculate_length_with_dereferencing(s: &String) -> usize{ [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.42s [INFO] running `"docker" "inspect" "fff225113a196148a0f9457cf6efe2d68cc1698b0889710c8d142e0af7be2743"` [INFO] running `"docker" "rm" "-f" "fff225113a196148a0f9457cf6efe2d68cc1698b0889710c8d142e0af7be2743"` [INFO] [stdout] fff225113a196148a0f9457cf6efe2d68cc1698b0889710c8d142e0af7be2743