[INFO] updating cached repository picklenerd/my-little-habitat [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/picklenerd/my-little-habitat [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/picklenerd/my-little-habitat" "work/ex/clippy-test-run/sources/stable/gh/picklenerd/my-little-habitat"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/picklenerd/my-little-habitat'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/picklenerd/my-little-habitat" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/my-little-habitat"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/my-little-habitat'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f56a1425294d7c97dc21368d142118f800dedc64 [INFO] sha for GitHub repo picklenerd/my-little-habitat: f56a1425294d7c97dc21368d142118f800dedc64 [INFO] validating manifest of picklenerd/my-little-habitat 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 picklenerd/my-little-habitat 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 picklenerd/my-little-habitat [INFO] finished frobbing picklenerd/my-little-habitat [INFO] frobbed toml for picklenerd/my-little-habitat written to work/ex/clippy-test-run/sources/stable/gh/picklenerd/my-little-habitat/Cargo.toml [INFO] started frobbing picklenerd/my-little-habitat [INFO] finished frobbing picklenerd/my-little-habitat [INFO] frobbed toml for picklenerd/my-little-habitat written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/picklenerd/my-little-habitat/Cargo.toml [INFO] crate picklenerd/my-little-habitat has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting picklenerd/my-little-habitat against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/picklenerd/my-little-habitat:/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] fee1cddd06be81b138da5d8eae52fe2d02629b9768c7c9aabcccf9222aabd17e [INFO] running `"docker" "start" "-a" "fee1cddd06be81b138da5d8eae52fe2d02629b9768c7c9aabcccf9222aabd17e"` [INFO] [stderr] Compiling siphasher v0.2.2 [INFO] [stderr] Compiling libc v0.2.28 [INFO] [stderr] Compiling dtoa v0.4.1 [INFO] [stderr] Compiling serde v0.9.15 [INFO] [stderr] Compiling num-traits v0.1.40 [INFO] [stderr] Compiling itoa v0.3.1 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Checking lazy_static v0.2.8 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Compiling pkg-config v0.3.9 [INFO] [stderr] Checking scopeguard v0.3.2 [INFO] [stderr] Checking either v1.1.0 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling rayon-core v1.2.1 [INFO] [stderr] Compiling log v0.3.8 [INFO] [stderr] Checking piston-float v0.3.0 [INFO] [stderr] Compiling khronos_api v1.0.1 [INFO] [stderr] Checking futures v0.1.14 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Checking byteorder v1.1.0 [INFO] [stderr] Checking bitflags v0.8.2 [INFO] [stderr] Checking odds v0.2.25 [INFO] [stderr] Checking adler32 v1.0.1 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking byteorder v0.4.2 [INFO] [stderr] Checking shader_version v0.2.2 [INFO] [stderr] Checking color_quant v1.0.0 [INFO] [stderr] Checking inflate v0.2.0 [INFO] [stderr] Checking scoped_threadpool v0.1.7 [INFO] [stderr] Checking linked-hash-map v0.0.10 [INFO] [stderr] Checking interpolation v0.1.0 [INFO] [stderr] Checking read_color v0.1.0 [INFO] [stderr] Checking piston-texture v0.5.0 [INFO] [stderr] Checking piston-shaders_graphics2d v0.3.1 [INFO] [stderr] Checking fnv v1.0.5 [INFO] [stderr] Compiling xml-rs v0.3.6 [INFO] [stderr] Compiling phf_shared v0.7.21 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling rand v0.3.16 [INFO] [stderr] Checking coco v0.1.1 [INFO] [stderr] Compiling xml-rs v0.6.1 [INFO] [stderr] Checking num_cpus v1.6.2 [INFO] [stderr] Checking shared_library v0.1.7 [INFO] [stderr] Checking piston-viewport v0.3.0 [INFO] [stderr] Checking vecmath v0.3.0 [INFO] [stderr] Compiling x11-dl v2.14.0 [INFO] [stderr] Checking deflate v0.7.15 [INFO] [stderr] Checking nodrop v0.1.9 [INFO] [stderr] Checking num-integer v0.1.35 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking stb_truetype v0.2.1 [INFO] [stderr] Compiling phf v0.7.21 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking piston2d-graphics v0.21.1 [INFO] [stderr] Checking pistoncore-input v0.18.0 [INFO] [stderr] Checking tempfile v2.1.6 [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Checking arrayvec v0.3.23 [INFO] [stderr] Checking num-iter v0.1.34 [INFO] [stderr] Checking num-rational v0.1.39 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Checking rayon v0.8.2 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Checking png v0.8.0 [INFO] [stderr] Checking rusttype v0.2.1 [INFO] [stderr] Checking pistoncore-window v0.27.0 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Checking memmap v0.4.0 [INFO] [stderr] Checking pistoncore-event_loop v0.32.0 [INFO] [stderr] Compiling gl_generator v0.5.5 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking piston v0.32.0 [INFO] [stderr] Compiling wayland-scanner v0.8.7 [INFO] [stderr] Checking image v0.14.0 [INFO] [stderr] Compiling glutin v0.8.1 [INFO] [stderr] Compiling gl v0.6.3 [INFO] [stderr] Compiling wayland-client v0.8.7 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.8.7 [INFO] [stderr] Checking piston2d-opengl_graphics v0.44.0 [INFO] [stderr] Checking wayland-window v0.5.0 [INFO] [stderr] Checking wayland-kbd v0.8.0 [INFO] [stderr] Checking winit v0.6.4 [INFO] [stderr] Checking pistoncore-glutin_window v0.37.0 [INFO] [stderr] Checking my-little-habitat v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/grid/gridcell.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | organism_type: organism_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `organism_type` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/grid/gridcell.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/grid/gridcell.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | layer: layer, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `layer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/grid/gridcell.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | organism_type: organism_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `organism_type` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/grid/gridcell.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/grid/gridcell.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | layer: layer, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `layer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib/grid/turn_queue.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | return Some(elem); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(elem)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib/grid/grid_manager.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | return Some(((x, y), c.borrow().get_color())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(((x, y), c.borrow().get_color()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / if mouse_down { [INFO] [stderr] 148 | | if mouse_pos.0 < CANVAS_WIDTH as f64 { [INFO] [stderr] 149 | | if let Some(organism) = organisms::get_new_organism_of_type(current_selection) { [INFO] [stderr] 150 | | grid_manager.add_to_queue(pos_x, pos_y, organism.layer); [INFO] [stderr] ... | [INFO] [stderr] 153 | | } [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 147 | if mouse_down && mouse_pos.0 < CANVAS_WIDTH as f64 { [INFO] [stderr] 148 | if let Some(organism) = organisms::get_new_organism_of_type(current_selection) { [INFO] [stderr] 149 | grid_manager.add_to_queue(pos_x, pos_y, organism.layer); [INFO] [stderr] 150 | grid_manager.set(pos_x, pos_y, organism); [INFO] [stderr] 151 | } [INFO] [stderr] 152 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib/organisms/plant.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if neighborhood.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!neighborhood.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] warning: length comparison to zero [INFO] [stderr] --> src/lib/organisms/cow.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if plant_neighborhood.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!plant_neighborhood.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/lib/organisms/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new(width: u32, height: u32) -> Grid> { [INFO] [stderr] 19 | | let mut data = Vec::new(); [INFO] [stderr] 20 | | for y in 0..height { [INFO] [stderr] 21 | | for x in 0..width { [INFO] [stderr] ... | [INFO] [stderr] 25 | | Grid::with_data(width, height, data) [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib/grid/turn_queue.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | return Some(elem); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(elem)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib/grid/grid_manager.rs:134:17 [INFO] [stderr] | [INFO] [stderr] 134 | return Some(((x, y), c.borrow().get_color())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(((x, y), c.borrow().get_color()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / if mouse_down { [INFO] [stderr] 148 | | if mouse_pos.0 < CANVAS_WIDTH as f64 { [INFO] [stderr] 149 | | if let Some(organism) = organisms::get_new_organism_of_type(current_selection) { [INFO] [stderr] 150 | | grid_manager.add_to_queue(pos_x, pos_y, organism.layer); [INFO] [stderr] ... | [INFO] [stderr] 153 | | } [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 147 | if mouse_down && mouse_pos.0 < CANVAS_WIDTH as f64 { [INFO] [stderr] 148 | if let Some(organism) = organisms::get_new_organism_of_type(current_selection) { [INFO] [stderr] 149 | grid_manager.add_to_queue(pos_x, pos_y, organism.layer); [INFO] [stderr] 150 | grid_manager.set(pos_x, pos_y, organism); [INFO] [stderr] 151 | } [INFO] [stderr] 152 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:51:36 [INFO] [stderr] | [INFO] [stderr] 51 | let organism_width: f64 = (args.width as f64 - GUI_WIDTH) / GRID_WIDTH as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(args.width)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:51:69 [INFO] [stderr] | [INFO] [stderr] 51 | let organism_width: f64 = (args.width as f64 - GUI_WIDTH) / GRID_WIDTH as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(GRID_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:52:36 [INFO] [stderr] | [INFO] [stderr] 52 | let organism_height: f64 = args.height as f64/ GRID_HEIGHT as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(args.height)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:52:56 [INFO] [stderr] | [INFO] [stderr] 52 | let organism_height: f64 = args.height as f64/ GRID_HEIGHT as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(GRID_HEIGHT)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:62:51 [INFO] [stderr] | [INFO] [stderr] 62 | let transform = c.transform.trans(x as f64 * organism_width, y as f64 * organism_height); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:62:78 [INFO] [stderr] | [INFO] [stderr] 62 | let transform = c.transform.trans(x as f64 * organism_width, y as f64 * organism_height); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:67:51 [INFO] [stderr] | [INFO] [stderr] 67 | let transform = c.transform.trans(CANVAS_WIDTH as f64, i as f64 * BUTTON_HEIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | let width_scale = (CANVAS_WIDTH as u32 / GRID_WIDTH) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH as u32 / GRID_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | let height_scale = (CANVAS_HEIGHT as u32 / GRID_HEIGHT) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_HEIGHT as u32 / GRID_HEIGHT)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:128:38 [INFO] [stderr] | [INFO] [stderr] 128 | if mouse_pos.0 > CANVAS_WIDTH as f64{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:139:28 [INFO] [stderr] | [INFO] [stderr] 139 | if x < CANVAS_WIDTH as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:148:30 [INFO] [stderr] | [INFO] [stderr] 148 | if mouse_pos.0 < CANVAS_WIDTH as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: length comparison to zero [INFO] [stderr] --> src/lib/organisms/plant.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if neighborhood.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!neighborhood.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] warning: length comparison to zero [INFO] [stderr] --> src/lib/organisms/cow.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | if plant_neighborhood.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!plant_neighborhood.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/lib/organisms/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new(width: u32, height: u32) -> Grid> { [INFO] [stderr] 19 | | let mut data = Vec::new(); [INFO] [stderr] 20 | | for y in 0..height { [INFO] [stderr] 21 | | for x in 0..width { [INFO] [stderr] ... | [INFO] [stderr] 25 | | Grid::with_data(width, height, data) [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:51:36 [INFO] [stderr] | [INFO] [stderr] 51 | let organism_width: f64 = (args.width as f64 - GUI_WIDTH) / GRID_WIDTH as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(args.width)` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:51:69 [INFO] [stderr] | [INFO] [stderr] 51 | let organism_width: f64 = (args.width as f64 - GUI_WIDTH) / GRID_WIDTH as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(GRID_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:52:36 [INFO] [stderr] | [INFO] [stderr] 52 | let organism_height: f64 = args.height as f64/ GRID_HEIGHT as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(args.height)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:52:56 [INFO] [stderr] | [INFO] [stderr] 52 | let organism_height: f64 = args.height as f64/ GRID_HEIGHT as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(GRID_HEIGHT)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:62:51 [INFO] [stderr] | [INFO] [stderr] 62 | let transform = c.transform.trans(x as f64 * organism_width, y as f64 * organism_height); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(x)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:62:78 [INFO] [stderr] | [INFO] [stderr] 62 | let transform = c.transform.trans(x as f64 * organism_width, y as f64 * organism_height); [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(y)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:67:51 [INFO] [stderr] | [INFO] [stderr] 67 | let transform = c.transform.trans(CANVAS_WIDTH as f64, i as f64 * BUTTON_HEIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | let width_scale = (CANVAS_WIDTH as u32 / GRID_WIDTH) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH as u32 / GRID_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | let height_scale = (CANVAS_HEIGHT as u32 / GRID_HEIGHT) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_HEIGHT as u32 / GRID_HEIGHT)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:128:38 [INFO] [stderr] | [INFO] [stderr] 128 | if mouse_pos.0 > CANVAS_WIDTH as f64{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:139:28 [INFO] [stderr] | [INFO] [stderr] 139 | if x < CANVAS_WIDTH as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:148:30 [INFO] [stderr] | [INFO] [stderr] 148 | if mouse_pos.0 < CANVAS_WIDTH as f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(CANVAS_WIDTH)` [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] Finished dev [optimized + debuginfo] target(s) in 1m 34s [INFO] running `"docker" "inspect" "fee1cddd06be81b138da5d8eae52fe2d02629b9768c7c9aabcccf9222aabd17e"` [INFO] running `"docker" "rm" "-f" "fee1cddd06be81b138da5d8eae52fe2d02629b9768c7c9aabcccf9222aabd17e"` [INFO] [stdout] fee1cddd06be81b138da5d8eae52fe2d02629b9768c7c9aabcccf9222aabd17e