[INFO] crate crayon 0.7.0 is already in cache [INFO] extracting crate crayon 0.7.0 into work/ex/clippy-test-run/sources/stable/reg/crayon/0.7.0 [INFO] extracting crate crayon 0.7.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/crayon/0.7.0 [INFO] validating manifest of crayon-0.7.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of crayon-0.7.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing crayon-0.7.0 [INFO] finished frobbing crayon-0.7.0 [INFO] frobbed toml for crayon-0.7.0 written to work/ex/clippy-test-run/sources/stable/reg/crayon/0.7.0/Cargo.toml [INFO] started frobbing crayon-0.7.0 [INFO] finished frobbing crayon-0.7.0 [INFO] frobbed toml for crayon-0.7.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/crayon/0.7.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting crayon-0.7.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/crayon/0.7.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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] 145fb6e3f52092b3a1bb66a70061d66da0c44c1241660cdbd599c68acbdc365c [INFO] running `"docker" "start" "-a" "145fb6e3f52092b3a1bb66a70061d66da0c44c1241660cdbd599c68acbdc365c"` [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Checking smallvec v0.6.8 [INFO] [stderr] Checking bincode v1.0.1 [INFO] [stderr] Checking inlinable_string v0.1.10 [INFO] [stderr] Checking serde_json v1.0.37 [INFO] [stderr] Checking uuid v0.7.2 [INFO] [stderr] Checking smithay-client-toolkit v0.3.0 [INFO] [stderr] Checking parking_lot_core v0.3.1 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking winit v0.17.2 [INFO] [stderr] Checking glutin v0.18.0 [INFO] [stderr] Checking crayon v0.7.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/handle.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/utils/handle.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/utils/handle.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/utils/handle.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/utils/handle_pool.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | versions: versions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `versions` [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/utils/handle_pool.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | frees: frees, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `frees` [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/application/ins.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | listener: listener, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `listener` [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/application/engine.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/application/engine.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/application/time.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | shared: shared, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shared` [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/video/assets/texture_loader.rs:23:25 [INFO] [stderr] | [INFO] [stderr] 23 | TextureLoader { frames: frames } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `frames` [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/video/assets/mesh.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | format: format, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `format` [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/video/assets/mesh.rs:289:13 [INFO] [stderr] | [INFO] [stderr] 289 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/video/assets/mesh.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | normalized: normalized, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normalized` [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/video/assets/mesh.rs:399:17 [INFO] [stderr] | [INFO] [stderr] 399 | format: format, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `format` [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/video/assets/mesh.rs:400:17 [INFO] [stderr] | [INFO] [stderr] 400 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/video/assets/mesh.rs:401:17 [INFO] [stderr] | [INFO] [stderr] 401 | normalized: normalized, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normalized` [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/video/assets/mesh_loader.rs:23:22 [INFO] [stderr] | [INFO] [stderr] 23 | MeshLoader { frames: frames } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `frames` [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/video/command.rs:188:13 [INFO] [stderr] | [INFO] [stderr] 188 | shader: shader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shader` [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/video/command.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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/video/system.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | frames: frames, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `frames` [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/video/system.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/video/system.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | visitor: visitor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `visitor` [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/video/system.rs:114:17 [INFO] [stderr] | [INFO] [stderr] 114 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/video/system.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | visitor: visitor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `visitor` [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/video/backends/gl/capabilities.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/video/backends/gl/capabilities.rs:249:13 [INFO] [stderr] | [INFO] [stderr] 249 | extensions: extensions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extensions` [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/video/backends/gl/capabilities.rs:253:13 [INFO] [stderr] | [INFO] [stderr] 253 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/video/backends/gl/capabilities.rs:254:13 [INFO] [stderr] | [INFO] [stderr] 254 | forward_compatible: forward_compatible, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `forward_compatible` [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/video/backends/gl/visitor.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/video/backends/gl/visitor.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | capabilities: capabilities, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `capabilities` [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/video/backends/gl/visitor.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/video/backends/gl/visitor.rs:315:13 [INFO] [stderr] | [INFO] [stderr] 315 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:316:13 [INFO] [stderr] | [INFO] [stderr] 316 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/video/backends/gl/visitor.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/utils/handle.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/video/backends/gl/visitor.rs:445:17 [INFO] [stderr] | [INFO] [stderr] 445 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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] [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/video/backends/gl/visitor.rs:446:17 [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] 446 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/video/backends/gl/visitor.rs:447:17 [INFO] [stderr] | [INFO] [stderr] 447 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/handle.rs:28:13 [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] 28 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] [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/video/backends/gl/visitor.rs:588:17 [INFO] [stderr] | [INFO] [stderr] 588 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/utils/handle.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/video/backends/gl/visitor.rs:589:17 [INFO] [stderr] | [INFO] [stderr] 589 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/video/backends/gl/visitor.rs:590:17 [INFO] [stderr] | [INFO] [stderr] 590 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/handle.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stderr] [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/video/backends/gl/visitor.rs:641:17 [INFO] [stderr] | [INFO] [stderr] 641 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:642:17 [INFO] [stderr] | [INFO] [stderr] 642 | vbo: vbo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `vbo` [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/video/backends/gl/visitor.rs:643:17 [INFO] [stderr] | [INFO] [stderr] 643 | ibo: ibo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ibo` [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/video/backends/gl/visitor.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/utils/handle_pool.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | versions: versions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `versions` [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/utils/handle_pool.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | frees: frees, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `frees` [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/application/ins.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | listener: listener, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `listener` [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/application/engine.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/application/engine.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/application/time.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | shared: shared, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shared` [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/video/assets/texture_loader.rs:23:25 [INFO] [stderr] | [INFO] [stderr] 23 | TextureLoader { frames: frames } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `frames` [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/video/assets/mesh.rs:288:13 [INFO] [stderr] | [INFO] [stderr] 288 | format: format, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `format` [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/video/assets/mesh.rs:289:13 [INFO] [stderr] | [INFO] [stderr] 289 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/video/assets/mesh.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | normalized: normalized, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normalized` [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/video/assets/mesh.rs:399:17 [INFO] [stderr] | [INFO] [stderr] 399 | format: format, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `format` [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/video/assets/mesh.rs:400:17 [INFO] [stderr] | [INFO] [stderr] 400 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/video/assets/mesh.rs:401:17 [INFO] [stderr] | [INFO] [stderr] 401 | normalized: normalized, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `normalized` [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/video/assets/mesh_loader.rs:23:22 [INFO] [stderr] | [INFO] [stderr] 23 | MeshLoader { frames: frames } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `frames` [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/video/command.rs:188:13 [INFO] [stderr] | [INFO] [stderr] 188 | shader: shader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shader` [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/video/command.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | mesh: mesh, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mesh` [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/video/system.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | frames: frames, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `frames` [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/video/system.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/video/system.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | visitor: visitor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `visitor` [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/video/system.rs:114:17 [INFO] [stderr] | [INFO] [stderr] 114 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/video/system.rs:115:17 [INFO] [stderr] | [INFO] [stderr] 115 | visitor: visitor, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `visitor` [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/video/backends/gl/capabilities.rs:248:13 [INFO] [stderr] | [INFO] [stderr] 248 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/video/backends/gl/capabilities.rs:249:13 [INFO] [stderr] | [INFO] [stderr] 249 | extensions: extensions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extensions` [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/video/backends/gl/capabilities.rs:253:13 [INFO] [stderr] | [INFO] [stderr] 253 | debug: debug, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `debug` [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/video/backends/gl/capabilities.rs:254:13 [INFO] [stderr] | [INFO] [stderr] 254 | forward_compatible: forward_compatible, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `forward_compatible` [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/video/backends/gl/visitor.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/video/backends/gl/visitor.rs:154:13 [INFO] [stderr] | [INFO] [stderr] 154 | capabilities: capabilities, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `capabilities` [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/video/backends/gl/visitor.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/video/backends/gl/visitor.rs:315:13 [INFO] [stderr] | [INFO] [stderr] 315 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:316:13 [INFO] [stderr] | [INFO] [stderr] 316 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/video/backends/gl/visitor.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/video/backends/gl/visitor.rs:445:17 [INFO] [stderr] | [INFO] [stderr] 445 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:446:17 [INFO] [stderr] | [INFO] [stderr] 446 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/video/backends/gl/visitor.rs:447:17 [INFO] [stderr] | [INFO] [stderr] 447 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/video/backends/gl/visitor.rs:588:17 [INFO] [stderr] | [INFO] [stderr] 588 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:589:17 [INFO] [stderr] | [INFO] [stderr] 589 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/video/backends/gl/visitor.rs:590:17 [INFO] [stderr] | [INFO] [stderr] 590 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/video/backends/gl/visitor.rs:641:17 [INFO] [stderr] | [INFO] [stderr] 641 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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/video/backends/gl/visitor.rs:642:17 [INFO] [stderr] | [INFO] [stderr] 642 | vbo: vbo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `vbo` [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/video/backends/gl/visitor.rs:643:17 [INFO] [stderr] | [INFO] [stderr] 643 | ibo: ibo, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ibo` [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/video/backends/gl/visitor.rs:644:17 [INFO] [stderr] | [INFO] [stderr] 644 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/input/keyboard.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | setup: setup, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `setup` [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/input/mouse.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/input/mouse.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/input/touchpad.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/input/touchpad.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/input/touchpad.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/input/touchpad.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | required: required, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `required` [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/input/touchpad.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/input/touchpad.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/input/touchpad.rs:360:25 [INFO] [stderr] | [INFO] [stderr] 360 | movement: movement, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `movement` [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/math/color.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/keyboard.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | setup: setup, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `setup` [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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] [INFO] [stderr] --> src/math/color.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [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/math/color.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/math/color.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [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/input/mouse.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/math/frustum.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | fovy: fovy, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `fovy` [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/math/frustum.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | aspect: aspect, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `aspect` [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/input/mouse.rs:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:160:14 [INFO] [stderr] | [INFO] [stderr] 160 | let (l, r) = (-hw, hw); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [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: 6th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | let (l, r) = (-hw, hw); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:161:14 [INFO] [stderr] | [INFO] [stderr] 161 | let (b, t) = (-hh, hh); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | let (b, t) = (-hh, hh); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/input/touchpad.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/math/frustum.rs:212:13 [INFO] [stderr] | [INFO] [stderr] 212 | projection: projection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `projection` [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/input/touchpad.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/input/touchpad.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/math/plane.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | Plane { n: n, d: d } [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/input/touchpad.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | required: required, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `required` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/plane.rs:34:23 [INFO] [stderr] | [INFO] [stderr] 34 | Plane { n: n, d: d } [INFO] [stderr] | ^^^^ help: replace it with: `d` [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] | [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/math/plane.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | d: d, [INFO] [stderr] | ^^^^ help: replace it with: `d` [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/input/touchpad.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/math/plane.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | let d = -a.dot(n); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] | [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/math/plane.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | Plane { n: n, d: p.dot(n) } [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/input/touchpad.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | params: params, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `params` [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/input/touchpad.rs:360:25 [INFO] [stderr] | [INFO] [stderr] 360 | movement: movement, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `movement` [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/res/url.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/res/url.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | components: components, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `components` [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/res/utils/pool.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | loader: loader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `loader` [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/res/utils/pool.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | uuid: uuid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `uuid` [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/math/color.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/math/color.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [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/math/color.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/math/color.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | a: a, [INFO] [stderr] | ^^^^ help: replace it with: `a` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sched/scope.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | scheduler: scheduler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scheduler` [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] | [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/sched/job.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | pointer: pointer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [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/math/frustum.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | fovy: fovy, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `fovy` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sched/job.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | latch: latch, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `latch` [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] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/frustum.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | aspect: aspect, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `aspect` [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/sched/scheduler.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | panic_handler: panic_handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `panic_handler` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:160:14 [INFO] [stderr] | [INFO] [stderr] 160 | let (l, r) = (-hw, hw); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sched/scheduler.rs:209:13 [INFO] [stderr] | [INFO] [stderr] 209 | scheduler: scheduler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scheduler` [INFO] [stderr] | [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] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | let (l, r) = (-hw, hw); [INFO] [stderr] | ^ [INFO] [stderr] --> src/sched/scheduler.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/sched/scheduler.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | worker: worker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `worker` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:161:14 [INFO] [stderr] | [INFO] [stderr] 161 | let (b, t) = (-hh, hh); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/math/frustum.rs:161:17 [INFO] [stderr] | [INFO] [stderr] 161 | let (b, t) = (-hh, hh); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/frustum.rs:212:13 [INFO] [stderr] | [INFO] [stderr] 212 | projection: projection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `projection` [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/window/backends/glutin/visitor.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | 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/math/plane.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | Plane { n: n, d: d } [INFO] [stderr] | ^^^^ help: replace it with: `n` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/window/backends/glutin/visitor.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | events_loop: events_loop, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `events_loop` [INFO] [stderr] | [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] = 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/math/plane.rs:34:23 [INFO] [stderr] | [INFO] [stderr] 34 | Plane { n: n, d: d } [INFO] [stderr] | ^^^^ help: replace it with: `d` [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/math/plane.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | d: d, [INFO] [stderr] | ^^^^ help: replace it with: `d` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/math/plane.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | let d = -a.dot(n); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/plane.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | Plane { n: n, d: p.dot(n) } [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/res/url.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | url: url, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `url` [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/res/url.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | components: components, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `components` [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/res/utils/pool.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | loader: loader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `loader` [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/res/utils/pool.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | uuid: uuid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `uuid` [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/sched/scope.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | scheduler: scheduler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scheduler` [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/sched/job.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | pointer: pointer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pointer` [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/sched/job.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | latch: latch, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `latch` [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/sched/scheduler.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | panic_handler: panic_handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `panic_handler` [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/sched/scheduler.rs:209:13 [INFO] [stderr] | [INFO] [stderr] 209 | scheduler: scheduler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `scheduler` [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/sched/scheduler.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/sched/scheduler.rs:211:13 [INFO] [stderr] | [INFO] [stderr] 211 | worker: worker, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `worker` [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/window/backends/glutin/visitor.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | 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/window/backends/glutin/visitor.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | events_loop: events_loop, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `events_loop` [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: this if statement can be collapsed [INFO] [stderr] --> src/utils/handle_pool.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | / if v & 0x1 == 1 { [INFO] [stderr] 102 | | if !predicate(T::new(i as u32, v)) { [INFO] [stderr] 103 | | self.versions[i] += 1; [INFO] [stderr] 104 | | self.frees.push(InverseHandleIndex(i as u32)); [INFO] [stderr] 105 | | } [INFO] [stderr] 106 | | } [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] 101 | if v & 0x1 == 1 && !predicate(T::new(i as u32, v)) { [INFO] [stderr] 102 | self.versions[i] += 1; [INFO] [stderr] 103 | self.frees.push(InverseHandleIndex(i as u32)); [INFO] [stderr] 104 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/hash.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | const SEED64: u64 = 0x517cc1b727220a95; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x517c_c1b7_2722_0a95` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/application/lifecycle.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | v [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/application/lifecycle.rs:58:21 [INFO] [stderr] | [INFO] [stderr] 58 | let v = self.lifecycles.lock().unwrap().free(handle); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/application/time.rs:160:14 [INFO] [stderr] | [INFO] [stderr] 160 | (1000000000.0 / f64::from(ts.subsec_nanos())) as u32 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1015:28 [INFO] [stderr] | [INFO] [stderr] 1015 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 1016 | | if required { [INFO] [stderr] 1017 | | bail!( [INFO] [stderr] 1018 | | "Can't find attribute {:?} description in vertex buffer.", [INFO] [stderr] ... | [INFO] [stderr] 1021 | | } [INFO] [stderr] 1022 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 1015 | } else if required { [INFO] [stderr] 1016 | bail!( [INFO] [stderr] 1017 | "Can't find attribute {:?} description in vertex buffer.", [INFO] [stderr] 1018 | name [INFO] [stderr] 1019 | ); [INFO] [stderr] 1020 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/res/manifest.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | pub const NAME: &'static str = "MANIFEST"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/res/url.rs:147:28 [INFO] [stderr] | [INFO] [stderr] 147 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 148 | | if end > lhs { [INFO] [stderr] 149 | | let k = self.url.get_unchecked(lhs..end); [INFO] [stderr] 150 | | queries.insert(k.into(), None); [INFO] [stderr] 151 | | } [INFO] [stderr] 152 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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 | } else if end > lhs { [INFO] [stderr] 148 | let k = self.url.get_unchecked(lhs..end); [INFO] [stderr] 149 | queries.insert(k.into(), None); [INFO] [stderr] 150 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/window/system.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | window [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/window/system.rs:102:22 [INFO] [stderr] | [INFO] [stderr] 102 | let window = WindowSystem { [INFO] [stderr] | ______________________^ [INFO] [stderr] 103 | | state: state.clone(), [INFO] [stderr] 104 | | lis: crate::application::attach(state), [INFO] [stderr] 105 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/utils/handle_pool.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | / if v & 0x1 == 1 { [INFO] [stderr] 102 | | if !predicate(T::new(i as u32, v)) { [INFO] [stderr] 103 | | self.versions[i] += 1; [INFO] [stderr] 104 | | self.frees.push(InverseHandleIndex(i as u32)); [INFO] [stderr] 105 | | } [INFO] [stderr] 106 | | } [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] 101 | if v & 0x1 == 1 && !predicate(T::new(i as u32, v)) { [INFO] [stderr] 102 | self.versions[i] += 1; [INFO] [stderr] 103 | self.frees.push(InverseHandleIndex(i as u32)); [INFO] [stderr] 104 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/hash.rs:58:25 [INFO] [stderr] | [INFO] [stderr] 58 | const SEED64: u64 = 0x517cc1b727220a95; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x517c_c1b7_2722_0a95` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/application/lifecycle.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | v [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/application/lifecycle.rs:58:21 [INFO] [stderr] | [INFO] [stderr] 58 | let v = self.lifecycles.lock().unwrap().free(handle); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/application/time.rs:160:14 [INFO] [stderr] | [INFO] [stderr] 160 | (1000000000.0 / f64::from(ts.subsec_nanos())) as u32 [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1015:28 [INFO] [stderr] | [INFO] [stderr] 1015 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 1016 | | if required { [INFO] [stderr] 1017 | | bail!( [INFO] [stderr] 1018 | | "Can't find attribute {:?} description in vertex buffer.", [INFO] [stderr] ... | [INFO] [stderr] 1021 | | } [INFO] [stderr] 1022 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 1015 | } else if required { [INFO] [stderr] 1016 | bail!( [INFO] [stderr] 1017 | "Can't find attribute {:?} description in vertex buffer.", [INFO] [stderr] 1018 | name [INFO] [stderr] 1019 | ); [INFO] [stderr] 1020 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/res/manifest.rs:12:18 [INFO] [stderr] | [INFO] [stderr] 12 | pub const NAME: &'static str = "MANIFEST"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/res/url.rs:147:28 [INFO] [stderr] | [INFO] [stderr] 147 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 148 | | if end > lhs { [INFO] [stderr] 149 | | let k = self.url.get_unchecked(lhs..end); [INFO] [stderr] 150 | | queries.insert(k.into(), None); [INFO] [stderr] 151 | | } [INFO] [stderr] 152 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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 | } else if end > lhs { [INFO] [stderr] 148 | let k = self.url.get_unchecked(lhs..end); [INFO] [stderr] 149 | queries.insert(k.into(), None); [INFO] [stderr] 150 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/window/system.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | window [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/window/system.rs:102:22 [INFO] [stderr] | [INFO] [stderr] 102 | let window = WindowSystem { [INFO] [stderr] | ______________________^ [INFO] [stderr] 103 | | state: state.clone(), [INFO] [stderr] 104 | | lis: crate::application::attach(state), [INFO] [stderr] 105 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/handle.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn is_valid(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/handle.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn index(&self) -> HandleIndex { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/handle.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn version(&self) -> HandleIndex { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:130:28 [INFO] [stderr] | [INFO] [stderr] 130 | hash.hash_word(*byte as u32); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(*byte)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:145:28 [INFO] [stderr] | [INFO] [stderr] 145 | hash.hash_word(n as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(n)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:150:28 [INFO] [stderr] | [INFO] [stderr] 150 | hash.hash_word(*byte as u64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(*byte)` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:259:33 [INFO] [stderr] | [INFO] [stderr] 259 | self.hash.hash_word(i as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(i)` [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 u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:264:33 [INFO] [stderr] | [INFO] [stderr] 264 | self.hash.hash_word(i as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(i)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:292:13 [INFO] [stderr] | [INFO] [stderr] 292 | self.hash as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(self.hash)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:324:33 [INFO] [stderr] | [INFO] [stderr] 324 | self.hash.hash_word(i as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(i)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:329:33 [INFO] [stderr] | [INFO] [stderr] 329 | self.hash.hash_word(i as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(i)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:334:33 [INFO] [stderr] | [INFO] [stderr] 334 | self.hash.hash_word(i as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(i)` [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] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/utils/hash_value.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / impl Hash for HashValue [INFO] [stderr] 33 | | where [INFO] [stderr] 34 | | T: Hash + ?Sized, [INFO] [stderr] 35 | | { [INFO] [stderr] ... | [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/utils/hash_value.rs:7:41 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: reference to uninitialized memory [INFO] [stderr] --> src/utils/object_pool.rs:97:29 [INFO] [stderr] | [INFO] [stderr] 97 | let mut w = ::std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::invalid_ref)] on by default [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/object_pool.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / pub fn iter_mut<'a>(&'a mut self) -> impl DoubleEndedIterator { [INFO] [stderr] 127 | | let entries = &mut self.entries; [INFO] [stderr] 128 | | self.handles.iter().map(move |v| unsafe { [INFO] [stderr] 129 | | let w = entries.get_unchecked_mut(v.index() as usize); [INFO] [stderr] 130 | | (v, &mut *(w as *mut T)) [INFO] [stderr] 131 | | }) [INFO] [stderr] 132 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/time.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn elapsed(&self) -> Duration { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `application::ins::InspectSystem` [INFO] [stderr] --> src/application/ins.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> Self { [INFO] [stderr] 24 | | let listener = TcpListener::bind(format!("127.0.0.1:{}", PORT)).unwrap(); [INFO] [stderr] 25 | | [INFO] [stderr] 26 | | InspectSystem { [INFO] [stderr] ... | [INFO] [stderr] 29 | | } [INFO] [stderr] 30 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | impl Default for application::ins::InspectSystem { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/application/ins.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | stream.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/application/sys/glutin.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | let ms = duration.subsec_millis() as u64 + duration.as_secs() * 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(duration.subsec_millis())` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/application/engine.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / if let &Event::Window(WindowEvent::Closed) = v { [INFO] [stderr] 27 | | *self.alive.lock().unwrap() = false; [INFO] [stderr] 28 | | } [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] 26 | if let Event::Window(WindowEvent::Closed) = *v { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | *self.alive.lock().unwrap() = false; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | alive: Mutex::new(true), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:86:20 [INFO] [stderr] | [INFO] [stderr] 86 | alive: Mutex::new(false), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:100:10 [INFO] [stderr] | [INFO] [stderr] 100 | *self.state.alive.lock().unwrap() = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:144:29 [INFO] [stderr] | [INFO] [stderr] 144 | Ok(*state.alive.lock().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/application/launcher.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | let wrapper: Box FnMut(&'r T1) -> Result + Send> = Box::new(move |r| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/application/launcher.rs:32:14 [INFO] [stderr] | [INFO] [stderr] 32 | NotReady(Box FnMut(&'r T1) -> Result + Send>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [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/application/launcher.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / match self.state { [INFO] [stderr] 39 | | LaunchState::Ok(lis) => { [INFO] [stderr] 40 | | crate::application::detach(lis); [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | _ => {} [INFO] [stderr] 43 | | } [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] 38 | if let LaunchState::Ok(lis) = self.state { [INFO] [stderr] 39 | crate::application::detach(lis); [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/application/mod.rs:158:11 [INFO] [stderr] | [INFO] [stderr] 158 | CTX = 0 as *const EngineSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/application/mod.rs:161:16 [INFO] [stderr] | [INFO] [stderr] 161 | TIME_CTX = 0 as *const TimeSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/application/mod.rs:164:21 [INFO] [stderr] | [INFO] [stderr] 164 | LIFECYCLE_CTX = 0 as *const LifecycleSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/video/assets/texture.rs:39:16 [INFO] [stderr] | [INFO] [stderr] 39 | if buf.bytes.len() > 0 && buf.bytes[0].len() > len as usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.bytes.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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:144:21 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn is_color(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn size(&self, dimensions: Vector2) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:200:23 [INFO] [stderr] | [INFO] [stderr] 200 | pub fn components(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:226:17 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn size(&self, dimensions: Vector2) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:252:23 [INFO] [stderr] | [INFO] [stderr] 252 | pub fn compressed(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'V' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'T' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'E' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:38 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'X' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:49 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/video/assets/texture_loader.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | if &bytes[0..8] != &MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 33 | if bytes[0..8] != MAGIC[..] { [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/video/assets/mesh.rs:127:21 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn assemble(&self, indices: u32) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/mesh.rs:137:31 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn assemble_triangles(&self, indices: u32) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/mesh.rs:156:19 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn stride(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'V' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'M' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'S' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:38 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'H' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:49 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/video/assets/mesh_loader.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | if &bytes[0..8] != &MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 33 | if bytes[0..8] != MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `video::command::CommandBuffer` [INFO] [stderr] --> src/video/command.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Self { [INFO] [stderr] 19 | | CommandBuffer { [INFO] [stderr] 20 | | cmds: Vec::with_capacity(32), [INFO] [stderr] 21 | | bufs: DataBuffer::with_capacity(512), [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `video::command::DrawCommandBuffer` [INFO] [stderr] --> src/video/command.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn new() -> Self { [INFO] [stderr] 129 | | DrawCommandBuffer { [INFO] [stderr] 130 | | cmds: Vec::with_capacity(32), [INFO] [stderr] 131 | | bufs: DataBuffer::with_capacity(512), [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 121 | #[derive(Default)] [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/video/command.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | / match v { [INFO] [stderr] 156 | | (_, Command::Draw(shader, mesh, mesh_index, ptr)) => { [INFO] [stderr] 157 | | let vars = self.bufs.as_slice(ptr); [INFO] [stderr] 158 | | let ptr = frame.bufs.extend_from_slice(vars); [INFO] [stderr] ... | [INFO] [stderr] 163 | | _ => {} [INFO] [stderr] 164 | | } [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] 155 | if let (_, Command::Draw(shader, mesh, mesh_index, ptr)) = v { [INFO] [stderr] 156 | let vars = self.bufs.as_slice(ptr); [INFO] [stderr] 157 | let ptr = frame.bufs.extend_from_slice(vars); [INFO] [stderr] 158 | let cmd = Command::Draw(shader, mesh, mesh_index, ptr); [INFO] [stderr] 159 | frame.cmds.push(cmd); [INFO] [stderr] 160 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/system.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | let handle = self.state.surfaces.write().unwrap().create(params).into(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.state.surfaces.write().unwrap().create(params)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/video/backends/frame.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | CreateMesh(MeshHandle, MeshParams, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/video/backends/frame.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | CreateMesh(MeshHandle, MeshParams, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/backends/gl/types.rs:166:23 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn is_support(&self, capabilities: &Capabilities) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/video/backends/gl/visitor.rs:894:12 [INFO] [stderr] | [INFO] [stderr] 894 | if self.state.cleared_surfaces.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.state.cleared_surfaces.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: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1228:21 [INFO] [stderr] | [INFO] [stderr] 1228 | GLint::from(position.x), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `position.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1229:21 [INFO] [stderr] | [INFO] [stderr] 1229 | GLint::from(position.y), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `position.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1244:17 [INFO] [stderr] | [INFO] [stderr] 1244 | GLint::from(vp.position.x), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `vp.position.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1245:17 [INFO] [stderr] | [INFO] [stderr] 1245 | GLint::from(vp.position.y), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `vp.position.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/video/mod.rs:248:11 [INFO] [stderr] | [INFO] [stderr] 248 | CTX = 0 as *const VideoSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/input/keyboard.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / if !self.downs.contains_key(&key) { [INFO] [stderr] 247 | | self.presses.insert(key); [INFO] [stderr] 248 | | self.downs.insert(key, KeyDownState::Start(self.now)); [INFO] [stderr] 249 | | } [INFO] [stderr] | |_________^ help: consider using: `self.downs.entry(key)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/input/system.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / if let &Event::InputDevice(v) = v { [INFO] [stderr] 33 | | match v { [INFO] [stderr] 34 | | InputEvent::MouseMoved { position } => { [INFO] [stderr] 35 | | if self.touch_emulation_button.read().unwrap().is_some() { [INFO] [stderr] ... | [INFO] [stderr] 96 | | } [INFO] [stderr] 97 | | } [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] 32 | if let Event::InputDevice(v) = *v { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/input/mod.rs:220:11 [INFO] [stderr] | [INFO] [stderr] 220 | CTX = 0 as *const InputSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'M' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'N' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:27 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'F' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:38 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'T' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:49 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::manifest::Manifest` [INFO] [stderr] --> src/res/manifest.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> Self { [INFO] [stderr] 27 | | Manifest { [INFO] [stderr] 28 | | items: Vec::new(), [INFO] [stderr] 29 | | buf: DataBuffer::with_capacity(0), [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/res/manifest.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | if &buf[0..8] != &MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 38 | if buf[0..8] != MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::manifest::ManfiestResolver` [INFO] [stderr] --> src/res/manifest.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | / pub fn new() -> Self { [INFO] [stderr] 63 | | ManfiestResolver { [INFO] [stderr] 64 | | manifests: Vec::new(), [INFO] [stderr] 65 | | manifest_prefixs: Vec::new(), [INFO] [stderr] ... | [INFO] [stderr] 68 | | } [INFO] [stderr] 69 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/res/request.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match self { [INFO] [stderr] 61 | | &Request::Ok(ref rsp) => Some(rsp), [INFO] [stderr] 62 | | _ => None, [INFO] [stderr] 63 | | } [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] 60 | match *self { [INFO] [stderr] 61 | Request::Ok(ref rsp) => Some(rsp), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/res/request.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | last_frame_tasks: Mutex)>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/res/request.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 79 | tasks: Mutex)>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::request::RequestQueue` [INFO] [stderr] --> src/res/request.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / pub fn new() -> Self { [INFO] [stderr] 85 | | RequestQueue { [INFO] [stderr] 86 | | last_frame_tasks: Mutex::new(Vec::new()), [INFO] [stderr] 87 | | tasks: Mutex::new(Vec::new()), [INFO] [stderr] 88 | | idxes: Mutex::new(Vec::new()), [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::shortcut::ShortcutResolver` [INFO] [stderr] --> src/res/shortcut.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn new() -> Self { [INFO] [stderr] 16 | | ShortcutResolver { [INFO] [stderr] 17 | | registry: FastHashMap::default(), [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/res/shortcut.rs:64:81 [INFO] [stderr] | [INFO] [stderr] 64 | if let Some(fullname) = self.registry.get(dst.get_unchecked(0..index + 1)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=index` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/res/shortcut.rs:65:43 [INFO] [stderr] | [INFO] [stderr] 65 | dst.replace_range(0..index + 1, fullname); [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/res/utils/pool.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | e.rc <= 0 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using e.rc == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/handle.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn is_valid(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/handle.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn index(&self) -> HandleIndex { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/handle.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn version(&self) -> HandleIndex { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::vfs::dir::Dir` [INFO] [stderr] --> src/res/vfs/dir.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn new() -> Self { [INFO] [stderr] 16 | | Dir {} [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | #[derive(Default)] [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/res/vfs/dir.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | fn load_from(&self, location: &str) -> Response { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::vfs::SchemaResolver` [INFO] [stderr] --> src/res/vfs/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | SchemaResolver { [INFO] [stderr] 26 | | schemas: FastHashMap::default(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/res/mod.rs:136:11 [INFO] [stderr] | [INFO] [stderr] 136 | CTX = 0 as *const ResourceSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sched::latch::SpinLatch` [INFO] [stderr] --> src/sched/latch.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / pub fn new() -> SpinLatch { [INFO] [stderr] 50 | | SpinLatch { [INFO] [stderr] 51 | | b: AtomicBool::new(false), [INFO] [stderr] 52 | | } [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 43 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sched::latch::LockLatch` [INFO] [stderr] --> src/sched/latch.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | / pub fn new() -> LockLatch { [INFO] [stderr] 80 | | LockLatch { [INFO] [stderr] 81 | | m: Mutex::new(None), [INFO] [stderr] 82 | | v: Condvar::new(), [INFO] [stderr] 83 | | } [INFO] [stderr] 84 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 72 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sched::latch::CountLatch` [INFO] [stderr] --> src/sched/latch.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | / pub fn new() -> CountLatch { [INFO] [stderr] 140 | | CountLatch { [INFO] [stderr] 141 | | counter: AtomicUsize::new(1), [INFO] [stderr] 142 | | } [INFO] [stderr] 143 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 133 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/sched/job.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | pub unsafe fn as_job_ref(self: Box) -> JobRef { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/sched/scheduler.rs:259:19 [INFO] [stderr] | [INFO] [stderr] 259 | Cell::new(0 as *const WorkerThread) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/sched/mod.rs:40:11 [INFO] [stderr] | [INFO] [stderr] 40 | CTX = 0 as *const SchedulerSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/window/backends/glutin/visitor.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | params.size.x as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(params.size.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/window/backends/glutin/visitor.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | params.size.y as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(params.size.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/window/backends/glutin/visitor.rs:86:51 [INFO] [stderr] | [INFO] [stderr] 86 | let size = glutin::dpi::PhysicalSize::new(dimensions.x as f64, dimensions.y as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(dimensions.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/window/backends/glutin/visitor.rs:86:72 [INFO] [stderr] | [INFO] [stderr] 86 | let size = glutin::dpi::PhysicalSize::new(dimensions.x as f64, dimensions.y as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(dimensions.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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:130:28 [INFO] [stderr] | [INFO] [stderr] 130 | hash.hash_word(*byte as u32); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(*byte)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:145:28 [INFO] [stderr] | [INFO] [stderr] 145 | hash.hash_word(n as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(n)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:150:28 [INFO] [stderr] | [INFO] [stderr] 150 | hash.hash_word(*byte as u64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(*byte)` [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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:259:33 [INFO] [stderr] | [INFO] [stderr] 259 | self.hash.hash_word(i as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(i)` [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: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/window/mod.rs:72:11 [INFO] [stderr] | [INFO] [stderr] 72 | CTX = 0 as *const WindowSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:264:33 [INFO] [stderr] | [INFO] [stderr] 264 | self.hash.hash_word(i as u32); [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(i)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:292:13 [INFO] [stderr] | [INFO] [stderr] 292 | self.hash as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(self.hash)` [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 u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:324:33 [INFO] [stderr] | [INFO] [stderr] 324 | self.hash.hash_word(i as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(i)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:329:33 [INFO] [stderr] | [INFO] [stderr] 329 | self.hash.hash_word(i as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(i)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/utils/hash.rs:334:33 [INFO] [stderr] | [INFO] [stderr] 334 | self.hash.hash_word(i as u64); [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(i)` [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] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/utils/hash_value.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / impl Hash for HashValue [INFO] [stderr] 33 | | where [INFO] [stderr] 34 | | T: Hash + ?Sized, [INFO] [stderr] 35 | | { [INFO] [stderr] ... | [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/utils/hash_value.rs:7:41 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/utils/hash_value.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | let _ = HashValue::::from(h); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `HashValue::::from()`: `h` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] error: reference to uninitialized memory [INFO] [stderr] --> src/utils/object_pool.rs:97:29 [INFO] [stderr] | [INFO] [stderr] 97 | let mut w = ::std::mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::invalid_ref)] on by default [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/object_pool.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / pub fn iter_mut<'a>(&'a mut self) -> impl DoubleEndedIterator { [INFO] [stderr] 127 | | let entries = &mut self.entries; [INFO] [stderr] 128 | | self.handles.iter().map(move |v| unsafe { [INFO] [stderr] 129 | | let w = entries.get_unchecked_mut(v.index() as usize); [INFO] [stderr] 130 | | (v, &mut *(w as *mut T)) [INFO] [stderr] 131 | | }) [INFO] [stderr] 132 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/utils/time.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn elapsed(&self) -> Duration { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `application::ins::InspectSystem` [INFO] [stderr] --> src/application/ins.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> Self { [INFO] [stderr] 24 | | let listener = TcpListener::bind(format!("127.0.0.1:{}", PORT)).unwrap(); [INFO] [stderr] 25 | | [INFO] [stderr] 26 | | InspectSystem { [INFO] [stderr] ... | [INFO] [stderr] 29 | | } [INFO] [stderr] 30 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | impl Default for application::ins::InspectSystem { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: Could not compile `crayon`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/application/ins.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | stream.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/application/sys/glutin.rs:8:14 [INFO] [stderr] | [INFO] [stderr] 8 | let ms = duration.subsec_millis() as u64 + duration.as_secs() * 1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(duration.subsec_millis())` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/application/engine.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | / if let &Event::Window(WindowEvent::Closed) = v { [INFO] [stderr] 27 | | *self.alive.lock().unwrap() = false; [INFO] [stderr] 28 | | } [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] 26 | if let Event::Window(WindowEvent::Closed) = *v { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | *self.alive.lock().unwrap() = false; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | alive: Mutex::new(true), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:86:20 [INFO] [stderr] | [INFO] [stderr] 86 | alive: Mutex::new(false), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:100:10 [INFO] [stderr] | [INFO] [stderr] 100 | *self.state.alive.lock().unwrap() = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: Consider using an AtomicBool instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/application/engine.rs:144:29 [INFO] [stderr] | [INFO] [stderr] 144 | Ok(*state.alive.lock().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/application/launcher.rs:18:22 [INFO] [stderr] | [INFO] [stderr] 18 | let wrapper: Box FnMut(&'r T1) -> Result + Send> = Box::new(move |r| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/application/launcher.rs:32:14 [INFO] [stderr] | [INFO] [stderr] 32 | NotReady(Box FnMut(&'r T1) -> Result + Send>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [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/application/launcher.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / match self.state { [INFO] [stderr] 39 | | LaunchState::Ok(lis) => { [INFO] [stderr] 40 | | crate::application::detach(lis); [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | _ => {} [INFO] [stderr] 43 | | } [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] 38 | if let LaunchState::Ok(lis) = self.state { [INFO] [stderr] 39 | crate::application::detach(lis); [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/application/mod.rs:158:11 [INFO] [stderr] | [INFO] [stderr] 158 | CTX = 0 as *const EngineSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/application/mod.rs:161:16 [INFO] [stderr] | [INFO] [stderr] 161 | TIME_CTX = 0 as *const TimeSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/application/mod.rs:164:21 [INFO] [stderr] | [INFO] [stderr] 164 | LIFECYCLE_CTX = 0 as *const LifecycleSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/video/assets/texture.rs:39:16 [INFO] [stderr] | [INFO] [stderr] 39 | if buf.bytes.len() > 0 && buf.bytes[0].len() > len as usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.bytes.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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:144:21 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn is_color(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn size(&self, dimensions: Vector2) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:200:23 [INFO] [stderr] | [INFO] [stderr] 200 | pub fn components(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:226:17 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn size(&self, dimensions: Vector2) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/texture.rs:252:23 [INFO] [stderr] | [INFO] [stderr] 252 | pub fn compressed(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'V' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'T' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'E' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:38 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'X' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/texture_loader.rs:13:49 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'T' as u8, 'E' as u8, 'X' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/video/assets/texture_loader.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | if &bytes[0..8] != &MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 33 | if bytes[0..8] != MAGIC[..] { [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/video/assets/mesh.rs:127:21 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn assemble(&self, indices: u32) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/mesh.rs:137:31 [INFO] [stderr] | [INFO] [stderr] 137 | pub fn assemble_triangles(&self, indices: u32) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/assets/mesh.rs:156:19 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn stride(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'V' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:16 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'M' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'S' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:38 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'H' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/video/assets/mesh_loader.rs:13:49 [INFO] [stderr] | [INFO] [stderr] 13 | 'V' as u8, 'M' as u8, 'S' as u8, 'H' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/video/assets/mesh_loader.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | if &bytes[0..8] != &MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 33 | if bytes[0..8] != MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `video::command::CommandBuffer` [INFO] [stderr] --> src/video/command.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> Self { [INFO] [stderr] 19 | | CommandBuffer { [INFO] [stderr] 20 | | cmds: Vec::with_capacity(32), [INFO] [stderr] 21 | | bufs: DataBuffer::with_capacity(512), [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `video::command::DrawCommandBuffer` [INFO] [stderr] --> src/video/command.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn new() -> Self { [INFO] [stderr] 129 | | DrawCommandBuffer { [INFO] [stderr] 130 | | cmds: Vec::with_capacity(32), [INFO] [stderr] 131 | | bufs: DataBuffer::with_capacity(512), [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 121 | #[derive(Default)] [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/video/command.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | / match v { [INFO] [stderr] 156 | | (_, Command::Draw(shader, mesh, mesh_index, ptr)) => { [INFO] [stderr] 157 | | let vars = self.bufs.as_slice(ptr); [INFO] [stderr] 158 | | let ptr = frame.bufs.extend_from_slice(vars); [INFO] [stderr] ... | [INFO] [stderr] 163 | | _ => {} [INFO] [stderr] 164 | | } [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] 155 | if let (_, Command::Draw(shader, mesh, mesh_index, ptr)) = v { [INFO] [stderr] 156 | let vars = self.bufs.as_slice(ptr); [INFO] [stderr] 157 | let ptr = frame.bufs.extend_from_slice(vars); [INFO] [stderr] 158 | let cmd = Command::Draw(shader, mesh, mesh_index, ptr); [INFO] [stderr] 159 | frame.cmds.push(cmd); [INFO] [stderr] 160 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/system.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | let handle = self.state.surfaces.write().unwrap().create(params).into(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.state.surfaces.write().unwrap().create(params)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: large size difference between variants [INFO] [stderr] --> src/video/backends/frame.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | CreateMesh(MeshHandle, MeshParams, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/video/backends/frame.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | CreateMesh(MeshHandle, MeshParams, Option), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/video/backends/gl/types.rs:166:23 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn is_support(&self, capabilities: &Capabilities) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/video/backends/gl/visitor.rs:894:12 [INFO] [stderr] | [INFO] [stderr] 894 | if self.state.cleared_surfaces.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.state.cleared_surfaces.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: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1228:21 [INFO] [stderr] | [INFO] [stderr] 1228 | GLint::from(position.x), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `position.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1229:21 [INFO] [stderr] | [INFO] [stderr] 1229 | GLint::from(position.y), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `position.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1244:17 [INFO] [stderr] | [INFO] [stderr] 1244 | GLint::from(vp.position.x), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `vp.position.x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/video/backends/gl/visitor.rs:1245:17 [INFO] [stderr] | [INFO] [stderr] 1245 | GLint::from(vp.position.y), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `GLint::from()`: `vp.position.y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/video/mod.rs:248:11 [INFO] [stderr] | [INFO] [stderr] 248 | CTX = 0 as *const VideoSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/input/keyboard.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | / if !self.downs.contains_key(&key) { [INFO] [stderr] 247 | | self.presses.insert(key); [INFO] [stderr] 248 | | self.downs.insert(key, KeyDownState::Start(self.now)); [INFO] [stderr] 249 | | } [INFO] [stderr] | |_________^ help: consider using: `self.downs.entry(key)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/input/system.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | / if let &Event::InputDevice(v) = v { [INFO] [stderr] 33 | | match v { [INFO] [stderr] 34 | | InputEvent::MouseMoved { position } => { [INFO] [stderr] 35 | | if self.touch_emulation_button.read().unwrap().is_some() { [INFO] [stderr] ... | [INFO] [stderr] 96 | | } [INFO] [stderr] 97 | | } [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] 32 | if let Event::InputDevice(v) = *v { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^ [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/input/mod.rs:220:11 [INFO] [stderr] | [INFO] [stderr] 220 | CTX = 0 as *const InputSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'M' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:16 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'N' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:27 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'F' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:38 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'T' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/res/manifest.rs:14:49 [INFO] [stderr] | [INFO] [stderr] 14 | 'M' as u8, 'N' as u8, 'F' as u8, 'T' as u8, ' ' as u8, 0, 0, 1, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b' ' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::manifest::Manifest` [INFO] [stderr] --> src/res/manifest.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> Self { [INFO] [stderr] 27 | | Manifest { [INFO] [stderr] 28 | | items: Vec::new(), [INFO] [stderr] 29 | | buf: DataBuffer::with_capacity(0), [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/res/manifest.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | if &buf[0..8] != &MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 38 | if buf[0..8] != MAGIC[..] { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::manifest::ManfiestResolver` [INFO] [stderr] --> src/res/manifest.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | / pub fn new() -> Self { [INFO] [stderr] 63 | | ManfiestResolver { [INFO] [stderr] 64 | | manifests: Vec::new(), [INFO] [stderr] 65 | | manifest_prefixs: Vec::new(), [INFO] [stderr] ... | [INFO] [stderr] 68 | | } [INFO] [stderr] 69 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/res/request.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / match self { [INFO] [stderr] 61 | | &Request::Ok(ref rsp) => Some(rsp), [INFO] [stderr] 62 | | _ => None, [INFO] [stderr] 63 | | } [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] 60 | match *self { [INFO] [stderr] 61 | Request::Ok(ref rsp) => Some(rsp), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/res/request.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | last_frame_tasks: Mutex)>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/res/request.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 79 | tasks: Mutex)>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::request::RequestQueue` [INFO] [stderr] --> src/res/request.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / pub fn new() -> Self { [INFO] [stderr] 85 | | RequestQueue { [INFO] [stderr] 86 | | last_frame_tasks: Mutex::new(Vec::new()), [INFO] [stderr] 87 | | tasks: Mutex::new(Vec::new()), [INFO] [stderr] 88 | | idxes: Mutex::new(Vec::new()), [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::shortcut::ShortcutResolver` [INFO] [stderr] --> src/res/shortcut.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn new() -> Self { [INFO] [stderr] 16 | | ShortcutResolver { [INFO] [stderr] 17 | | registry: FastHashMap::default(), [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/res/shortcut.rs:64:81 [INFO] [stderr] | [INFO] [stderr] 64 | if let Some(fullname) = self.registry.get(dst.get_unchecked(0..index + 1)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=index` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/res/shortcut.rs:65:43 [INFO] [stderr] | [INFO] [stderr] 65 | dst.replace_range(0..index + 1, fullname); [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `0..=index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/res/utils/pool.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | e.rc <= 0 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using e.rc == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::vfs::dir::Dir` [INFO] [stderr] --> src/res/vfs/dir.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn new() -> Self { [INFO] [stderr] 16 | | Dir {} [INFO] [stderr] 17 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | #[derive(Default)] [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/res/vfs/dir.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | fn load_from(&self, location: &str) -> Response { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `res::vfs::SchemaResolver` [INFO] [stderr] --> src/res/vfs/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | SchemaResolver { [INFO] [stderr] 26 | | schemas: FastHashMap::default(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 19 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/res/mod.rs:136:11 [INFO] [stderr] | [INFO] [stderr] 136 | CTX = 0 as *const ResourceSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sched::latch::SpinLatch` [INFO] [stderr] --> src/sched/latch.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | / pub fn new() -> SpinLatch { [INFO] [stderr] 50 | | SpinLatch { [INFO] [stderr] 51 | | b: AtomicBool::new(false), [INFO] [stderr] 52 | | } [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 43 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sched::latch::LockLatch` [INFO] [stderr] --> src/sched/latch.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | / pub fn new() -> LockLatch { [INFO] [stderr] 80 | | LockLatch { [INFO] [stderr] 81 | | m: Mutex::new(None), [INFO] [stderr] 82 | | v: Condvar::new(), [INFO] [stderr] 83 | | } [INFO] [stderr] 84 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 72 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sched::latch::CountLatch` [INFO] [stderr] --> src/sched/latch.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | / pub fn new() -> CountLatch { [INFO] [stderr] 140 | | CountLatch { [INFO] [stderr] 141 | | counter: AtomicUsize::new(1), [INFO] [stderr] 142 | | } [INFO] [stderr] 143 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 133 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/sched/job.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | pub unsafe fn as_job_ref(self: Box) -> JobRef { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/sched/scheduler.rs:259:19 [INFO] [stderr] | [INFO] [stderr] 259 | Cell::new(0 as *const WorkerThread) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/sched/mod.rs:40:11 [INFO] [stderr] | [INFO] [stderr] 40 | CTX = 0 as *const SchedulerSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/window/backends/glutin/visitor.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | params.size.x as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(params.size.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/window/backends/glutin/visitor.rs:24:17 [INFO] [stderr] | [INFO] [stderr] 24 | params.size.y as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(params.size.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/window/backends/glutin/visitor.rs:86:51 [INFO] [stderr] | [INFO] [stderr] 86 | let size = glutin::dpi::PhysicalSize::new(dimensions.x as f64, dimensions.y as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(dimensions.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/window/backends/glutin/visitor.rs:86:72 [INFO] [stderr] | [INFO] [stderr] 86 | let size = glutin::dpi::PhysicalSize::new(dimensions.x as f64, dimensions.y as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(dimensions.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: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/window/mod.rs:72:11 [INFO] [stderr] | [INFO] [stderr] 72 | CTX = 0 as *const WindowSystem; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `crayon`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "145fb6e3f52092b3a1bb66a70061d66da0c44c1241660cdbd599c68acbdc365c"` [INFO] running `"docker" "rm" "-f" "145fb6e3f52092b3a1bb66a70061d66da0c44c1241660cdbd599c68acbdc365c"` [INFO] [stdout] 145fb6e3f52092b3a1bb66a70061d66da0c44c1241660cdbd599c68acbdc365c