[INFO] updating cached repository sdonnan/pathvis-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sdonnan/pathvis-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sdonnan/pathvis-rs" "work/ex/clippy-test-run/sources/stable/gh/sdonnan/pathvis-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sdonnan/pathvis-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sdonnan/pathvis-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sdonnan/pathvis-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sdonnan/pathvis-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 18082bd7f75f305b654a60c1f63fe64f8d2474f5 [INFO] sha for GitHub repo sdonnan/pathvis-rs: 18082bd7f75f305b654a60c1f63fe64f8d2474f5 [INFO] validating manifest of sdonnan/pathvis-rs 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 sdonnan/pathvis-rs 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 sdonnan/pathvis-rs [INFO] finished frobbing sdonnan/pathvis-rs [INFO] frobbed toml for sdonnan/pathvis-rs written to work/ex/clippy-test-run/sources/stable/gh/sdonnan/pathvis-rs/Cargo.toml [INFO] started frobbing sdonnan/pathvis-rs [INFO] finished frobbing sdonnan/pathvis-rs [INFO] frobbed toml for sdonnan/pathvis-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sdonnan/pathvis-rs/Cargo.toml [INFO] crate sdonnan/pathvis-rs has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting sdonnan/pathvis-rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/sdonnan/pathvis-rs:/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] 64d2aeaf733d1596392e8c92ad1c3cf5b8365df18355bc3fb31cf4b11fc173f0 [INFO] running `"docker" "start" "-a" "64d2aeaf733d1596392e8c92ad1c3cf5b8365df18355bc3fb31cf4b11fc173f0"` [INFO] [stderr] Compiling x11-dl v2.18.3 [INFO] [stderr] Checking stb_truetype v0.2.2 [INFO] [stderr] Checking deflate v0.7.18 [INFO] [stderr] Compiling quote v0.6.5 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking ordered-float v0.5.0 [INFO] [stderr] Compiling glutin v0.14.0 [INFO] [stderr] Checking wayland-sys v0.12.5 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling syn v0.14.7 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking rusttype v0.4.3 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking wayland-client v0.12.5 [INFO] [stderr] Checking rayon-core v1.4.1 [INFO] [stderr] Checking rayon v1.0.2 [INFO] [stderr] Checking piston2d-graphics v0.26.0 [INFO] [stderr] Checking wayland-protocols v0.12.5 [INFO] [stderr] Checking wayland-kbd v0.13.1 [INFO] [stderr] Compiling serde_derive v1.0.70 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking wayland-window v0.13.3 [INFO] [stderr] Checking winit v0.12.0 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking pistoncore-input v0.21.0 [INFO] [stderr] Checking piston2d-opengl_graphics v0.53.0 [INFO] [stderr] Checking pistoncore-window v0.32.0 [INFO] [stderr] Checking pistoncore-event_loop v0.37.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.47.0 [INFO] [stderr] Checking piston v0.37.0 [INFO] [stderr] Checking pathvis-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/planning/astar.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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: using `println!("")` [INFO] [stderr] --> src/planning/astar.rs:352:13 [INFO] [stderr] | [INFO] [stderr] 352 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/planning/world.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | strat: strat, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `strat` [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/planning/world.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/planning/world.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/planning/world.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/planning/world.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 171 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/planning/world.rs:172:21 [INFO] [stderr] | [INFO] [stderr] 172 | cells: cells, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cells` [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/world_view.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | settings: settings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `settings` [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/planning/astar.rs:121:13 [INFO] [stderr] | [INFO] [stderr] 121 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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: using `println!("")` [INFO] [stderr] --> src/planning/astar.rs:352:13 [INFO] [stderr] | [INFO] [stderr] 352 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/planning/world.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | strat: strat, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `strat` [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/planning/world.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/planning/world.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/planning/world.rs:170:21 [INFO] [stderr] | [INFO] [stderr] 170 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/planning/world.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 171 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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/planning/world.rs:172:21 [INFO] [stderr] | [INFO] [stderr] 172 | cells: cells, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cells` [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/world_view.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | settings: settings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `settings` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:181:32 [INFO] [stderr] | [INFO] [stderr] 181 | Cell::Visited { g, h:_, k:_, parent:_ } => g, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | Cell::Visited { g, h:_, k:_, parent:_ } => g, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:181:42 [INFO] [stderr] | [INFO] [stderr] 181 | Cell::Visited { g, h:_, k:_, parent:_ } => g, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:220:40 [INFO] [stderr] | [INFO] [stderr] 220 | Cell::Visited { g, h:_, k:_, parent:_ } => [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:220:45 [INFO] [stderr] | [INFO] [stderr] 220 | Cell::Visited { g, h:_, k:_, parent:_ } => [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:220:50 [INFO] [stderr] | [INFO] [stderr] 220 | Cell::Visited { g, h:_, k:_, parent:_ } => [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:280:47 [INFO] [stderr] | [INFO] [stderr] 280 | if let Some(Cell::Visited{g:_,h:_,k:_,parent}) = self.world.cell(prev_id) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:280:51 [INFO] [stderr] | [INFO] [stderr] 280 | if let Some(Cell::Visited{g:_,h:_,k:_,parent}) = self.world.cell(prev_id) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:280:55 [INFO] [stderr] | [INFO] [stderr] 280 | if let Some(Cell::Visited{g:_,h:_,k:_,parent}) = self.world.cell(prev_id) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { parent, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/world.rs:21:35 [INFO] [stderr] | [INFO] [stderr] 21 | Cell::Visited { g, h, k: _, parent } => [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g, h, parent, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/planning/world.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | Cell::Visited { g: _, h: _, k: _, parent: _ } => {*self = Cell::Open}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:20:32 [INFO] [stderr] | [INFO] [stderr] 20 | AppState::Config { cfg: _, world } => &world, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { world, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:27:37 [INFO] [stderr] | [INFO] [stderr] 27 | AppState::Config { cfg, world: _ } => cfg.goal, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { cfg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:34:37 [INFO] [stderr] | [INFO] [stderr] 34 | AppState::Config { cfg, world: _ } => cfg.start, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { cfg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unused import: `Key` [INFO] [stderr] --> src/world_controller.rs:75:37 [INFO] [stderr] | [INFO] [stderr] 75 | use piston::input::{Button, Key, MouseButton}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:122:40 [INFO] [stderr] | [INFO] [stderr] 122 | AppState::Config { cfg: _, world} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { world, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_view.rs:289:64 [INFO] [stderr] | [INFO] [stderr] 289 | if let Cell::Visited{g: goalcost, h: heurcost, k: _, parent} = cell { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g: goalcost, h: heurcost, parent, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_view.rs:339:79 [INFO] [stderr] | [INFO] [stderr] 339 | let cost = if let Cell::Visited{g: goalcost, h: heurcost, k: _, parent:_} = [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_view.rs:339:85 [INFO] [stderr] | [INFO] [stderr] 339 | let cost = if let Cell::Visited{g: goalcost, h: heurcost, k: _, parent:_} = [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g: goalcost, h: heurcost, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:181:32 [INFO] [stderr] | [INFO] [stderr] 181 | Cell::Visited { g, h:_, k:_, parent:_ } => g, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | Cell::Visited { g, h:_, k:_, parent:_ } => g, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:181:42 [INFO] [stderr] | [INFO] [stderr] 181 | Cell::Visited { g, h:_, k:_, parent:_ } => g, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:220:40 [INFO] [stderr] | [INFO] [stderr] 220 | Cell::Visited { g, h:_, k:_, parent:_ } => [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:220:45 [INFO] [stderr] | [INFO] [stderr] 220 | Cell::Visited { g, h:_, k:_, parent:_ } => [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:220:50 [INFO] [stderr] | [INFO] [stderr] 220 | Cell::Visited { g, h:_, k:_, parent:_ } => [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:280:47 [INFO] [stderr] | [INFO] [stderr] 280 | if let Some(Cell::Visited{g:_,h:_,k:_,parent}) = self.world.cell(prev_id) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:280:51 [INFO] [stderr] | [INFO] [stderr] 280 | if let Some(Cell::Visited{g:_,h:_,k:_,parent}) = self.world.cell(prev_id) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/astar.rs:280:55 [INFO] [stderr] | [INFO] [stderr] 280 | if let Some(Cell::Visited{g:_,h:_,k:_,parent}) = self.world.cell(prev_id) { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { parent, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/planning/world.rs:21:35 [INFO] [stderr] | [INFO] [stderr] 21 | Cell::Visited { g, h, k: _, parent } => [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g, h, parent, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/planning/world.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | Cell::Visited { g: _, h: _, k: _, parent: _ } => {*self = Cell::Open}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { .. }` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:20:32 [INFO] [stderr] | [INFO] [stderr] 20 | AppState::Config { cfg: _, world } => &world, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { world, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:27:37 [INFO] [stderr] | [INFO] [stderr] 27 | AppState::Config { cfg, world: _ } => cfg.goal, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { cfg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:34:37 [INFO] [stderr] | [INFO] [stderr] 34 | AppState::Config { cfg, world: _ } => cfg.start, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { cfg, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unused import: `Key` [INFO] [stderr] --> src/world_controller.rs:75:37 [INFO] [stderr] | [INFO] [stderr] 75 | use piston::input::{Button, Key, MouseButton}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_controller.rs:122:40 [INFO] [stderr] | [INFO] [stderr] 122 | AppState::Config { cfg: _, world} => { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Config { world, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_view.rs:289:64 [INFO] [stderr] | [INFO] [stderr] 289 | if let Cell::Visited{g: goalcost, h: heurcost, k: _, parent} = cell { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g: goalcost, h: heurcost, parent, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_view.rs:339:79 [INFO] [stderr] | [INFO] [stderr] 339 | let cost = if let Cell::Visited{g: goalcost, h: heurcost, k: _, parent:_} = [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/world_view.rs:339:85 [INFO] [stderr] | [INFO] [stderr] 339 | let cost = if let Cell::Visited{g: goalcost, h: heurcost, k: _, parent:_} = [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Visited { g: goalcost, h: heurcost, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ind` [INFO] [stderr] --> src/world_controller.rs:192:25 [INFO] [stderr] | [INFO] [stderr] 192 | if let Some(ind) = self.selected_cell { [INFO] [stderr] | ^^^ help: consider using `_ind` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `planning::astar::AStarCfg` [INFO] [stderr] --> src/planning/astar.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new() -> AStarCfg { [INFO] [stderr] 31 | | AStarCfg { [INFO] [stderr] 32 | | neighbors: Neighbors::Cardinal, [INFO] [stderr] 33 | | heuristic: None, [INFO] [stderr] ... | [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [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] 28 | impl Default for planning::astar::AStarCfg { [INFO] [stderr] 29 | fn default() -> Self { [INFO] [stderr] 30 | Self::new() [INFO] [stderr] 31 | } [INFO] [stderr] 32 | } [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/planning/world.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match self { [INFO] [stderr] 30 | | Cell::Visited { g: _, h: _, k: _, parent: _ } => {*self = Cell::Open}, [INFO] [stderr] 31 | | _ => {} [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ help: try this: `if let Cell::Visited { g: _, h: _, k: _, parent: _ } = self {*self = Cell::Open}` [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] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/planning/world.rs:208:18 [INFO] [stderr] | [INFO] [stderr] 208 | Some(self.cells.get_mut(id).unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.cells[id]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/planning/world.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | Some(self.cells.get(id).unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.cells[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/world_controller.rs:153:40 [INFO] [stderr] | [INFO] [stderr] 153 | if let Ok(_) = cfg.valid_for(&world) { [INFO] [stderr] | _________________________________- ^^^^^ [INFO] [stderr] 154 | | toggle_state = true; [INFO] [stderr] 155 | | } [INFO] [stderr] | |_________________________________- help: try this: `if cfg.valid_for(&world).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world_view::WorldViewSettings` [INFO] [stderr] --> src/world_view.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> WorldViewSettings { [INFO] [stderr] 36 | | WorldViewSettings { [INFO] [stderr] 37 | | position: [10.0; 2], [INFO] [stderr] 38 | | size: 600.0, [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / text_image.draw(text, [INFO] [stderr] 97 | | glyphs, [INFO] [stderr] 98 | | &c.draw_state, [INFO] [stderr] 99 | | c.transform.trans(x + 10.0, y + 0.5 * (sy + self.settings.font_size as f64)), [INFO] [stderr] 100 | | g); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:99:69 [INFO] [stderr] | [INFO] [stderr] 99 | c.transform.trans(x + 10.0, y + 0.5 * (sy + self.settings.font_size as f64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | / text_image.draw(text, [INFO] [stderr] 118 | | glyphs, [INFO] [stderr] 119 | | &c.draw_state, [INFO] [stderr] 120 | | c.transform.trans(x, y), [INFO] [stderr] 121 | | g); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/world_view.rs:124:5 [INFO] [stderr] | [INFO] [stderr] 124 | / fn write_cell( [INFO] [stderr] 125 | | &self, [INFO] [stderr] 126 | | cell_size: f64, [INFO] [stderr] 127 | | cell: (usize, usize), [INFO] [stderr] ... | [INFO] [stderr] 146 | | g); [INFO] [stderr] 147 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:139:43 [INFO] [stderr] | [INFO] [stderr] 139 | j as f64 * cell_size + self.settings.font_size as f64 + pos.1]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | / text_image.draw(text, [INFO] [stderr] 142 | | glyphs, [INFO] [stderr] 143 | | &c.draw_state, [INFO] [stderr] 144 | | c.transform.trans(pos[0] + self.settings.position[0], [INFO] [stderr] 145 | | pos[1] + self.settings.position[1]), [INFO] [stderr] 146 | | g); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/world_view.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | / pub fn draw( [INFO] [stderr] 151 | | &self, [INFO] [stderr] 152 | | controller: &WorldController, [INFO] [stderr] 153 | | glyphs: &mut C, [INFO] [stderr] ... | [INFO] [stderr] 382 | | } [INFO] [stderr] 383 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/world_view.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let ref settings = self.settings; [INFO] [stderr] | ----^^^^^^^^^^^^----------------- help: try: `let settings = &self.settings;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:175:31 [INFO] [stderr] | [INFO] [stderr] 175 | let pos = [ 0.0 - self.settings.font_size as f64, j as f64 * cell_size + (self.settings.font_size*2) as f64]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size)` [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/world_view.rs:175:86 [INFO] [stderr] | [INFO] [stderr] 175 | let pos = [ 0.0 - self.settings.font_size as f64, j as f64 * cell_size + (self.settings.font_size*2) as f64]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size*2)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:177:13 [INFO] [stderr] | [INFO] [stderr] 177 | / text_image.draw(&format!("{}",j), [INFO] [stderr] 178 | | glyphs, [INFO] [stderr] 179 | | &c.draw_state, [INFO] [stderr] 180 | | c.transform.trans(pos[0] + self.settings.position[0], [INFO] [stderr] 181 | | pos[1] + self.settings.position[1]), [INFO] [stderr] 182 | | g); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:185:48 [INFO] [stderr] | [INFO] [stderr] 185 | let pos = [ j as f64 * cell_size + (self.settings.font_size*2) as f64, 0.0 - self.settings.board_edge_radius * 2.0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size*2)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | / text_image.draw(&format!("{}",j), [INFO] [stderr] 188 | | glyphs, [INFO] [stderr] 189 | | &c.draw_state, [INFO] [stderr] 190 | | c.transform.trans(pos[0] + self.settings.position[0], [INFO] [stderr] 191 | | pos[1] + self.settings.position[1]), [INFO] [stderr] 192 | | g); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:218:72 [INFO] [stderr] | [INFO] [stderr] 218 | self.write_cell(cell_size, (i,j), (cell_size - settings.font_size as f64,0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size)` [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/world_view.rs:225:72 [INFO] [stderr] | [INFO] [stderr] 225 | self.write_cell(cell_size, (i,j), (cell_size - settings.font_size as f64,0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size)` [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/world_view.rs:290:61 [INFO] [stderr] | [INFO] [stderr] 290 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 0) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size * 0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: this operation will always return zero. This is likely not the intended outcome [INFO] [stderr] --> src/world_view.rs:290:61 [INFO] [stderr] | [INFO] [stderr] 290 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 0) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::erasing_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#erasing_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:292:61 [INFO] [stderr] | [INFO] [stderr] 292 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 1) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size * 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `settings.font_size` [INFO] [stderr] --> src/world_view.rs:292:61 [INFO] [stderr] | [INFO] [stderr] 292 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 1) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:294:61 [INFO] [stderr] | [INFO] [stderr] 294 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 2) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size * 2)` [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: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/world_view.rs:325:24 [INFO] [stderr] | [INFO] [stderr] 325 | if let Ok(_) = cfg.valid_for(&world) { [INFO] [stderr] | _________________- ^^^^^ [INFO] [stderr] 326 | | labels.push("Start".to_string()); [INFO] [stderr] 327 | | message = message + "Right click to reset Start and Goal."; [INFO] [stderr] 328 | | } else { [INFO] [stderr] 329 | | message = message + "Right click to set Start and Goal."; [INFO] [stderr] 330 | | } [INFO] [stderr] | |_________________- help: try this: `if cfg.valid_for(&world).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/world_view.rs:327:21 [INFO] [stderr] | [INFO] [stderr] 327 | message = message + "Right click to reset Start and Goal."; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message += "Right click to reset Start and Goal."` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/world_view.rs:329:21 [INFO] [stderr] | [INFO] [stderr] 329 | message = message + "Right click to set Start and Goal."; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message += "Right click to set Start and Goal."` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/world_view.rs:352:28 [INFO] [stderr] | [INFO] [stderr] 352 | for idx in 1..(fview.len()+1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `1..=fview.len()` [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: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/world_view.rs:353:38 [INFO] [stderr] | [INFO] [stderr] 353 | let (id, cost) = fview.get(fview.len() - idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `fview[fview.len() - idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:375:52 [INFO] [stderr] | [INFO] [stderr] 375 | self.draw_label((settings.size + 10.0, index as f64 * cell_size), (cell_size * 3.0, cell_size), &label, glyphs, c, g); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(index)` [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/world_view.rs:378:22 [INFO] [stderr] | [INFO] [stderr] 378 | let offset = index as f64 * cell_size; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(index)` [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/world_view.rs:380:56 [INFO] [stderr] | [INFO] [stderr] 380 | self.write_anywhere((settings.size + 10.0, (index * self.settings.font_size) as f64 + offset), &stat, glyphs, c, g); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(index * self.settings.font_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:47:32 [INFO] [stderr] | [INFO] [stderr] 47 | world_view_settings.size = (pts_per_cell * world_side_len) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pts_per_cell * world_side_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:48:38 [INFO] [stderr] | [INFO] [stderr] 48 | world_view_settings.font_size = (pts_per_cell as f64 / 4.0) as u32; // imperically determined ratio [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pts_per_cell)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:49:37 [INFO] [stderr] | [INFO] [stderr] 49 | world_view_settings.position = [(pts_per_cell/2) as f64; 2]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pts_per_cell/2)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let ref mut glyphs = GlyphCache::new("assets/FiraSans-Regular.ttf", (), texture_settings) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 52 | let glyphs = &mut GlyphCache::new("assets/FiraSans-Regular.ttf", (), texture_settings) [INFO] [stderr] 53 | .expect("Could not load font"); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `pathvis-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused variable: `ind` [INFO] [stderr] --> src/world_controller.rs:192:25 [INFO] [stderr] | [INFO] [stderr] 192 | if let Some(ind) = self.selected_cell { [INFO] [stderr] | ^^^ help: consider using `_ind` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `planning::astar::AStarCfg` [INFO] [stderr] --> src/planning/astar.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new() -> AStarCfg { [INFO] [stderr] 31 | | AStarCfg { [INFO] [stderr] 32 | | neighbors: Neighbors::Cardinal, [INFO] [stderr] 33 | | heuristic: None, [INFO] [stderr] ... | [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [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] 28 | impl Default for planning::astar::AStarCfg { [INFO] [stderr] 29 | fn default() -> Self { [INFO] [stderr] 30 | Self::new() [INFO] [stderr] 31 | } [INFO] [stderr] 32 | } [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/planning/world.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | / match self { [INFO] [stderr] 30 | | Cell::Visited { g: _, h: _, k: _, parent: _ } => {*self = Cell::Open}, [INFO] [stderr] 31 | | _ => {} [INFO] [stderr] 32 | | } [INFO] [stderr] | |_________^ help: try this: `if let Cell::Visited { g: _, h: _, k: _, parent: _ } = self {*self = Cell::Open}` [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] [INFO] [stderr] warning: called `.get_mut().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/planning/world.rs:208:18 [INFO] [stderr] | [INFO] [stderr] 208 | Some(self.cells.get_mut(id).unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.cells[id]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/planning/world.rs:218:18 [INFO] [stderr] | [INFO] [stderr] 218 | Some(self.cells.get(id).unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `self.cells[id]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/planning/world.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | / fn neighbor_iter_all() { [INFO] [stderr] 278 | | let mut ni = NeighborIter::new(1,1,Neighbors::CardinalAndDiagonal); [INFO] [stderr] 279 | | assert_eq!(ni.next().unwrap(), (2,1)); [INFO] [stderr] 280 | | assert_eq!(ni.next().unwrap(), (2,2)); [INFO] [stderr] ... | [INFO] [stderr] 309 | | assert_eq!(ni.next(), None); [INFO] [stderr] 310 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/world_controller.rs:153:40 [INFO] [stderr] | [INFO] [stderr] 153 | if let Ok(_) = cfg.valid_for(&world) { [INFO] [stderr] | _________________________________- ^^^^^ [INFO] [stderr] 154 | | toggle_state = true; [INFO] [stderr] 155 | | } [INFO] [stderr] | |_________________________________- help: try this: `if cfg.valid_for(&world).is_ok()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world_view::WorldViewSettings` [INFO] [stderr] --> src/world_view.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> WorldViewSettings { [INFO] [stderr] 36 | | WorldViewSettings { [INFO] [stderr] 37 | | position: [10.0; 2], [INFO] [stderr] 38 | | size: 600.0, [INFO] [stderr] ... | [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / text_image.draw(text, [INFO] [stderr] 97 | | glyphs, [INFO] [stderr] 98 | | &c.draw_state, [INFO] [stderr] 99 | | c.transform.trans(x + 10.0, y + 0.5 * (sy + self.settings.font_size as f64)), [INFO] [stderr] 100 | | g); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:99:69 [INFO] [stderr] | [INFO] [stderr] 99 | c.transform.trans(x + 10.0, y + 0.5 * (sy + self.settings.font_size as f64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | / text_image.draw(text, [INFO] [stderr] 118 | | glyphs, [INFO] [stderr] 119 | | &c.draw_state, [INFO] [stderr] 120 | | c.transform.trans(x, y), [INFO] [stderr] 121 | | g); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/world_view.rs:124:5 [INFO] [stderr] | [INFO] [stderr] 124 | / fn write_cell( [INFO] [stderr] 125 | | &self, [INFO] [stderr] 126 | | cell_size: f64, [INFO] [stderr] 127 | | cell: (usize, usize), [INFO] [stderr] ... | [INFO] [stderr] 146 | | g); [INFO] [stderr] 147 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:139:43 [INFO] [stderr] | [INFO] [stderr] 139 | j as f64 * cell_size + self.settings.font_size as f64 + pos.1]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | / text_image.draw(text, [INFO] [stderr] 142 | | glyphs, [INFO] [stderr] 143 | | &c.draw_state, [INFO] [stderr] 144 | | c.transform.trans(pos[0] + self.settings.position[0], [INFO] [stderr] 145 | | pos[1] + self.settings.position[1]), [INFO] [stderr] 146 | | g); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/world_view.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | / pub fn draw( [INFO] [stderr] 151 | | &self, [INFO] [stderr] 152 | | controller: &WorldController, [INFO] [stderr] 153 | | glyphs: &mut C, [INFO] [stderr] ... | [INFO] [stderr] 382 | | } [INFO] [stderr] 383 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/world_view.rs:161:13 [INFO] [stderr] | [INFO] [stderr] 161 | let ref settings = self.settings; [INFO] [stderr] | ----^^^^^^^^^^^^----------------- help: try: `let settings = &self.settings;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:175:31 [INFO] [stderr] | [INFO] [stderr] 175 | let pos = [ 0.0 - self.settings.font_size as f64, j as f64 * cell_size + (self.settings.font_size*2) as f64]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size)` [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/world_view.rs:175:86 [INFO] [stderr] | [INFO] [stderr] 175 | let pos = [ 0.0 - self.settings.font_size as f64, j as f64 * cell_size + (self.settings.font_size*2) as f64]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size*2)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:177:13 [INFO] [stderr] | [INFO] [stderr] 177 | / text_image.draw(&format!("{}",j), [INFO] [stderr] 178 | | glyphs, [INFO] [stderr] 179 | | &c.draw_state, [INFO] [stderr] 180 | | c.transform.trans(pos[0] + self.settings.position[0], [INFO] [stderr] 181 | | pos[1] + self.settings.position[1]), [INFO] [stderr] 182 | | g); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:185:48 [INFO] [stderr] | [INFO] [stderr] 185 | let pos = [ j as f64 * cell_size + (self.settings.font_size*2) as f64, 0.0 - self.settings.board_edge_radius * 2.0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.settings.font_size*2)` [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/world_view.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | / text_image.draw(&format!("{}",j), [INFO] [stderr] 188 | | glyphs, [INFO] [stderr] 189 | | &c.draw_state, [INFO] [stderr] 190 | | c.transform.trans(pos[0] + self.settings.position[0], [INFO] [stderr] 191 | | pos[1] + self.settings.position[1]), [INFO] [stderr] 192 | | g); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:218:72 [INFO] [stderr] | [INFO] [stderr] 218 | self.write_cell(cell_size, (i,j), (cell_size - settings.font_size as f64,0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size)` [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/world_view.rs:225:72 [INFO] [stderr] | [INFO] [stderr] 225 | self.write_cell(cell_size, (i,j), (cell_size - settings.font_size as f64,0.0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size)` [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/world_view.rs:290:61 [INFO] [stderr] | [INFO] [stderr] 290 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 0) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size * 0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: this operation will always return zero. This is likely not the intended outcome [INFO] [stderr] --> src/world_view.rs:290:61 [INFO] [stderr] | [INFO] [stderr] 290 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 0) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::erasing_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#erasing_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:292:61 [INFO] [stderr] | [INFO] [stderr] 292 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 1) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size * 1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `settings.font_size` [INFO] [stderr] --> src/world_view.rs:292:61 [INFO] [stderr] | [INFO] [stderr] 292 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 1) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:294:61 [INFO] [stderr] | [INFO] [stderr] 294 | self.write_cell(cell_size, (i,j), (0.0, (settings.font_size * 2) as f64), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(settings.font_size * 2)` [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: redundant pattern matching, consider using `is_ok()` [INFO] [stderr] --> src/world_view.rs:325:24 [INFO] [stderr] | [INFO] [stderr] 325 | if let Ok(_) = cfg.valid_for(&world) { [INFO] [stderr] | _________________- ^^^^^ [INFO] [stderr] 326 | | labels.push("Start".to_string()); [INFO] [stderr] 327 | | message = message + "Right click to reset Start and Goal."; [INFO] [stderr] 328 | | } else { [INFO] [stderr] 329 | | message = message + "Right click to set Start and Goal."; [INFO] [stderr] 330 | | } [INFO] [stderr] | |_________________- help: try this: `if cfg.valid_for(&world).is_ok()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/world_view.rs:327:21 [INFO] [stderr] | [INFO] [stderr] 327 | message = message + "Right click to reset Start and Goal."; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message += "Right click to reset Start and Goal."` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/world_view.rs:329:21 [INFO] [stderr] | [INFO] [stderr] 329 | message = message + "Right click to set Start and Goal."; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `message += "Right click to set Start and Goal."` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/world_view.rs:352:28 [INFO] [stderr] | [INFO] [stderr] 352 | for idx in 1..(fview.len()+1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `1..=fview.len()` [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: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/world_view.rs:353:38 [INFO] [stderr] | [INFO] [stderr] 353 | let (id, cost) = fview.get(fview.len() - idx).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `fview[fview.len() - idx]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/world_view.rs:375:52 [INFO] [stderr] | [INFO] [stderr] 375 | self.draw_label((settings.size + 10.0, index as f64 * cell_size), (cell_size * 3.0, cell_size), &label, glyphs, c, g); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(index)` [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/world_view.rs:378:22 [INFO] [stderr] | [INFO] [stderr] 378 | let offset = index as f64 * cell_size; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(index)` [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/world_view.rs:380:56 [INFO] [stderr] | [INFO] [stderr] 380 | self.write_anywhere((settings.size + 10.0, (index * self.settings.font_size) as f64 + offset), &stat, glyphs, c, g); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(index * self.settings.font_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:47:32 [INFO] [stderr] | [INFO] [stderr] 47 | world_view_settings.size = (pts_per_cell * world_side_len) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pts_per_cell * world_side_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:48:38 [INFO] [stderr] | [INFO] [stderr] 48 | world_view_settings.font_size = (pts_per_cell as f64 / 4.0) as u32; // imperically determined ratio [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pts_per_cell)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:49:37 [INFO] [stderr] | [INFO] [stderr] 49 | world_view_settings.position = [(pts_per_cell/2) as f64; 2]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(pts_per_cell/2)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | let ref mut glyphs = GlyphCache::new("assets/FiraSans-Regular.ttf", (), texture_settings) [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 52 | let glyphs = &mut GlyphCache::new("assets/FiraSans-Regular.ttf", (), texture_settings) [INFO] [stderr] 53 | .expect("Could not load font"); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `pathvis-rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "64d2aeaf733d1596392e8c92ad1c3cf5b8365df18355bc3fb31cf4b11fc173f0"` [INFO] running `"docker" "rm" "-f" "64d2aeaf733d1596392e8c92ad1c3cf5b8365df18355bc3fb31cf4b11fc173f0"` [INFO] [stdout] 64d2aeaf733d1596392e8c92ad1c3cf5b8365df18355bc3fb31cf4b11fc173f0