[INFO] updating cached repository TheKK/npr_homework [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/TheKK/npr_homework [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/TheKK/npr_homework" "work/ex/clippy-test-run/sources/stable/gh/TheKK/npr_homework"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/TheKK/npr_homework'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/TheKK/npr_homework" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/TheKK/npr_homework"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/TheKK/npr_homework'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fda499deaeff14cc1f8f91d8dbd8db949d87da51 [INFO] sha for GitHub repo TheKK/npr_homework: fda499deaeff14cc1f8f91d8dbd8db949d87da51 [INFO] validating manifest of TheKK/npr_homework 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 TheKK/npr_homework 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 TheKK/npr_homework [INFO] finished frobbing TheKK/npr_homework [INFO] frobbed toml for TheKK/npr_homework written to work/ex/clippy-test-run/sources/stable/gh/TheKK/npr_homework/Cargo.toml [INFO] started frobbing TheKK/npr_homework [INFO] finished frobbing TheKK/npr_homework [INFO] frobbed toml for TheKK/npr_homework written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/TheKK/npr_homework/Cargo.toml [INFO] crate TheKK/npr_homework has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting TheKK/npr_homework against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/TheKK/npr_homework:/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] b8284c6d0081d3b451ada1a2bb70eee3297cfb23e0b4c6bc593bccd5ab117f26 [INFO] running `"docker" "start" "-a" "b8284c6d0081d3b451ada1a2bb70eee3297cfb23e0b4c6bc593bccd5ab117f26"` [INFO] [stderr] Compiling imgui-sys v0.0.11 [INFO] [stderr] Checking pistoncore-input v0.17.1 [INFO] [stderr] Checking arrayvec v0.3.20 [INFO] [stderr] Compiling gl v0.6.1 [INFO] [stderr] Compiling glium v0.16.0 [INFO] [stderr] Checking backtrace-sys v0.1.10 [INFO] [stderr] Checking image v0.12.3 [INFO] [stderr] Checking backtrace v0.2.3 [INFO] [stderr] Checking rusttype v0.2.1 [INFO] [stderr] Checking pistoncore-window v0.26.2 [INFO] [stderr] Checking pistoncore-event_loop v0.31.4 [INFO] [stderr] Checking piston v0.31.4 [INFO] [stderr] Checking pistoncore-glutin_window v0.35.0 [INFO] [stderr] Checking piston2d-glium_graphics v0.38.0 [INFO] [stderr] Checking imgui v0.0.11 [INFO] [stderr] Checking npr_homework1 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/toolkits.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | imgui: imgui, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `imgui` [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/toolkits.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | imgui_renderer: imgui_renderer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `imgui_renderer` [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/states.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | pressure: pressure, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `pressure` [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/main.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | final_vertex_buffer: final_vertex_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `final_vertex_buffer` [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/main.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | black_n_white_brush_program: black_n_white_brush_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `black_n_white_brush_program` [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/main.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | watercolor_brush_program: watercolor_brush_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `watercolor_brush_program` [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/main.rs:234:13 [INFO] [stderr] | [INFO] [stderr] 234 | final_program: final_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `final_program` [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/main.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | stroke_ink_quantity_program: stroke_ink_quantity_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stroke_ink_quantity_program` [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/main.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | circle_program: circle_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `circle_program` [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/main.rs:237:13 [INFO] [stderr] | [INFO] [stderr] 237 | triangle_program: triangle_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangle_program` [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/main.rs:238:13 [INFO] [stderr] | [INFO] [stderr] 238 | wipe_program: wipe_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `wipe_program` [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/main.rs:239:13 [INFO] [stderr] | [INFO] [stderr] 239 | diffusion_program: diffusion_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `diffusion_program` [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/main.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | rust_logo: rust_logo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rust_logo` [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/main.rs:242:13 [INFO] [stderr] | [INFO] [stderr] 242 | doge_image: doge_image, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `doge_image` [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/main.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | level0_tex: level0_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level0_tex` [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/main.rs:245:13 [INFO] [stderr] | [INFO] [stderr] 245 | level1_tex: level1_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level1_tex` [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/main.rs:246:13 [INFO] [stderr] | [INFO] [stderr] 246 | level2_tex: level2_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level2_tex` [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/main.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | level3_tex: level3_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level3_tex` [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/main.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | level4_tex: level4_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level4_tex` [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/main.rs:250:13 [INFO] [stderr] | [INFO] [stderr] 250 | window: window, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `window` [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/main.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | toolkits: toolkits, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `toolkits` [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/toolkits.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | imgui: imgui, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `imgui` [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/toolkits.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | imgui_renderer: imgui_renderer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `imgui_renderer` [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/states.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | pressure: pressure, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `pressure` [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/main.rs:216:13 [INFO] [stderr] | [INFO] [stderr] 216 | final_vertex_buffer: final_vertex_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `final_vertex_buffer` [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/main.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | black_n_white_brush_program: black_n_white_brush_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `black_n_white_brush_program` [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/main.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | watercolor_brush_program: watercolor_brush_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `watercolor_brush_program` [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/main.rs:234:13 [INFO] [stderr] | [INFO] [stderr] 234 | final_program: final_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `final_program` [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/main.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | stroke_ink_quantity_program: stroke_ink_quantity_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stroke_ink_quantity_program` [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/main.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | circle_program: circle_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `circle_program` [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/main.rs:237:13 [INFO] [stderr] | [INFO] [stderr] 237 | triangle_program: triangle_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangle_program` [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/main.rs:238:13 [INFO] [stderr] | [INFO] [stderr] 238 | wipe_program: wipe_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `wipe_program` [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/main.rs:239:13 [INFO] [stderr] | [INFO] [stderr] 239 | diffusion_program: diffusion_program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `diffusion_program` [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/main.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | rust_logo: rust_logo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `rust_logo` [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/main.rs:242:13 [INFO] [stderr] | [INFO] [stderr] 242 | doge_image: doge_image, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `doge_image` [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/main.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | level0_tex: level0_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level0_tex` [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/main.rs:245:13 [INFO] [stderr] | [INFO] [stderr] 245 | level1_tex: level1_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level1_tex` [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/main.rs:246:13 [INFO] [stderr] | [INFO] [stderr] 246 | level2_tex: level2_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level2_tex` [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/main.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | level3_tex: level3_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level3_tex` [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/main.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | level4_tex: level4_tex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `level4_tex` [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/main.rs:250:13 [INFO] [stderr] | [INFO] [stderr] 250 | window: window, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `window` [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/main.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | toolkits: toolkits, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `toolkits` [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: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/toolkits.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `shallow_water_tex` [INFO] [stderr] --> src/main.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | shallow_water_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pidment_deposition_tex` [INFO] [stderr] --> src/main.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | pidment_deposition_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `capillary_tex` [INFO] [stderr] --> src/main.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | capillary_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `passive_layer_tex` [INFO] [stderr] --> src/main.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | passive_layer_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `doge_image` [INFO] [stderr] --> src/main.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | doge_image: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/toolkits.rs:243:44 [INFO] [stderr] | [INFO] [stderr] 243 | fn set_key(imgui: &mut ImGui, key: &Key, pressed: bool) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/toolkits.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | / match key { [INFO] [stderr] 245 | | &Key::Tab => imgui.set_key(0, pressed), [INFO] [stderr] 246 | | &Key::Left => imgui.set_key(1, pressed), [INFO] [stderr] 247 | | &Key::Right => imgui.set_key(2, pressed), [INFO] [stderr] ... | [INFO] [stderr] 267 | | _ => {} [INFO] [stderr] 268 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 244 | match *key { [INFO] [stderr] 245 | Key::Tab => imgui.set_key(0, pressed), [INFO] [stderr] 246 | Key::Left => imgui.set_key(1, pressed), [INFO] [stderr] 247 | Key::Right => imgui.set_key(2, pressed), [INFO] [stderr] 248 | Key::Up => imgui.set_key(3, pressed), [INFO] [stderr] 249 | Key::Down => imgui.set_key(4, pressed), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/toolkits.rs:272:43 [INFO] [stderr] | [INFO] [stderr] 272 | mouse_button: &MouseButton, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `MouseButton` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/toolkits.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | / match mouse_button { [INFO] [stderr] 275 | | &MouseButton::Left => mouse_button_states.left = pressed, [INFO] [stderr] 276 | | &MouseButton::Right => mouse_button_states.right = pressed, [INFO] [stderr] 277 | | &MouseButton::Middle => mouse_button_states.middle = pressed, [INFO] [stderr] 278 | | _ => {} [INFO] [stderr] 279 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 274 | match *mouse_button { [INFO] [stderr] 275 | MouseButton::Left => mouse_button_states.left = pressed, [INFO] [stderr] 276 | MouseButton::Right => mouse_button_states.right = pressed, [INFO] [stderr] 277 | MouseButton::Middle => mouse_button_states.middle = pressed, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/toolkits.rs:282:9 [INFO] [stderr] | [INFO] [stderr] 282 | / match event { [INFO] [stderr] 283 | | &Input::Press(Button::Keyboard(ref key)) => { [INFO] [stderr] 284 | | set_key(&mut self.imgui, &key, true); [INFO] [stderr] 285 | | } [INFO] [stderr] ... | [INFO] [stderr] 307 | | _ => {} [INFO] [stderr] 308 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 282 | match *event { [INFO] [stderr] 283 | Input::Press(Button::Keyboard(ref key)) => { [INFO] [stderr] 284 | set_key(&mut self.imgui, &key, true); [INFO] [stderr] 285 | } [INFO] [stderr] 286 | [INFO] [stderr] 287 | Input::Release(Button::Keyboard(ref key)) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/states.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(pos: &[f32; 2], pressure: f32) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `[f32; 2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: The function/method `::new` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:257:44 [INFO] [stderr] | [INFO] [stderr] 257 | let mut g2d = Glium2d::new(OPENGL, &mut self.window); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:275:30 [INFO] [stderr] | [INFO] [stderr] 275 | fn update(&mut self, dt: &f64) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `f64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:337:9 [INFO] [stderr] | [INFO] [stderr] 337 | / match event { [INFO] [stderr] 338 | | &Input::Press(Button::Mouse(button)) => { [INFO] [stderr] 339 | | match button { [INFO] [stderr] 340 | | MouseButton::Right => { [INFO] [stderr] ... | [INFO] [stderr] 376 | | _ => {} [INFO] [stderr] 377 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 337 | match *event { [INFO] [stderr] 338 | Input::Press(Button::Mouse(button)) => { [INFO] [stderr] 339 | match button { [INFO] [stderr] 340 | MouseButton::Right => { [INFO] [stderr] 341 | self.states.is_recording_trajectory = true; [INFO] [stderr] 342 | self.states.current_recording_cooldown = 0.; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:339:17 [INFO] [stderr] | [INFO] [stderr] 339 | / match button { [INFO] [stderr] 340 | | MouseButton::Right => { [INFO] [stderr] 341 | | self.states.is_recording_trajectory = true; [INFO] [stderr] 342 | | self.states.current_recording_cooldown = 0.; [INFO] [stderr] 343 | | } [INFO] [stderr] 344 | | _ => {} [INFO] [stderr] 345 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 339 | if let MouseButton::Right = button { [INFO] [stderr] 340 | self.states.is_recording_trajectory = true; [INFO] [stderr] 341 | self.states.current_recording_cooldown = 0.; [INFO] [stderr] 342 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:349:17 [INFO] [stderr] | [INFO] [stderr] 349 | / match button { [INFO] [stderr] 350 | | MouseButton::Right => { [INFO] [stderr] 351 | | self.states.is_recording_trajectory = false; [INFO] [stderr] 352 | | self.states.need_update_brush_preview = true; [INFO] [stderr] ... | [INFO] [stderr] 359 | | _ => {} [INFO] [stderr] 360 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 349 | if let MouseButton::Right = button { [INFO] [stderr] 350 | self.states.is_recording_trajectory = false; [INFO] [stderr] 351 | self.states.need_update_brush_preview = true; [INFO] [stderr] 352 | [INFO] [stderr] 353 | self.states [INFO] [stderr] 354 | .stroke_records [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:408:30 [INFO] [stderr] | [INFO] [stderr] 408 | self.states.stroke_line_radius as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.states.stroke_line_radius)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:409:31 [INFO] [stderr] | [INFO] [stderr] 409 | [prev_anchor_pos[0] as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(prev_anchor_pos[0])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:410:31 [INFO] [stderr] | [INFO] [stderr] 410 | prev_anchor_pos[1] as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(prev_anchor_pos[1])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:411:31 [INFO] [stderr] | [INFO] [stderr] 411 | anchor_pos[0] as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[0])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:412:31 [INFO] [stderr] | [INFO] [stderr] 412 | anchor_pos[1] as f64], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[1])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:420:40 [INFO] [stderr] | [INFO] [stderr] 420 | circle(anchor_pos[0] as f64, anchor_pos[1] as f64, 3.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[0])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:420:62 [INFO] [stderr] | [INFO] [stderr] 420 | circle(anchor_pos[0] as f64, anchor_pos[1] as f64, 3.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:824:37 [INFO] [stderr] | [INFO] [stderr] 824 | start_pos: &[f32; 2], [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `[f32; 2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:826:35 [INFO] [stderr] | [INFO] [stderr] 826 | end_pos: &[f32; 2], [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `[f32; 2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:840:5 [INFO] [stderr] | [INFO] [stderr] 840 | / match app.run() { [INFO] [stderr] 841 | | Ok(_) => {} [INFO] [stderr] 842 | | Err(_) => {} [INFO] [stderr] 843 | | } [INFO] [stderr] | |_____^ help: try this: `if let Ok(_) = app.run() {}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `rand::Rng` [INFO] [stderr] --> src/toolkits.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use rand::Rng; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `shallow_water_tex` [INFO] [stderr] --> src/main.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | shallow_water_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pidment_deposition_tex` [INFO] [stderr] --> src/main.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | pidment_deposition_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `capillary_tex` [INFO] [stderr] --> src/main.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | capillary_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `passive_layer_tex` [INFO] [stderr] --> src/main.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | passive_layer_tex: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `doge_image` [INFO] [stderr] --> src/main.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | doge_image: Texture2d, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/toolkits.rs:243:44 [INFO] [stderr] | [INFO] [stderr] 243 | fn set_key(imgui: &mut ImGui, key: &Key, pressed: bool) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `Key` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/toolkits.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | / match key { [INFO] [stderr] 245 | | &Key::Tab => imgui.set_key(0, pressed), [INFO] [stderr] 246 | | &Key::Left => imgui.set_key(1, pressed), [INFO] [stderr] 247 | | &Key::Right => imgui.set_key(2, pressed), [INFO] [stderr] ... | [INFO] [stderr] 267 | | _ => {} [INFO] [stderr] 268 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 244 | match *key { [INFO] [stderr] 245 | Key::Tab => imgui.set_key(0, pressed), [INFO] [stderr] 246 | Key::Left => imgui.set_key(1, pressed), [INFO] [stderr] 247 | Key::Right => imgui.set_key(2, pressed), [INFO] [stderr] 248 | Key::Up => imgui.set_key(3, pressed), [INFO] [stderr] 249 | Key::Down => imgui.set_key(4, pressed), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/toolkits.rs:272:43 [INFO] [stderr] | [INFO] [stderr] 272 | mouse_button: &MouseButton, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `MouseButton` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/toolkits.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | / match mouse_button { [INFO] [stderr] 275 | | &MouseButton::Left => mouse_button_states.left = pressed, [INFO] [stderr] 276 | | &MouseButton::Right => mouse_button_states.right = pressed, [INFO] [stderr] 277 | | &MouseButton::Middle => mouse_button_states.middle = pressed, [INFO] [stderr] 278 | | _ => {} [INFO] [stderr] 279 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 274 | match *mouse_button { [INFO] [stderr] 275 | MouseButton::Left => mouse_button_states.left = pressed, [INFO] [stderr] 276 | MouseButton::Right => mouse_button_states.right = pressed, [INFO] [stderr] 277 | MouseButton::Middle => mouse_button_states.middle = pressed, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/toolkits.rs:282:9 [INFO] [stderr] | [INFO] [stderr] 282 | / match event { [INFO] [stderr] 283 | | &Input::Press(Button::Keyboard(ref key)) => { [INFO] [stderr] 284 | | set_key(&mut self.imgui, &key, true); [INFO] [stderr] 285 | | } [INFO] [stderr] ... | [INFO] [stderr] 307 | | _ => {} [INFO] [stderr] 308 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 282 | match *event { [INFO] [stderr] 283 | Input::Press(Button::Keyboard(ref key)) => { [INFO] [stderr] 284 | set_key(&mut self.imgui, &key, true); [INFO] [stderr] 285 | } [INFO] [stderr] 286 | [INFO] [stderr] 287 | Input::Release(Button::Keyboard(ref key)) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/states.rs:12:21 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new(pos: &[f32; 2], pressure: f32) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `[f32; 2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: The function/method `::new` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:257:44 [INFO] [stderr] | [INFO] [stderr] 257 | let mut g2d = Glium2d::new(OPENGL, &mut self.window); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:275:30 [INFO] [stderr] | [INFO] [stderr] 275 | fn update(&mut self, dt: &f64) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `f64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:337:9 [INFO] [stderr] | [INFO] [stderr] 337 | / match event { [INFO] [stderr] 338 | | &Input::Press(Button::Mouse(button)) => { [INFO] [stderr] 339 | | match button { [INFO] [stderr] 340 | | MouseButton::Right => { [INFO] [stderr] ... | [INFO] [stderr] 376 | | _ => {} [INFO] [stderr] 377 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 337 | match *event { [INFO] [stderr] 338 | Input::Press(Button::Mouse(button)) => { [INFO] [stderr] 339 | match button { [INFO] [stderr] 340 | MouseButton::Right => { [INFO] [stderr] 341 | self.states.is_recording_trajectory = true; [INFO] [stderr] 342 | self.states.current_recording_cooldown = 0.; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:339:17 [INFO] [stderr] | [INFO] [stderr] 339 | / match button { [INFO] [stderr] 340 | | MouseButton::Right => { [INFO] [stderr] 341 | | self.states.is_recording_trajectory = true; [INFO] [stderr] 342 | | self.states.current_recording_cooldown = 0.; [INFO] [stderr] 343 | | } [INFO] [stderr] 344 | | _ => {} [INFO] [stderr] 345 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 339 | if let MouseButton::Right = button { [INFO] [stderr] 340 | self.states.is_recording_trajectory = true; [INFO] [stderr] 341 | self.states.current_recording_cooldown = 0.; [INFO] [stderr] 342 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:349:17 [INFO] [stderr] | [INFO] [stderr] 349 | / match button { [INFO] [stderr] 350 | | MouseButton::Right => { [INFO] [stderr] 351 | | self.states.is_recording_trajectory = false; [INFO] [stderr] 352 | | self.states.need_update_brush_preview = true; [INFO] [stderr] ... | [INFO] [stderr] 359 | | _ => {} [INFO] [stderr] 360 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 349 | if let MouseButton::Right = button { [INFO] [stderr] 350 | self.states.is_recording_trajectory = false; [INFO] [stderr] 351 | self.states.need_update_brush_preview = true; [INFO] [stderr] 352 | [INFO] [stderr] 353 | self.states [INFO] [stderr] 354 | .stroke_records [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:408:30 [INFO] [stderr] | [INFO] [stderr] 408 | self.states.stroke_line_radius as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.states.stroke_line_radius)` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:409:31 [INFO] [stderr] | [INFO] [stderr] 409 | [prev_anchor_pos[0] as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(prev_anchor_pos[0])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:410:31 [INFO] [stderr] | [INFO] [stderr] 410 | prev_anchor_pos[1] as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(prev_anchor_pos[1])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:411:31 [INFO] [stderr] | [INFO] [stderr] 411 | anchor_pos[0] as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[0])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:412:31 [INFO] [stderr] | [INFO] [stderr] 412 | anchor_pos[1] as f64], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[1])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:420:40 [INFO] [stderr] | [INFO] [stderr] 420 | circle(anchor_pos[0] as f64, anchor_pos[1] as f64, 3.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[0])` [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 f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:420:62 [INFO] [stderr] | [INFO] [stderr] 420 | circle(anchor_pos[0] as f64, anchor_pos[1] as f64, 3.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(anchor_pos[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:824:37 [INFO] [stderr] | [INFO] [stderr] 824 | start_pos: &[f32; 2], [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `[f32; 2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:826:35 [INFO] [stderr] | [INFO] [stderr] 826 | end_pos: &[f32; 2], [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `[f32; 2]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:840:5 [INFO] [stderr] | [INFO] [stderr] 840 | / match app.run() { [INFO] [stderr] 841 | | Ok(_) => {} [INFO] [stderr] 842 | | Err(_) => {} [INFO] [stderr] 843 | | } [INFO] [stderr] | |_____^ help: try this: `if let Ok(_) = app.run() {}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 51.23s [INFO] running `"docker" "inspect" "b8284c6d0081d3b451ada1a2bb70eee3297cfb23e0b4c6bc593bccd5ab117f26"` [INFO] running `"docker" "rm" "-f" "b8284c6d0081d3b451ada1a2bb70eee3297cfb23e0b4c6bc593bccd5ab117f26"` [INFO] [stdout] b8284c6d0081d3b451ada1a2bb70eee3297cfb23e0b4c6bc593bccd5ab117f26