[INFO] updating cached repository kiorpesc/stl-flipper [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/kiorpesc/stl-flipper [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/kiorpesc/stl-flipper" "work/ex/clippy-test-run/sources/stable/gh/kiorpesc/stl-flipper"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/kiorpesc/stl-flipper'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/kiorpesc/stl-flipper" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kiorpesc/stl-flipper"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kiorpesc/stl-flipper'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 521e470817e3e155aed9f6b6639f15cf15c6b9f0 [INFO] sha for GitHub repo kiorpesc/stl-flipper: 521e470817e3e155aed9f6b6639f15cf15c6b9f0 [INFO] validating manifest of kiorpesc/stl-flipper 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 kiorpesc/stl-flipper 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 kiorpesc/stl-flipper [INFO] finished frobbing kiorpesc/stl-flipper [INFO] frobbed toml for kiorpesc/stl-flipper written to work/ex/clippy-test-run/sources/stable/gh/kiorpesc/stl-flipper/Cargo.toml [INFO] started frobbing kiorpesc/stl-flipper [INFO] finished frobbing kiorpesc/stl-flipper [INFO] frobbed toml for kiorpesc/stl-flipper written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/kiorpesc/stl-flipper/Cargo.toml [INFO] crate kiorpesc/stl-flipper 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 kiorpesc/stl-flipper against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/kiorpesc/stl-flipper:/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] d39370cc276ae3bce6f151473b2fc8eecd7b416bb87fdbf5facc30ab56653732 [INFO] running `"docker" "start" "-a" "d39370cc276ae3bce6f151473b2fc8eecd7b416bb87fdbf5facc30ab56653732"` [INFO] [stderr] Checking stl-flipper v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | for i in 0..header.num_triangles { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | let mut buf: [u8; HEADER_SIZE]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | let mut buf: [u8; TRIANGLE_SIZE]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: #[derive] can't be used on a #[repr(packed)] struct that does not derive Copy (error E0133) [INFO] [stderr] --> src/main.rs:16:10 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(safe_packed_borrows)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | for i in 0..header.num_triangles { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:68:26 [INFO] [stderr] | [INFO] [stderr] 68 | swap_floats_in_array(&mut triangle.normal_vec, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:69:26 [INFO] [stderr] | [INFO] [stderr] 69 | swap_floats_in_array(&mut triangle.vertex1, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:70:26 [INFO] [stderr] | [INFO] [stderr] 70 | swap_floats_in_array(&mut triangle.vertex2, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:71:26 [INFO] [stderr] | [INFO] [stderr] 71 | swap_floats_in_array(&mut triangle.vertex3, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | let mut buf: [u8; HEADER_SIZE]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | let mut buf: [u8; TRIANGLE_SIZE]; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [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:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / match file.read_exact(&mut header.binary_misc) { [INFO] [stderr] 33 | | Err(e) => panic!("Unable to read misc header data: {}", e.description()), [INFO] [stderr] 34 | | _ => {}, [INFO] [stderr] 35 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.read_exact(&mut header.binary_misc) { panic!("Unable to read misc header data: {}", e.description()) }` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / match file.read_exact(&mut tmp_buf) { [INFO] [stderr] 38 | | Err(e) => panic!("Unable to read number of triangles: {}", e.description()), [INFO] [stderr] 39 | | _ => {}, [INFO] [stderr] 40 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.read_exact(&mut tmp_buf) { panic!("Unable to read number of triangles: {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | / match file.read_exact(&mut buf) { [INFO] [stderr] 52 | | Err(e) => panic!("Failed reading triangle! {}", e.description()), [INFO] [stderr] 53 | | _ => {}, [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.read_exact(&mut buf) { panic!("Failed reading triangle! {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping elements of `arr` manually [INFO] [stderr] --> src/main.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | / let tmp: f32 = arr[index1]; [INFO] [stderr] 63 | | arr[index1] = arr[index2]; [INFO] [stderr] 64 | | arr[index2] = tmp; [INFO] [stderr] | |_____________________^ help: try: `arr.swap(index1, index2)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: #[derive] can't be used on a #[repr(packed)] struct that does not derive Copy (error E0133) [INFO] [stderr] --> src/main.rs:16:10 [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(safe_packed_borrows)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `triangles`. [INFO] [stderr] --> src/main.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | for i in 0..triangles.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 75 | for in &mut triangles { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:68:26 [INFO] [stderr] | [INFO] [stderr] 68 | swap_floats_in_array(&mut triangle.normal_vec, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:69:26 [INFO] [stderr] | [INFO] [stderr] 69 | swap_floats_in_array(&mut triangle.vertex1, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:70:26 [INFO] [stderr] | [INFO] [stderr] 70 | swap_floats_in_array(&mut triangle.vertex2, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] | [INFO] [stderr] --> src/main.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | / match file.write_all(&buf) { [INFO] [stderr] 86 | | Err(e) => panic!("Unable to write header to output file: {}", e.description()), [INFO] [stderr] 87 | | _ => {}, [INFO] [stderr] 88 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.write_all(&buf) { panic!("Unable to write header to output file: {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [INFO] [stderr] [INFO] [stderr] warning: borrow of packed field is unsafe and requires unsafe function or block (error E0133) [INFO] [stderr] --> src/main.rs:71:26 [INFO] [stderr] | [INFO] [stderr] 71 | swap_floats_in_array(&mut triangle.vertex3, axis1, axis2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #46043 [INFO] [stderr] = note: fields of packed structs might be misaligned: dereferencing a misaligned pointer or even just creating a misaligned reference is undefined behavior [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:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | / match file.write_all(&buf) { [INFO] [stderr] 97 | | Err(e) => panic!("Unable to write triangle to file: {}", e.description()), [INFO] [stderr] 98 | | _ => {}, [INFO] [stderr] 99 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.write_all(&buf) { panic!("Unable to write triangle to file: {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / match file.read_exact(&mut header.binary_misc) { [INFO] [stderr] 33 | | Err(e) => panic!("Unable to read misc header data: {}", e.description()), [INFO] [stderr] 34 | | _ => {}, [INFO] [stderr] 35 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.read_exact(&mut header.binary_misc) { panic!("Unable to read misc header data: {}", e.description()) }` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / match file.read_exact(&mut tmp_buf) { [INFO] [stderr] 38 | | Err(e) => panic!("Unable to read number of triangles: {}", e.description()), [INFO] [stderr] 39 | | _ => {}, [INFO] [stderr] 40 | | }; [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.read_exact(&mut tmp_buf) { panic!("Unable to read number of triangles: {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | / match file.read_exact(&mut buf) { [INFO] [stderr] 52 | | Err(e) => panic!("Failed reading triangle! {}", e.description()), [INFO] [stderr] 53 | | _ => {}, [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.read_exact(&mut buf) { panic!("Failed reading triangle! {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping elements of `arr` manually [INFO] [stderr] --> src/main.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | / let tmp: f32 = arr[index1]; [INFO] [stderr] 63 | | arr[index1] = arr[index2]; [INFO] [stderr] 64 | | arr[index2] = tmp; [INFO] [stderr] | |_____________________^ help: try: `arr.swap(index1, index2)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `triangles`. [INFO] [stderr] --> src/main.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | for i in 0..triangles.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 75 | for in &mut triangles { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^ [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:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | / match file.write_all(&buf) { [INFO] [stderr] 86 | | Err(e) => panic!("Unable to write header to output file: {}", e.description()), [INFO] [stderr] 87 | | _ => {}, [INFO] [stderr] 88 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.write_all(&buf) { panic!("Unable to write header to output file: {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | / match file.write_all(&buf) { [INFO] [stderr] 97 | | Err(e) => panic!("Unable to write triangle to file: {}", e.description()), [INFO] [stderr] 98 | | _ => {}, [INFO] [stderr] 99 | | } [INFO] [stderr] | |_____^ help: try this: `if let Err(e) = file.write_all(&buf) { panic!("Unable to write triangle to file: {}", e.description()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.89s [INFO] running `"docker" "inspect" "d39370cc276ae3bce6f151473b2fc8eecd7b416bb87fdbf5facc30ab56653732"` [INFO] running `"docker" "rm" "-f" "d39370cc276ae3bce6f151473b2fc8eecd7b416bb87fdbf5facc30ab56653732"` [INFO] [stdout] d39370cc276ae3bce6f151473b2fc8eecd7b416bb87fdbf5facc30ab56653732