[INFO] crate tinf 0.14.0 is already in cache [INFO] extracting crate tinf 0.14.0 into work/ex/clippy-test-run/sources/stable/reg/tinf/0.14.0 [INFO] extracting crate tinf 0.14.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tinf/0.14.0 [INFO] validating manifest of tinf-0.14.0 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 tinf-0.14.0 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 tinf-0.14.0 [INFO] finished frobbing tinf-0.14.0 [INFO] frobbed toml for tinf-0.14.0 written to work/ex/clippy-test-run/sources/stable/reg/tinf/0.14.0/Cargo.toml [INFO] started frobbing tinf-0.14.0 [INFO] finished frobbing tinf-0.14.0 [INFO] frobbed toml for tinf-0.14.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tinf/0.14.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 tinf-0.14.0 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-2/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/reg/tinf/0.14.0:/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] 5a4c36ae84ff4d7c33fac68dcd50ddd625f264e3390c76287303981a1c46cf5d [INFO] running `"docker" "start" "-a" "5a4c36ae84ff4d7c33fac68dcd50ddd625f264e3390c76287303981a1c46cf5d"` [INFO] [stderr] Checking tinf v0.14.0 (/opt/crater/workdir) [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/tests.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/lib.rs:151:26 [INFO] [stderr] | [INFO] [stderr] 151 | let d2 = to_path(env::home_dir()).map(|d| d.join(".terminfo")); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::env::home_dir': This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead. [INFO] [stderr] --> src/lib.rs:151:26 [INFO] [stderr] | [INFO] [stderr] 151 | let d2 = to_path(env::home_dir()).map(|d| d.join(".terminfo")); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | let mut r = &mut AlignReader::new(r); [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/lib.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | let mut r = &mut AlignReader::new(r); [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/cap/mod.rs:589:23 [INFO] [stderr] | [INFO] [stderr] 589 | pub fn short_name(&self) -> &'static str { [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/cap/mod.rs:594:22 [INFO] [stderr] | [INFO] [stderr] 594 | pub fn long_name(&self) -> &'static str { [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/cap/mod.rs:640:23 [INFO] [stderr] | [INFO] [stderr] 640 | pub fn short_name(&self) -> &'static str { [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/cap/mod.rs:645:22 [INFO] [stderr] | [INFO] [stderr] 645 | pub fn long_name(&self) -> &'static str { [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/cap/mod.rs:691:23 [INFO] [stderr] | [INFO] [stderr] 691 | pub fn short_name(&self) -> &'static str { [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/cap/mod.rs:696:22 [INFO] [stderr] | [INFO] [stderr] 696 | pub fn long_name(&self) -> &'static str { [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 pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/print.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | Some(&ref p) => Ok(p.clone()), [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/print.rs:316:12 [INFO] [stderr] | [INFO] [stderr] 316 | if fmt.specified() && !"cdoxXs".find(cap.peek_char()?).is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fmt.specified() && "cdoxXs".find(cap.peek_char()?).is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/print.rs:665:33 [INFO] [stderr] | [INFO] [stderr] 665 | let d = (c - b'0') as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(c - b'0')` [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/print.rs:708:57 [INFO] [stderr] | [INFO] [stderr] 708 | sleep(Duration::from_millis(ms as u64)); [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(ms)` [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: this boolean expression can be simplified [INFO] [stderr] --> src/lib.rs:302:36 [INFO] [stderr] | [INFO] [stderr] 302 | Ok(buf.into_iter().map(|b| !(b == 0)).collect()) [INFO] [stderr] | ^^^^^^^^^ help: try: `b != 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [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/lib.rs:367:13 [INFO] [stderr] | [INFO] [stderr] 367 | / match *ecap { [INFO] [stderr] 368 | | ICap::Bool(CapName::U(ref n), _) => { [INFO] [stderr] 369 | | if !names.contains(n.name()) { [INFO] [stderr] 370 | | exts.push(n); [INFO] [stderr] ... | [INFO] [stderr] 374 | | _ => (), [INFO] [stderr] 375 | | } [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] 367 | if let ICap::Bool(CapName::U(ref n), _) = *ecap { [INFO] [stderr] 368 | if !names.contains(n.name()) { [INFO] [stderr] 369 | exts.push(n); [INFO] [stderr] 370 | names.insert(n.name()); [INFO] [stderr] 371 | } [INFO] [stderr] 372 | } [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/lib.rs:400:13 [INFO] [stderr] | [INFO] [stderr] 400 | / match *ecap { [INFO] [stderr] 401 | | ICap::Num(CapName::U(ref n), _) => { [INFO] [stderr] 402 | | if !names.contains(n.name()) { [INFO] [stderr] 403 | | exts.push(n); [INFO] [stderr] ... | [INFO] [stderr] 407 | | _ => (), [INFO] [stderr] 408 | | } [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] 400 | if let ICap::Num(CapName::U(ref n), _) = *ecap { [INFO] [stderr] 401 | if !names.contains(n.name()) { [INFO] [stderr] 402 | exts.push(n); [INFO] [stderr] 403 | names.insert(n.name()); [INFO] [stderr] 404 | } [INFO] [stderr] 405 | } [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/lib.rs:433:13 [INFO] [stderr] | [INFO] [stderr] 433 | / match *ecap { [INFO] [stderr] 434 | | ICap::Str(CapName::U(ref n), _) => { [INFO] [stderr] 435 | | if !names.contains(n.name()) { [INFO] [stderr] 436 | | exts.push(n); [INFO] [stderr] ... | [INFO] [stderr] 440 | | _ => (), [INFO] [stderr] 441 | | } [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] 433 | if let ICap::Str(CapName::U(ref n), _) = *ecap { [INFO] [stderr] 434 | if !names.contains(n.name()) { [INFO] [stderr] 435 | exts.push(n); [INFO] [stderr] 436 | names.insert(n.name()); [INFO] [stderr] 437 | } [INFO] [stderr] 438 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:683:14 [INFO] [stderr] | [INFO] [stderr] 683 | .unwrap_or( [INFO] [stderr] | ______________^ [INFO] [stderr] 684 | | desc![ [INFO] [stderr] 685 | | "dumb", "80-column dumb tty", [INFO] [stderr] 686 | | cap::am => true, [INFO] [stderr] ... | [INFO] [stderr] 692 | | ] [INFO] [stderr] 693 | | ) [INFO] [stderr] | |_____________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 683 | .unwrap_or_else(|| desc![ [INFO] [stderr] 684 | "dumb", "80-column dumb tty", [INFO] [stderr] 685 | cap::am => true, [INFO] [stderr] 686 | cap::cols => 80, [INFO] [stderr] 687 | cap::bel => "\x07", [INFO] [stderr] 688 | cap::cr => "\r", [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/cap/mod.rs:589:23 [INFO] [stderr] | [INFO] [stderr] 589 | pub fn short_name(&self) -> &'static str { [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/cap/mod.rs:594:22 [INFO] [stderr] | [INFO] [stderr] 594 | pub fn long_name(&self) -> &'static str { [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/cap/mod.rs:640:23 [INFO] [stderr] | [INFO] [stderr] 640 | pub fn short_name(&self) -> &'static str { [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/cap/mod.rs:645:22 [INFO] [stderr] | [INFO] [stderr] 645 | pub fn long_name(&self) -> &'static str { [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/cap/mod.rs:691:23 [INFO] [stderr] | [INFO] [stderr] 691 | pub fn short_name(&self) -> &'static str { [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/cap/mod.rs:696:22 [INFO] [stderr] | [INFO] [stderr] 696 | pub fn long_name(&self) -> &'static str { [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 pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/print.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | Some(&ref p) => Ok(p.clone()), [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/print.rs:316:12 [INFO] [stderr] | [INFO] [stderr] 316 | if fmt.specified() && !"cdoxXs".find(cap.peek_char()?).is_some() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fmt.specified() && "cdoxXs".find(cap.peek_char()?).is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/print.rs:665:33 [INFO] [stderr] | [INFO] [stderr] 665 | let d = (c - b'0') as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(c - b'0')` [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/print.rs:708:57 [INFO] [stderr] | [INFO] [stderr] 708 | sleep(Duration::from_millis(ms as u64)); [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(ms)` [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: this boolean expression can be simplified [INFO] [stderr] --> src/lib.rs:302:36 [INFO] [stderr] | [INFO] [stderr] 302 | Ok(buf.into_iter().map(|b| !(b == 0)).collect()) [INFO] [stderr] | ^^^^^^^^^ help: try: `b != 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [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/lib.rs:367:13 [INFO] [stderr] | [INFO] [stderr] 367 | / match *ecap { [INFO] [stderr] 368 | | ICap::Bool(CapName::U(ref n), _) => { [INFO] [stderr] 369 | | if !names.contains(n.name()) { [INFO] [stderr] 370 | | exts.push(n); [INFO] [stderr] ... | [INFO] [stderr] 374 | | _ => (), [INFO] [stderr] 375 | | } [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] 367 | if let ICap::Bool(CapName::U(ref n), _) = *ecap { [INFO] [stderr] 368 | if !names.contains(n.name()) { [INFO] [stderr] 369 | exts.push(n); [INFO] [stderr] 370 | names.insert(n.name()); [INFO] [stderr] 371 | } [INFO] [stderr] 372 | } [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/lib.rs:400:13 [INFO] [stderr] | [INFO] [stderr] 400 | / match *ecap { [INFO] [stderr] 401 | | ICap::Num(CapName::U(ref n), _) => { [INFO] [stderr] 402 | | if !names.contains(n.name()) { [INFO] [stderr] 403 | | exts.push(n); [INFO] [stderr] ... | [INFO] [stderr] 407 | | _ => (), [INFO] [stderr] 408 | | } [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] 400 | if let ICap::Num(CapName::U(ref n), _) = *ecap { [INFO] [stderr] 401 | if !names.contains(n.name()) { [INFO] [stderr] 402 | exts.push(n); [INFO] [stderr] 403 | names.insert(n.name()); [INFO] [stderr] 404 | } [INFO] [stderr] 405 | } [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/lib.rs:433:13 [INFO] [stderr] | [INFO] [stderr] 433 | / match *ecap { [INFO] [stderr] 434 | | ICap::Str(CapName::U(ref n), _) => { [INFO] [stderr] 435 | | if !names.contains(n.name()) { [INFO] [stderr] 436 | | exts.push(n); [INFO] [stderr] ... | [INFO] [stderr] 440 | | _ => (), [INFO] [stderr] 441 | | } [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] 433 | if let ICap::Str(CapName::U(ref n), _) = *ecap { [INFO] [stderr] 434 | if !names.contains(n.name()) { [INFO] [stderr] 435 | exts.push(n); [INFO] [stderr] 436 | names.insert(n.name()); [INFO] [stderr] 437 | } [INFO] [stderr] 438 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:683:14 [INFO] [stderr] | [INFO] [stderr] 683 | .unwrap_or( [INFO] [stderr] | ______________^ [INFO] [stderr] 684 | | desc![ [INFO] [stderr] 685 | | "dumb", "80-column dumb tty", [INFO] [stderr] 686 | | cap::am => true, [INFO] [stderr] ... | [INFO] [stderr] 692 | | ] [INFO] [stderr] 693 | | ) [INFO] [stderr] | |_____________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 683 | .unwrap_or_else(|| desc![ [INFO] [stderr] 684 | "dumb", "80-column dumb tty", [INFO] [stderr] 685 | cap::am => true, [INFO] [stderr] 686 | cap::cols => 80, [INFO] [stderr] 687 | cap::bel => "\x07", [INFO] [stderr] 688 | cap::cr => "\r", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> examples/dumpinfo.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | if names.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!names.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.12s [INFO] running `"docker" "inspect" "5a4c36ae84ff4d7c33fac68dcd50ddd625f264e3390c76287303981a1c46cf5d"` [INFO] running `"docker" "rm" "-f" "5a4c36ae84ff4d7c33fac68dcd50ddd625f264e3390c76287303981a1c46cf5d"` [INFO] [stdout] 5a4c36ae84ff4d7c33fac68dcd50ddd625f264e3390c76287303981a1c46cf5d