[INFO] updating cached repository maxastyler/unit-conversion [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/maxastyler/unit-conversion [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/maxastyler/unit-conversion" "work/ex/clippy-test-run/sources/stable/gh/maxastyler/unit-conversion"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/maxastyler/unit-conversion'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/maxastyler/unit-conversion" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/maxastyler/unit-conversion"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/maxastyler/unit-conversion'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 115db73ee4cfe2106ff66c614ef63c6c09181053 [INFO] sha for GitHub repo maxastyler/unit-conversion: 115db73ee4cfe2106ff66c614ef63c6c09181053 [INFO] validating manifest of maxastyler/unit-conversion 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 maxastyler/unit-conversion 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 maxastyler/unit-conversion [INFO] finished frobbing maxastyler/unit-conversion [INFO] frobbed toml for maxastyler/unit-conversion written to work/ex/clippy-test-run/sources/stable/gh/maxastyler/unit-conversion/Cargo.toml [INFO] started frobbing maxastyler/unit-conversion [INFO] finished frobbing maxastyler/unit-conversion [INFO] frobbed toml for maxastyler/unit-conversion written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/maxastyler/unit-conversion/Cargo.toml [INFO] crate maxastyler/unit-conversion 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 maxastyler/unit-conversion against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/maxastyler/unit-conversion:/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] 844239a54854c6596b1252f69fa8188519aa2a8e4ea5e36bb339cf45246d7fec [INFO] running `"docker" "start" "-a" "844239a54854c6596b1252f69fa8188519aa2a8e4ea5e36bb339cf45246d7fec"` [INFO] [stderr] Checking libc v0.2.39 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking unit-conversion v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/unit.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/unit.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/unit.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `be_i32` [INFO] [stderr] --> src/parser.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use nom::{digit, be_i32, double, alpha, rest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/parser.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | use nom::IResult::{Done, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/unit.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/unit.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/unit.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `be_i32` [INFO] [stderr] --> src/parser.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use nom::{digit, be_i32, double, alpha, rest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mul` [INFO] [stderr] --> src/unit.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Mul, Div}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Div` [INFO] [stderr] --> src/unit.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Mul, Div}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/parser.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | use nom::IResult::{Done, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/parser.rs:83:34 [INFO] [stderr] | [INFO] [stderr] 83 | use nom::IResult::{Done, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/unit.rs:41:30 [INFO] [stderr] | [INFO] [stderr] 41 | Some(u) => { for j in 0..i.abs() { [INFO] [stderr] | ^ help: consider using `_j` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `matches` [INFO] [stderr] --> src/dimension.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn matches(&self, other: &Dimension) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/dimension.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn add(&self, other: &Dimension) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/dimension.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn sub(&self, other: &Dimension) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pow` [INFO] [stderr] --> src/dimension.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn pow(&self, power: i32) -> Dimension { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `root` [INFO] [stderr] --> src/dimension.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn root(&self, root: i32) -> Dimension { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/quantity.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn add(&self, other: Quantity) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/quantity.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn sub(&self, other: Quantity) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mul` [INFO] [stderr] --> src/quantity.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn mul(&self, other: Quantity) -> Quantity { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `div` [INFO] [stderr] --> src/quantity.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn div(&self, other: Quantity) -> Quantity { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pow` [INFO] [stderr] --> src/unit.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn pow(&self, power: i32) -> Unit { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `root` [INFO] [stderr] --> src/unit.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn root(&self, root: i32) -> Unit { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/dimension.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | / if self.array() == other.array() { true } [INFO] [stderr] 46 | | else { false } [INFO] [stderr] | |______________________^ help: you can reduce it to: `self.array() == other.array()` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/unit.rs:31:35 [INFO] [stderr] | [INFO] [stderr] 31 | Unit::new(self.value.powf(power as f64), &self.dimension.pow(power).array()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/unit.rs:34:39 [INFO] [stderr] | [INFO] [stderr] 34 | Unit::new(self.value.powf(1.0/(root as f64)), &self.dimension.root(root).array()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(root)` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / match split_lines { [INFO] [stderr] 56 | | Done(_, tup) => { [INFO] [stderr] 57 | | for u in tup.into_iter().map(|x| parse_unit(x)){ [INFO] [stderr] 58 | | match u { [INFO] [stderr] ... | [INFO] [stderr] 66 | | _ => () [INFO] [stderr] 67 | | } [INFO] [stderr] | |_____^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 55 | if let Done(_, tup) = split_lines { [INFO] [stderr] 56 | for u in tup.into_iter().map(|x| parse_unit(x)){ [INFO] [stderr] 57 | match u { [INFO] [stderr] 58 | Done(_, s) => { [INFO] [stderr] 59 | split_units.push(s); [INFO] [stderr] 60 | }, [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/parser.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | / match u { [INFO] [stderr] 59 | | Done(_, s) => { [INFO] [stderr] 60 | | split_units.push(s); [INFO] [stderr] 61 | | }, [INFO] [stderr] 62 | | _ => () [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 58 | if let Done(_, s) = u { [INFO] [stderr] 59 | split_units.push(s); [INFO] [stderr] 60 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `Mul` [INFO] [stderr] --> src/unit.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Mul, Div}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Div` [INFO] [stderr] --> src/unit.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Mul, Div}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/unit.rs:41:30 [INFO] [stderr] | [INFO] [stderr] 41 | Some(u) => { for j in 0..i.abs() { [INFO] [stderr] | ^ help: consider using `_j` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `matches` [INFO] [stderr] --> src/dimension.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn matches(&self, other: &Dimension) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/dimension.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn add(&self, other: &Dimension) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/dimension.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn sub(&self, other: &Dimension) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pow` [INFO] [stderr] --> src/dimension.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn pow(&self, power: i32) -> Dimension { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `root` [INFO] [stderr] --> src/dimension.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn root(&self, root: i32) -> Dimension { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/quantity.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn add(&self, other: Quantity) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/quantity.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn sub(&self, other: Quantity) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mul` [INFO] [stderr] --> src/quantity.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn mul(&self, other: Quantity) -> Quantity { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `div` [INFO] [stderr] --> src/quantity.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn div(&self, other: Quantity) -> Quantity { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pow` [INFO] [stderr] --> src/unit.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn pow(&self, power: i32) -> Unit { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `root` [INFO] [stderr] --> src/unit.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn root(&self, root: i32) -> Unit { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/dimension.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | / if self.array() == other.array() { true } [INFO] [stderr] 46 | | else { false } [INFO] [stderr] | |______________________^ help: you can reduce it to: `self.array() == other.array()` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/unit.rs:31:35 [INFO] [stderr] | [INFO] [stderr] 31 | Unit::new(self.value.powf(power as f64), &self.dimension.pow(power).array()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/unit.rs:34:39 [INFO] [stderr] | [INFO] [stderr] 34 | Unit::new(self.value.powf(1.0/(root as f64)), &self.dimension.root(root).array()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(root)` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / match split_lines { [INFO] [stderr] 56 | | Done(_, tup) => { [INFO] [stderr] 57 | | for u in tup.into_iter().map(|x| parse_unit(x)){ [INFO] [stderr] 58 | | match u { [INFO] [stderr] ... | [INFO] [stderr] 66 | | _ => () [INFO] [stderr] 67 | | } [INFO] [stderr] | |_____^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 55 | if let Done(_, tup) = split_lines { [INFO] [stderr] 56 | for u in tup.into_iter().map(|x| parse_unit(x)){ [INFO] [stderr] 57 | match u { [INFO] [stderr] 58 | Done(_, s) => { [INFO] [stderr] 59 | split_units.push(s); [INFO] [stderr] 60 | }, [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/parser.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | / match u { [INFO] [stderr] 59 | | Done(_, s) => { [INFO] [stderr] 60 | | split_units.push(s); [INFO] [stderr] 61 | | }, [INFO] [stderr] 62 | | _ => () [INFO] [stderr] 63 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 58 | if let Done(_, s) = u { [INFO] [stderr] 59 | split_units.push(s); [INFO] [stderr] 60 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 6.22s [INFO] running `"docker" "inspect" "844239a54854c6596b1252f69fa8188519aa2a8e4ea5e36bb339cf45246d7fec"` [INFO] running `"docker" "rm" "-f" "844239a54854c6596b1252f69fa8188519aa2a8e4ea5e36bb339cf45246d7fec"` [INFO] [stdout] 844239a54854c6596b1252f69fa8188519aa2a8e4ea5e36bb339cf45246d7fec