[INFO] fetching crate nc-ui 0.1.3... [INFO] linting nc-ui-0.1.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate nc-ui 0.1.3 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate nc-ui 0.1.3 [INFO] finished tweaking crates.io crate nc-ui 0.1.3 [INFO] tweaked toml for crates.io crate nc-ui 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate nc-ui 0.1.3 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 43 packages to latest compatible versions [INFO] [stderr] Adding egui v0.14.2 (available: v0.33.3) [INFO] [stderr] Adding epaint v0.14.0 (available: v0.33.3) [INFO] [stderr] Adding glfw v0.42.0 (available: v0.61.0) [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] Downloading crates ... [INFO] [stderr] Downloaded rs-ctypes v0.1.1 [INFO] [stderr] Downloaded nc-renderer v0.1.3 [INFO] [stderr] Downloaded emath v0.14.0 [INFO] [stderr] Downloaded rs-math3d v0.9.24 [INFO] [stderr] Downloaded glfw v0.42.0 [INFO] [stderr] Downloaded egui v0.14.2 [INFO] [stderr] Downloaded epaint v0.14.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 376752e2e34e5446ef8ef8c7866921ae0346ad33f52985b8c4c308f0989d1269 [INFO] running `Command { std: "docker" "start" "-a" "376752e2e34e5446ef8ef8c7866921ae0346ad33f52985b8c4c308f0989d1269", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "376752e2e34e5446ef8ef8c7866921ae0346ad33f52985b8c4c308f0989d1269", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "376752e2e34e5446ef8ef8c7866921ae0346ad33f52985b8c4c308f0989d1269", kill_on_drop: false }` [INFO] [stdout] 376752e2e34e5446ef8ef8c7866921ae0346ad33f52985b8c4c308f0989d1269 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 924b737eb2922477e32a06a430636359957b1f28268b8a6844dec8c75a3a6395 [INFO] running `Command { std: "docker" "start" "-a" "924b737eb2922477e32a06a430636359957b1f28268b8a6844dec8c75a3a6395", kill_on_drop: false }` [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling xml-rs v0.8.28 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking emath v0.14.0 [INFO] [stderr] Checking semver-parser v0.7.0 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking rs-ctypes v0.1.1 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking rs-math3d v0.9.24 [INFO] [stderr] Checking raw-window-handle v0.4.3 [INFO] [stderr] Checking parking_lot_core v0.8.6 [INFO] [stderr] Checking raw-window-handle v0.3.4 [INFO] [stderr] Checking semver v0.9.0 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking glfw v0.42.0 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling nc-renderer v0.1.3 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking ab_glyph v0.2.32 [INFO] [stderr] Checking epaint v0.14.0 [INFO] [stderr] Checking egui v0.14.2 [INFO] [stderr] Checking nc-ui v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `clipboard` [INFO] [stdout] --> src/input.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | #[cfg(not(feature = "clipboard"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `clipboard` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous import visibility: pub or pub(in crate::input) [INFO] [stdout] --> src/input.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub use egui; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `egui` could refer to the crate imported here [INFO] [stdout] --> src/input.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | use crate::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `egui` to disambiguate [INFO] [stdout] = help: or use `self::egui` to refer to this crate unambiguously [INFO] [stdout] note: `egui` could also refer to the crate imported here [INFO] [stdout] --> src/lib.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | pub extern crate egui; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: use `::egui` to refer to this crate unambiguously [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #149145 [INFO] [stdout] = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/input.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / #[cfg(not(feature = "clipboard"))] [INFO] [stdout] 68 | | [INFO] [stdout] | |_^ [INFO] [stdout] 69 | use super::clipboard::{ [INFO] [stdout] | - the attribute applies to this `use` import [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/input.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | #![warn(clippy::all)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `clipboard` [INFO] [stdout] --> src/input.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | #[cfg(not(feature = "clipboard"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `clipboard` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous import visibility: pub or pub(in crate::input) [INFO] [stdout] --> src/input.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub use egui; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution [INFO] [stdout] note: `egui` could refer to the crate imported here [INFO] [stdout] --> src/input.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | use crate::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = help: consider adding an explicit import of `egui` to disambiguate [INFO] [stdout] = help: or use `self::egui` to refer to this crate unambiguously [INFO] [stdout] note: `egui` could also refer to the crate imported here [INFO] [stdout] --> src/lib.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | pub extern crate egui; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: use `::egui` to refer to this crate unambiguously [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #149145 [INFO] [stdout] = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/input.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / #[cfg(not(feature = "clipboard"))] [INFO] [stdout] 68 | | [INFO] [stdout] | |_^ [INFO] [stdout] 69 | use super::clipboard::{ [INFO] [stdout] | - the attribute applies to this `use` import [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/input.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | #![warn(clippy::all)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` implied by `#[warn(clippy::all)]` [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/painter.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | window: &mut glfw::Window, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/painter.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | window: &mut glfw::Window, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame_buffer` [INFO] [stdout] --> src/painter.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | frame_buffer: Option, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bg_color` [INFO] [stdout] --> src/painter.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | bg_color: Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bg_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame_buffer` [INFO] [stdout] --> src/painter.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | frame_buffer: Option, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bg_color` [INFO] [stdout] --> src/painter.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | bg_color: Option, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bg_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filtering` is never read [INFO] [stdout] --> src/painter.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 81 | struct UserTexture { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 92 | filtering: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/clipboard.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ClipboardProvider: Sized { [INFO] [stdout] | ----------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 73 | fn clear(&mut self) -> Result<()>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filtering` is never read [INFO] [stdout] --> src/painter.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 81 | struct UserTexture { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 92 | filtering: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/clipboard.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ClipboardProvider: Sized { [INFO] [stdout] | ----------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 73 | fn clear(&mut self) -> Result<()>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/painter.rs:265:16 [INFO] [stdout] | [INFO] [stdout] 265 | if !user_texture.texture.is_none() && !user_texture.dirty { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `user_texture.texture.is_some()` [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `user_texture.texture` after checking its variant with `is_none` [INFO] [stdout] --> src/painter.rs:282:49 [INFO] [stdout] | [INFO] [stdout] 276 | if user_texture.texture.is_none() { [INFO] [stdout] | --------------------------------- help: try: `if let Some() = &mut user_texture.texture` [INFO] [stdout] ... [INFO] [stdout] 282 | self.driver.update_texture(&mut user_texture.texture.as_mut().unwrap(), tex_desc.payload.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/painter.rs:265:16 [INFO] [stdout] | [INFO] [stdout] 265 | if !user_texture.texture.is_none() && !user_texture.dirty { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `user_texture.texture.is_some()` [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] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `user_texture.texture` after checking its variant with `is_none` [INFO] [stdout] --> src/painter.rs:282:49 [INFO] [stdout] | [INFO] [stdout] 276 | if user_texture.texture.is_none() { [INFO] [stdout] | --------------------------------- help: try: `if let Some() = &mut user_texture.texture` [INFO] [stdout] ... [INFO] [stdout] 282 | self.driver.update_texture(&mut user_texture.texture.as_mut().unwrap(), tex_desc.payload.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` 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/painter.rs:282:44 [INFO] [stdout] | [INFO] [stdout] 282 | self.driver.update_texture(&mut user_texture.texture.as_mut().unwrap(), tex_desc.payload.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `user_texture.texture.as_mut().unwrap()` [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/painter.rs:282:44 [INFO] [stdout] | [INFO] [stdout] 282 | self.driver.update_texture(&mut user_texture.texture.as_mut().unwrap(), tex_desc.payload.unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `user_texture.texture.as_mut().unwrap()` [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: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/painter.rs:356:17 [INFO] [stdout] | [INFO] [stdout] 356 | self.canvas_height as u32 - clip_max_y as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.canvas_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/painter.rs:356:17 [INFO] [stdout] | [INFO] [stdout] 356 | self.canvas_height as u32 - clip_max_y as u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.canvas_height` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/painter.rs:361:16 [INFO] [stdout] | [INFO] [stdout] 361 | if mesh.vertices.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!mesh.vertices.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/painter.rs:361:16 [INFO] [stdout] | [INFO] [stdout] 361 | if mesh.vertices.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!mesh.vertices.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.50s [INFO] running `Command { std: "docker" "inspect" "924b737eb2922477e32a06a430636359957b1f28268b8a6844dec8c75a3a6395", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "924b737eb2922477e32a06a430636359957b1f28268b8a6844dec8c75a3a6395", kill_on_drop: false }` [INFO] [stdout] 924b737eb2922477e32a06a430636359957b1f28268b8a6844dec8c75a3a6395