[INFO] fetching crate qrosity 0.1.1... [INFO] linting qrosity-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate qrosity 0.1.1 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate qrosity 0.1.1 [INFO] finished tweaking crates.io crate qrosity 0.1.1 [INFO] tweaked toml for crates.io crate qrosity 0.1.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate qrosity 0.1.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate qrosity 0.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded gif v0.14.0 [INFO] [stderr] Downloaded zerocopy-derive v0.8.30 [INFO] [stderr] Downloaded scratch v1.0.9 [INFO] [stderr] Downloaded versions v6.3.2 [INFO] [stderr] Downloaded qt-build-utils v0.7.3 [INFO] [stderr] Downloaded cxxbridge-flags v1.0.189 [INFO] [stderr] Downloaded link-cplusplus v1.0.12 [INFO] [stderr] Downloaded cxx-qt-macro v0.7.3 [INFO] [stderr] Downloaded cxx-qt v0.7.3 [INFO] [stderr] Downloaded cxx-qt-build v0.7.3 [INFO] [stderr] Downloaded clang-format v0.3.0 [INFO] [stderr] Downloaded codespan-reporting v0.13.1 [INFO] [stderr] Downloaded zune-jpeg v0.5.5 [INFO] [stderr] Downloaded cxxbridge-cmd v1.0.189 [INFO] [stderr] Downloaded cxx-build v1.0.189 [INFO] [stderr] Downloaded cxx-qt-gen v0.7.3 [INFO] [stderr] Downloaded cxx-qt-lib v0.7.3 [INFO] [stderr] Downloaded cxx-gen v0.7.189 [INFO] [stderr] Downloaded cxxbridge-macro v1.0.189 [INFO] [stderr] Downloaded moxcms v0.7.9 [INFO] [stderr] Downloaded cc v1.2.47 [INFO] [stderr] Downloaded cxx-qt-lib-extras v0.7.3 [INFO] [stderr] Downloaded cxx v1.0.189 [INFO] [stderr] Downloaded zerocopy v0.8.30 [INFO] [stderr] Downloaded pxfm v0.1.25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f42343b66ce0b02d8b5c6558acbba571174c8cf11b315c3b186df35f24c2827f [INFO] running `Command { std: "docker" "start" "-a" "f42343b66ce0b02d8b5c6558acbba571174c8cf11b315c3b186df35f24c2827f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f42343b66ce0b02d8b5c6558acbba571174c8cf11b315c3b186df35f24c2827f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f42343b66ce0b02d8b5c6558acbba571174c8cf11b315c3b186df35f24c2827f", kill_on_drop: false }` [INFO] [stdout] f42343b66ce0b02d8b5c6558acbba571174c8cf11b315c3b186df35f24c2827f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8154aaa0c6d0d0cd36426c5575b1d818d939faad214b4e3ccaaf7f3349b814e6 [INFO] running `Command { std: "docker" "start" "-a" "8154aaa0c6d0d0cd36426c5575b1d818d939faad214b4e3ccaaf7f3349b814e6", kill_on_drop: false }` [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling zerocopy v0.8.30 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking as-slice v0.2.1 [INFO] [stderr] Compiling av-scenechange v0.14.1 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling built v0.8.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking aligned v0.4.2 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Compiling pastey v0.1.1 [INFO] [stderr] Checking y4m v0.8.0 [INFO] [stderr] Checking bitstream-io v4.9.0 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking flate2 v1.1.5 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling rav1e v0.8.1 [INFO] [stderr] Checking anstyle v1.0.13 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking imgref v1.12.0 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking anstyle-query v1.1.5 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking pxfm v0.1.25 [INFO] [stderr] Checking avif-serialize v0.8.6 [INFO] [stderr] Checking clap_lex v0.7.6 [INFO] [stderr] Checking rgb v0.8.52 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking lebe v0.5.3 [INFO] [stderr] Checking bit_field v0.10.3 [INFO] [stderr] Checking zune-core v0.5.0 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking gif v0.14.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking zune-jpeg v0.5.5 [INFO] [stderr] Checking clap_builder v4.5.53 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Compiling qrosity v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking moxcms v0.7.9 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling zerocopy-derive v0.8.30 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Checking fax v0.2.6 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking aligned-vec v0.6.4 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking av1-grain v0.2.5 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking clap v4.5.53 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking tiff v0.10.3 [INFO] [stderr] Checking exr v1.74.0 [INFO] [stderr] Checking ravif v0.12.0 [INFO] [stderr] Checking image v0.25.9 [INFO] [stdout] warning: associated items `encode_text`, `encode_binary`, `encode_segments`, `version`, `error_correction_level`, and `mask` are never used [INFO] [stdout] --> src/core/qrgen.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 148 | impl QrCode { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn encode_text(text: &str, ecl: QrCodeEcc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn encode_binary(data: &[u8], ecl: QrCodeEcc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn encode_segments(segs: &[QrSegment], ecl: QrCodeEcc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn version(&self) -> Version { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn error_correction_level(&self) -> QrCodeEcc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn mask(&self) -> Mask { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `make_eci`, `mode`, `num_chars`, and `data` are never used [INFO] [stdout] --> src/core/qrgen.rs:1044:9 [INFO] [stdout] | [INFO] [stdout] 969 | impl QrSegment { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 1044 | pub fn make_eci(assignval: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1075 | pub fn mode(&self) -> QrSegmentMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1081 | pub fn num_chars(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1087 | pub fn data(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Kanji` and `Eci` are never constructed [INFO] [stdout] --> src/core/qrgen.rs:1146:2 [INFO] [stdout] | [INFO] [stdout] 1142 | pub enum QrSegmentMode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 1146 | Kanji, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1147 | Eci, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QrSegmentMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WPA` contains a capitalized acronym [INFO] [stdout] --> src/models/wifi.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | WPA, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Wpa` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WEP` contains a capitalized acronym [INFO] [stdout] --> src/models/wifi.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | WEP, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Wep` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/models/config.rs:208:1 [INFO] [stdout] | [INFO] [stdout] 208 | / impl Default for ModuleShape { [INFO] [stdout] 209 | | fn default() -> Self { [INFO] [stdout] 210 | | Self::Square [INFO] [stdout] 211 | | } [INFO] [stdout] 212 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(Default)] [INFO] [stdout] 12 | pub enum ModuleShape { [INFO] [stdout] 13 ~ #[default] [INFO] [stdout] 14 ~ Square, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/models/config.rs:214:1 [INFO] [stdout] | [INFO] [stdout] 214 | / impl Default for FinderShape { [INFO] [stdout] 215 | | fn default() -> Self { [INFO] [stdout] 216 | | Self::Square [INFO] [stdout] 217 | | } [INFO] [stdout] 218 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 26 + #[derive(Default)] [INFO] [stdout] 27 | pub enum FinderShape { [INFO] [stdout] 28 ~ #[default] [INFO] [stdout] 29 ~ Square, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/models/config.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | / impl Default for GradientDirection { [INFO] [stdout] 221 | | fn default() -> Self { [INFO] [stdout] 222 | | Self::TopLeftToBottomRight [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 37 + #[derive(Default)] [INFO] [stdout] 38 | pub enum GradientDirection { [INFO] [stdout] 39 | TopToBottom, [INFO] [stdout] 40 | LeftToRight, [INFO] [stdout] 41 ~ #[default] [INFO] [stdout] 42 ~ TopLeftToBottomRight, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `encode_text`, `encode_binary`, `encode_segments`, `version`, `error_correction_level`, and `mask` are never used [INFO] [stdout] --> src/core/qrgen.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 148 | impl QrCode { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn encode_text(text: &str, ecl: QrCodeEcc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn encode_binary(data: &[u8], ecl: QrCodeEcc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn encode_segments(segs: &[QrSegment], ecl: QrCodeEcc) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn version(&self) -> Version { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub fn error_correction_level(&self) -> QrCodeEcc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn mask(&self) -> Mask { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `make_eci`, `mode`, `num_chars`, and `data` are never used [INFO] [stdout] --> src/core/qrgen.rs:1044:9 [INFO] [stdout] | [INFO] [stdout] 969 | impl QrSegment { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 1044 | pub fn make_eci(assignval: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1075 | pub fn mode(&self) -> QrSegmentMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1081 | pub fn num_chars(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1087 | pub fn data(&self) -> &Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Kanji` and `Eci` are never constructed [INFO] [stdout] --> src/core/qrgen.rs:1146:2 [INFO] [stdout] | [INFO] [stdout] 1142 | pub enum QrSegmentMode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 1146 | Kanji, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1147 | Eci, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `QrSegmentMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WPA` contains a capitalized acronym [INFO] [stdout] --> src/models/wifi.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | WPA, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Wpa` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WEP` contains a capitalized acronym [INFO] [stdout] --> src/models/wifi.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | WEP, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Wep` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/core/renderer/png/mod.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 100 - (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 100 + !(y >= 7 || x >= 7 && x < size - 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] 100 - (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 100 + (x >= size - 7 || x < 7) && y < 7 || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/core/renderer/png/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | paint.anti_alias = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `Paint::<'_> { anti_alias: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/core/renderer/png/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | let mut paint = Paint::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/core/renderer/png/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | paint.blend_mode = BlendMode::SourceOver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `tiny_skia::PixmapPaint { blend_mode: BlendMode::SourceOver, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/core/renderer/png/mod.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | let mut paint = PixmapPaint::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/models/config.rs:208:1 [INFO] [stdout] | [INFO] [stdout] 208 | / impl Default for ModuleShape { [INFO] [stdout] 209 | | fn default() -> Self { [INFO] [stdout] 210 | | Self::Square [INFO] [stdout] 211 | | } [INFO] [stdout] 212 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 11 + #[derive(Default)] [INFO] [stdout] 12 | pub enum ModuleShape { [INFO] [stdout] 13 ~ #[default] [INFO] [stdout] 14 ~ Square, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/models/config.rs:214:1 [INFO] [stdout] | [INFO] [stdout] 214 | / impl Default for FinderShape { [INFO] [stdout] 215 | | fn default() -> Self { [INFO] [stdout] 216 | | Self::Square [INFO] [stdout] 217 | | } [INFO] [stdout] 218 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 26 + #[derive(Default)] [INFO] [stdout] 27 | pub enum FinderShape { [INFO] [stdout] 28 ~ #[default] [INFO] [stdout] 29 ~ Square, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/models/config.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | / impl Default for GradientDirection { [INFO] [stdout] 221 | | fn default() -> Self { [INFO] [stdout] 222 | | Self::TopLeftToBottomRight [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 37 + #[derive(Default)] [INFO] [stdout] 38 | pub enum GradientDirection { [INFO] [stdout] 39 | TopToBottom, [INFO] [stdout] 40 | LeftToRight, [INFO] [stdout] 41 ~ #[default] [INFO] [stdout] 42 ~ TopLeftToBottomRight, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/core/renderer/svg/mod.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | let is_finder = (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 105 - let is_finder = (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 105 + let is_finder = !(y >= 7 || x >= 7 && x < size - 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] 105 - let is_finder = (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 105 + let is_finder = (x >= size - 7 || x < 7) && y < 7 || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:179:26 [INFO] [stdout] | [INFO] [stdout] 179 | / if let Some(w) = attributes.get("width") { [INFO] [stdout] 180 | | if let Ok(val) = w.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 181 | | width = Some(val as u32); [INFO] [stdout] 182 | | } [INFO] [stdout] 183 | | } [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 179 ~ if let Some(w) = attributes.get("width") [INFO] [stdout] 180 ~ && let Ok(val) = w.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 181 | width = Some(val as u32); [INFO] [stdout] 182 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:184:26 [INFO] [stdout] | [INFO] [stdout] 184 | / if let Some(h) = attributes.get("height") { [INFO] [stdout] 185 | | if let Ok(val) = h.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 186 | | height = Some(val as u32); [INFO] [stdout] 187 | | } [INFO] [stdout] 188 | | } [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 184 ~ if let Some(h) = attributes.get("height") [INFO] [stdout] 185 ~ && let Ok(val) = h.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 186 | height = Some(val as u32); [INFO] [stdout] 187 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | / if width.is_none() || height.is_none() { [INFO] [stdout] 190 | | if let Some(vb) = attributes.get("viewBox") { [INFO] [stdout] 191 | | let parts: Vec = vb.split_whitespace() [INFO] [stdout] 192 | | .filter_map(|s| s.parse().ok()) [INFO] [stdout] ... | [INFO] [stdout] 199 | | } [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 189 ~ if (width.is_none() || height.is_none()) { [INFO] [stdout] 190 ~ && let Some(vb) = attributes.get("viewBox") { [INFO] [stdout] 191 | let parts: Vec = vb.split_whitespace() [INFO] [stdout] ... [INFO] [stdout] 197 | } [INFO] [stdout] 198 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:206:14 [INFO] [stdout] | [INFO] [stdout] 206 | / if let Ok(reader) = image::ImageReader::new(std::io::Cursor::new(&buffer)).with_guessed_format() { [INFO] [stdout] 207 | | if let Ok(dims) = reader.into_dimensions() { [INFO] [stdout] 208 | | width = Some(dims.0); [INFO] [stdout] 209 | | height = Some(dims.1); [INFO] [stdout] ... | [INFO] [stdout] 221 | | } [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 206 ~ if let Ok(reader) = image::ImageReader::new(std::io::Cursor::new(&buffer)).with_guessed_format() [INFO] [stdout] 207 ~ && let Ok(dims) = reader.into_dimensions() { [INFO] [stdout] 208 | width = Some(dims.0); [INFO] [stdout] ... [INFO] [stdout] 219 | } [INFO] [stdout] 220 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/core/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / if let Some(mask) = config.mask { [INFO] [stdout] 27 | | Some(Mask::new(mask)) [INFO] [stdout] 28 | | } else { [INFO] [stdout] 29 | | None [INFO] [stdout] 30 | | }, [INFO] [stdout] | |_________^ help: try: `config.mask.map(Mask::new)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/core/mod.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | match renderer::svg::render_svg(&qr, &config, config.ppm as f32) { [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/core/mod.rs:57:45 [INFO] [stdout] | [INFO] [stdout] 57 | match renderer::png::render_qr(&qr, &config, config.ppm as f32) { [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/modes/cli.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | / if let QrData::Text(ref mut text_qr) = data { [INFO] [stdout] 8 | | if text_qr.text.is_none() { [INFO] [stdout] 9 | | if !io::stdin().is_terminal() { [INFO] [stdout] 10 | | let mut buffer = String::new(); [INFO] [stdout] ... | [INFO] [stdout] 25 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 7 ~ if let QrData::Text(ref mut text_qr) = data [INFO] [stdout] 8 ~ && text_qr.text.is_none() { [INFO] [stdout] 9 | if !io::stdin().is_terminal() { [INFO] [stdout] ... [INFO] [stdout] 23 | } [INFO] [stdout] 24 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/core/renderer/png/mod.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 100 - (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 100 + !(y >= 7 || x >= 7 && x < size - 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] 100 - (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 100 + (x >= size - 7 || x < 7) && y < 7 || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/core/renderer/png/mod.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | paint.anti_alias = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `Paint::<'_> { anti_alias: true, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/core/renderer/png/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | let mut paint = Paint::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/core/renderer/png/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | paint.blend_mode = BlendMode::SourceOver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `tiny_skia::PixmapPaint { blend_mode: BlendMode::SourceOver, ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/core/renderer/png/mod.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | let mut paint = PixmapPaint::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/core/renderer/svg/mod.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | let is_finder = (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 105 - let is_finder = (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 105 + let is_finder = !(y >= 7 || x >= 7 && x < size - 7) || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] 105 - let is_finder = (x < 7 && y < 7) || (x >= size - 7 && y < 7) || (x < 7 && y >= size - 7); [INFO] [stdout] 105 + let is_finder = (x >= size - 7 || x < 7) && y < 7 || (x < 7 && y >= size - 7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:179:26 [INFO] [stdout] | [INFO] [stdout] 179 | / if let Some(w) = attributes.get("width") { [INFO] [stdout] 180 | | if let Ok(val) = w.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 181 | | width = Some(val as u32); [INFO] [stdout] 182 | | } [INFO] [stdout] 183 | | } [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 179 ~ if let Some(w) = attributes.get("width") [INFO] [stdout] 180 ~ && let Ok(val) = w.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 181 | width = Some(val as u32); [INFO] [stdout] 182 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:184:26 [INFO] [stdout] | [INFO] [stdout] 184 | / if let Some(h) = attributes.get("height") { [INFO] [stdout] 185 | | if let Ok(val) = h.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 186 | | height = Some(val as u32); [INFO] [stdout] 187 | | } [INFO] [stdout] 188 | | } [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 184 ~ if let Some(h) = attributes.get("height") [INFO] [stdout] 185 ~ && let Ok(val) = h.trim_matches(|c: char| !c.is_numeric() && c != '.').parse::() { [INFO] [stdout] 186 | height = Some(val as u32); [INFO] [stdout] 187 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:189:26 [INFO] [stdout] | [INFO] [stdout] 189 | / if width.is_none() || height.is_none() { [INFO] [stdout] 190 | | if let Some(vb) = attributes.get("viewBox") { [INFO] [stdout] 191 | | let parts: Vec = vb.split_whitespace() [INFO] [stdout] 192 | | .filter_map(|s| s.parse().ok()) [INFO] [stdout] ... | [INFO] [stdout] 199 | | } [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 189 ~ if (width.is_none() || height.is_none()) { [INFO] [stdout] 190 ~ && let Some(vb) = attributes.get("viewBox") { [INFO] [stdout] 191 | let parts: Vec = vb.split_whitespace() [INFO] [stdout] ... [INFO] [stdout] 197 | } [INFO] [stdout] 198 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/core/renderer/svg/mod.rs:206:14 [INFO] [stdout] | [INFO] [stdout] 206 | / if let Ok(reader) = image::ImageReader::new(std::io::Cursor::new(&buffer)).with_guessed_format() { [INFO] [stdout] 207 | | if let Ok(dims) = reader.into_dimensions() { [INFO] [stdout] 208 | | width = Some(dims.0); [INFO] [stdout] 209 | | height = Some(dims.1); [INFO] [stdout] ... | [INFO] [stdout] 221 | | } [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 206 ~ if let Ok(reader) = image::ImageReader::new(std::io::Cursor::new(&buffer)).with_guessed_format() [INFO] [stdout] 207 ~ && let Ok(dims) = reader.into_dimensions() { [INFO] [stdout] 208 | width = Some(dims.0); [INFO] [stdout] ... [INFO] [stdout] 219 | } [INFO] [stdout] 220 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/core/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | / if let Some(mask) = config.mask { [INFO] [stdout] 27 | | Some(Mask::new(mask)) [INFO] [stdout] 28 | | } else { [INFO] [stdout] 29 | | None [INFO] [stdout] 30 | | }, [INFO] [stdout] | |_________^ help: try: `config.mask.map(Mask::new)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/core/mod.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | match renderer::svg::render_svg(&qr, &config, config.ppm as f32) { [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/core/mod.rs:57:45 [INFO] [stdout] | [INFO] [stdout] 57 | match renderer::png::render_qr(&qr, &config, config.ppm as f32) { [INFO] [stdout] | ^^^^^^^ help: change this to: `config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/modes/cli.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | / if let QrData::Text(ref mut text_qr) = data { [INFO] [stdout] 8 | | if text_qr.text.is_none() { [INFO] [stdout] 9 | | if !io::stdin().is_terminal() { [INFO] [stdout] 10 | | let mut buffer = String::new(); [INFO] [stdout] ... | [INFO] [stdout] 25 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 7 ~ if let QrData::Text(ref mut text_qr) = data [INFO] [stdout] 8 ~ && text_qr.text.is_none() { [INFO] [stdout] 9 | if !io::stdin().is_terminal() { [INFO] [stdout] ... [INFO] [stdout] 23 | } [INFO] [stdout] 24 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.74s [INFO] running `Command { std: "docker" "inspect" "8154aaa0c6d0d0cd36426c5575b1d818d939faad214b4e3ccaaf7f3349b814e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8154aaa0c6d0d0cd36426c5575b1d818d939faad214b4e3ccaaf7f3349b814e6", kill_on_drop: false }` [INFO] [stdout] 8154aaa0c6d0d0cd36426c5575b1d818d939faad214b4e3ccaaf7f3349b814e6