[INFO] updating cached repository talchas/eternal-mana [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/talchas/eternal-mana [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/talchas/eternal-mana" "work/ex/clippy-test-run/sources/stable/gh/talchas/eternal-mana"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/talchas/eternal-mana'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/talchas/eternal-mana" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/talchas/eternal-mana"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/talchas/eternal-mana'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b317a807f6599b1002b60a1d39de3104d1810761 [INFO] sha for GitHub repo talchas/eternal-mana: b317a807f6599b1002b60a1d39de3104d1810761 [INFO] validating manifest of talchas/eternal-mana 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 talchas/eternal-mana 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 talchas/eternal-mana [INFO] finished frobbing talchas/eternal-mana [INFO] frobbed toml for talchas/eternal-mana written to work/ex/clippy-test-run/sources/stable/gh/talchas/eternal-mana/Cargo.toml [INFO] started frobbing talchas/eternal-mana [INFO] finished frobbing talchas/eternal-mana [INFO] frobbed toml for talchas/eternal-mana written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/talchas/eternal-mana/Cargo.toml [INFO] crate talchas/eternal-mana 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 talchas/eternal-mana against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/talchas/eternal-mana:/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" "-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] c0476b46aae4a14a5907c52daefb460655d886feb2f137f454fa531e143b422a [INFO] running `"docker" "start" "-a" "c0476b46aae4a14a5907c52daefb460655d886feb2f137f454fa531e143b422a"` [INFO] [stderr] Checking libc v0.2.27 [INFO] [stderr] Checking histogram v0.6.6 [INFO] [stderr] Checking maplit v0.1.4 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking eternal-mana v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:503:13 [INFO] [stderr] | [INFO] [stderr] 503 | target: target, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `target` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:503:13 [INFO] [stderr] | [INFO] [stderr] 503 | target: target, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `target` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:275:9 [INFO] [stderr] | [INFO] [stderr] 275 | / if self.pool.power + 1 < self.target.power { [INFO] [stderr] 276 | | if !self.hand.iter().any(|x| x.ramp() && x.cost().unwrap().unlocked(self.pool)) { [INFO] [stderr] 277 | | if let Some(c) = self.hand.iter().filter(|x| x.draws_power()).min_by_key(|x| x.cost().unwrap().power) { [INFO] [stderr] 278 | | return c.cost().unwrap(); [INFO] [stderr] 279 | | } [INFO] [stderr] 280 | | } [INFO] [stderr] 281 | | } [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] 275 | if self.pool.power + 1 < self.target.power && !self.hand.iter().any(|x| x.ramp() && x.cost().unwrap().unlocked(self.pool)) { [INFO] [stderr] 276 | if let Some(c) = self.hand.iter().filter(|x| x.draws_power()).min_by_key(|x| x.cost().unwrap().power) { [INFO] [stderr] 277 | return c.cost().unwrap(); [INFO] [stderr] 278 | } [INFO] [stderr] 279 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:275:9 [INFO] [stderr] | [INFO] [stderr] 275 | / if self.pool.power + 1 < self.target.power { [INFO] [stderr] 276 | | if !self.hand.iter().any(|x| x.ramp() && x.cost().unwrap().unlocked(self.pool)) { [INFO] [stderr] 277 | | if let Some(c) = self.hand.iter().filter(|x| x.draws_power()).min_by_key(|x| x.cost().unwrap().power) { [INFO] [stderr] 278 | | return c.cost().unwrap(); [INFO] [stderr] 279 | | } [INFO] [stderr] 280 | | } [INFO] [stderr] 281 | | } [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] 275 | if self.pool.power + 1 < self.target.power && !self.hand.iter().any(|x| x.ramp() && x.cost().unwrap().unlocked(self.pool)) { [INFO] [stderr] 276 | if let Some(c) = self.hand.iter().filter(|x| x.draws_power()).min_by_key(|x| x.cost().unwrap().power) { [INFO] [stderr] 277 | return c.cost().unwrap(); [INFO] [stderr] 278 | } [INFO] [stderr] 279 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:59:17 [INFO] [stderr] | [INFO] [stderr] 59 | fn unlocked(&self, pool: Cost) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | fn can_play(&self, pool: Cost) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:59:17 [INFO] [stderr] | [INFO] [stderr] 59 | fn unlocked(&self, pool: Cost) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | fn can_play(&self, pool: Cost) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:214:27 [INFO] [stderr] | [INFO] [stderr] 214 | let i = s.find(chars).unwrap_or(s.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:214:27 [INFO] [stderr] | [INFO] [stderr] 214 | let i = s.find(chars).unwrap_or(s.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| s.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:440:17 [INFO] [stderr] | [INFO] [stderr] 440 | / match c { [INFO] [stderr] 441 | | Banner(..) => was_banner = true, [INFO] [stderr] 442 | | _ => (), [INFO] [stderr] 443 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Banner(..) = c { was_banner = true }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:452:39 [INFO] [stderr] | [INFO] [stderr] 452 | had_power = had_power.or(Some(turns)); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some(turns))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:477:9 [INFO] [stderr] | [INFO] [stderr] 477 | (0..(i+1)).map(|i| h.get(i).unwrap_or(0) as f32).sum::() / h.entries() as f32 [INFO] [stderr] | ^^^^^^^^^^ help: use: `(0..=i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:492:21 [INFO] [stderr] | [INFO] [stderr] 492 | let max_turns = target.power as u32 * 3 + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(target.power)` [INFO] [stderr] | [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:440:17 [INFO] [stderr] | [INFO] [stderr] 440 | / match c { [INFO] [stderr] 441 | | Banner(..) => was_banner = true, [INFO] [stderr] 442 | | _ => (), [INFO] [stderr] 443 | | } [INFO] [stderr] | |_________________^ help: try this: `if let Banner(..) = c { was_banner = true }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:495:51 [INFO] [stderr] | [INFO] [stderr] 495 | let config = Histogram::configure().max_value(max_turns as u64 + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(max_turns)` [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:452:39 [INFO] [stderr] | [INFO] [stderr] 452 | had_power = had_power.or(Some(turns)); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some(turns))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:496:25 [INFO] [stderr] | [INFO] [stderr] 496 | let mut had_power = config.clone().build().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:497:26 [INFO] [stderr] | [INFO] [stderr] 497 | let mut had_colors = config.clone().build().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:498:36 [INFO] [stderr] | [INFO] [stderr] 498 | let mut had_colors_no_banner = config.clone().build().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config` [INFO] [stderr] | [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:513:29 [INFO] [stderr] | [INFO] [stderr] 513 | had_power.increment(res.had_power as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(res.had_power)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:514:30 [INFO] [stderr] | [INFO] [stderr] 514 | had_colors.increment(res.turn as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(res.turn)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:515:40 [INFO] [stderr] | [INFO] [stderr] 515 | had_colors_no_banner.increment(res.turn as u64 + res.with_banner_last_turn as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(res.turn)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:477:9 [INFO] [stderr] | [INFO] [stderr] 477 | (0..(i+1)).map(|i| h.get(i).unwrap_or(0) as f32).sum::() / h.entries() as f32 [INFO] [stderr] | ^^^^^^^^^^ help: use: `(0..=i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:492:21 [INFO] [stderr] | [INFO] [stderr] 492 | let max_turns = target.power as u32 * 3 + 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(target.power)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:495:51 [INFO] [stderr] | [INFO] [stderr] 495 | let config = Histogram::configure().max_value(max_turns as u64 + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(max_turns)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:496:25 [INFO] [stderr] | [INFO] [stderr] 496 | let mut had_power = config.clone().build().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:497:26 [INFO] [stderr] | [INFO] [stderr] 497 | let mut had_colors = config.clone().build().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:498:36 [INFO] [stderr] | [INFO] [stderr] 498 | let mut had_colors_no_banner = config.clone().build().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `config` [INFO] [stderr] | [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:513:29 [INFO] [stderr] | [INFO] [stderr] 513 | had_power.increment(res.had_power as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(res.had_power)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:514:30 [INFO] [stderr] | [INFO] [stderr] 514 | had_colors.increment(res.turn as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(res.turn)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:515:40 [INFO] [stderr] | [INFO] [stderr] 515 | had_colors_no_banner.increment(res.turn as u64 + res.with_banner_last_turn as u64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u64::from(res.turn)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.15s [INFO] running `"docker" "inspect" "c0476b46aae4a14a5907c52daefb460655d886feb2f137f454fa531e143b422a"` [INFO] running `"docker" "rm" "-f" "c0476b46aae4a14a5907c52daefb460655d886feb2f137f454fa531e143b422a"` [INFO] [stdout] c0476b46aae4a14a5907c52daefb460655d886feb2f137f454fa531e143b422a