[INFO] crate stpsyr 0.1.0 is already in cache [INFO] extracting crate stpsyr 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/stpsyr/0.1.0 [INFO] extracting crate stpsyr 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stpsyr/0.1.0 [INFO] validating manifest of stpsyr-0.1.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 stpsyr-0.1.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 stpsyr-0.1.0 [INFO] finished frobbing stpsyr-0.1.0 [INFO] frobbed toml for stpsyr-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/stpsyr/0.1.0/Cargo.toml [INFO] started frobbing stpsyr-0.1.0 [INFO] finished frobbing stpsyr-0.1.0 [INFO] frobbed toml for stpsyr-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stpsyr/0.1.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 stpsyr-0.1.0 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/stpsyr/0.1.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 -Dclippy::into_iter_on_array" "-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] a469a6f35ab3a14875fdd0c995687e165bfb91552909f70c7dcdad6836c4deb0 [INFO] running `"docker" "start" "-a" "a469a6f35ab3a14875fdd0c995687e165bfb91552909f70c7dcdad6836c4deb0"` [INFO] [stderr] Checking stpsyr v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stpsyr/types.rs:43:33 [INFO] [stderr] | [INFO] [stderr] 43 | Province { name: s, coast: coast, from_coast: None } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `coast` [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/stpsyr/adjusts.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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/stpsyr/adjusts.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/adjusts.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | action: action [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/stpsyr/adjusts.rs:64:50 [INFO] [stderr] | [INFO] [stderr] 64 | owner: adjust.owner.clone(), unit_type: unit_type [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `unit_type` [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/stpsyr/orders.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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/stpsyr/orders.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/orders.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/stpsyr/orders.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | 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/stpsyr/retreats.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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/stpsyr/retreats.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/retreats.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | action: action [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/stpsyr/mod.rs:57:17 [INFO] [stderr] | [INFO] [stderr] 57 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | fleet_borders: fleet_borders, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fleet_borders` [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/stpsyr/mod.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | army_borders: army_borders [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `army_borders` [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/stpsyr/mod.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [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/stpsyr/types.rs:43:33 [INFO] [stderr] | [INFO] [stderr] 43 | Province { name: s, coast: coast, from_coast: None } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `coast` [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/stpsyr/adjusts.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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/stpsyr/adjusts.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/adjusts.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | action: action [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/stpsyr/adjusts.rs:64:50 [INFO] [stderr] | [INFO] [stderr] 64 | owner: adjust.owner.clone(), unit_type: unit_type [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `unit_type` [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/stpsyr/orders.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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/stpsyr/orders.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/orders.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | action: action, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/stpsyr/orders.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | 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/stpsyr/retreats.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | owner: owner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `owner` [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/stpsyr/retreats.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/retreats.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | action: action [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `action` [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/stpsyr/mod.rs:57:17 [INFO] [stderr] | [INFO] [stderr] 57 | province: province, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `province` [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/stpsyr/mod.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | fleet_borders: fleet_borders, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `fleet_borders` [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/stpsyr/mod.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | army_borders: army_borders [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `army_borders` [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/stpsyr/mod.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | map: map, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `map` [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/stpsyr/adjudicate.rs:15:57 [INFO] [stderr] | [INFO] [stderr] 15 | match order.action { Action::Move { ref to, convoyed: _ } => { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | Action::Move { to, convoyed: _ } => { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { to, .. }` [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/stpsyr/adjudicate.rs:161:57 [INFO] [stderr] | [INFO] [stderr] 161 | Action::Move { to: ref move_to, convoyed: _ } => [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { to: ref move_to, .. }` [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/stpsyr/adjudicate.rs:172:64 [INFO] [stderr] | [INFO] [stderr] 172 | Action::SupportHold { to } | Action::SupportMove { from: _, to } => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SupportMove { to, .. }` [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/stpsyr/adjudicate.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | Action::Convoy { from: _, to: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Convoy { .. }` 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/stpsyr/adjudicate.rs:193:57 [INFO] [stderr] | [INFO] [stderr] 193 | Action::Move { to: ref move_to, convoyed: _ } => { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { to: ref move_to, .. }` [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/stpsyr/adjudicate.rs:273:21 [INFO] [stderr] | [INFO] [stderr] 273 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/stpsyr/adjudicate.rs:301:21 [INFO] [stderr] | [INFO] [stderr] 301 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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/stpsyr/adjudicate.rs:318:40 [INFO] [stderr] | [INFO] [stderr] 318 | Action::Move { ref to, convoyed: _ } => *to != *province, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:352:21 [INFO] [stderr] | [INFO] [stderr] 352 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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/stpsyr/adjudicate.rs:356:36 [INFO] [stderr] | [INFO] [stderr] 356 | Action::Move { ref to, convoyed: _ } => to, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:375:21 [INFO] [stderr] | [INFO] [stderr] 375 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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/stpsyr/adjudicate.rs:389:40 [INFO] [stderr] | [INFO] [stderr] 389 | Action::Move { ref to, convoyed: _ } => *to == *province, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:414:17 [INFO] [stderr] | [INFO] [stderr] 414 | Action::Move { to: _, convoyed: _ } => {}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/stpsyr/adjudicate.rs:415:17 [INFO] [stderr] | [INFO] [stderr] 415 | Action::Convoy { from: _, to: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Convoy { .. }` 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: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/stpsyr/adjudicate.rs:431:21 [INFO] [stderr] | [INFO] [stderr] 431 | Action::Convoy { from: _, to: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Convoy { .. }` 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/stpsyr/adjusts.rs:22:64 [INFO] [stderr] | [INFO] [stderr] 22 | .filter(|&&Adjust { owner: ref o, province: ref p, action: _ }| [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Adjust { owner: ref o, province: ref p, .. }` [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/stpsyr/adjusts.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | AdjustAction::Build { unit_type: _ } => delta <= 0 || num == delta [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Build { .. }` 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/stpsyr/orders.rs:42:37 [INFO] [stderr] | [INFO] [stderr] 42 | &Action::Move { ref to, convoyed: _ } | [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/orders.rs:44:36 [INFO] [stderr] | [INFO] [stderr] 44 | &Action::SupportMove { from: _, ref to } => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SupportMove { ref to, .. }` [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: long literal lacking separators [INFO] [stderr] --> src/stpsyr/svg.rs:141:10 [INFO] [stderr] | [INFO] [stderr] 141 | (9999999f32, 9999999f32, 0f32, 0f32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `9_999_999f32` [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: long literal lacking separators [INFO] [stderr] --> src/stpsyr/svg.rs:141:22 [INFO] [stderr] | [INFO] [stderr] 141 | (9999999f32, 9999999f32, 0f32, 0f32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `9_999_999f32` [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: long literal lacking separators [INFO] [stderr] --> src/stpsyr/svg.rs:178:20 [INFO] [stderr] | [INFO] [stderr] 178 | let mut dist = 9999999f32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `9_999_999f32` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/stpsyr/adjudicate.rs:15:57 [INFO] [stderr] | [INFO] [stderr] 15 | match order.action { Action::Move { ref to, convoyed: _ } => { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | Action::Move { to, convoyed: _ } => { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { to, .. }` [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/stpsyr/adjudicate.rs:161:57 [INFO] [stderr] | [INFO] [stderr] 161 | Action::Move { to: ref move_to, convoyed: _ } => [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { to: ref move_to, .. }` [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/stpsyr/adjudicate.rs:172:64 [INFO] [stderr] | [INFO] [stderr] 172 | Action::SupportHold { to } | Action::SupportMove { from: _, to } => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SupportMove { to, .. }` [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/stpsyr/adjudicate.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | Action::Convoy { from: _, to: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Convoy { .. }` 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/stpsyr/adjudicate.rs:193:57 [INFO] [stderr] | [INFO] [stderr] 193 | Action::Move { to: ref move_to, convoyed: _ } => { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { to: ref move_to, .. }` [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/stpsyr/adjudicate.rs:273:21 [INFO] [stderr] | [INFO] [stderr] 273 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/stpsyr/adjudicate.rs:301:21 [INFO] [stderr] | [INFO] [stderr] 301 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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/stpsyr/adjudicate.rs:318:40 [INFO] [stderr] | [INFO] [stderr] 318 | Action::Move { ref to, convoyed: _ } => *to != *province, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:352:21 [INFO] [stderr] | [INFO] [stderr] 352 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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/stpsyr/adjudicate.rs:356:36 [INFO] [stderr] | [INFO] [stderr] 356 | Action::Move { ref to, convoyed: _ } => to, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:375:21 [INFO] [stderr] | [INFO] [stderr] 375 | Action::Move { to: _, convoyed: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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/stpsyr/adjudicate.rs:389:40 [INFO] [stderr] | [INFO] [stderr] 389 | Action::Move { ref to, convoyed: _ } => *to == *province, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/adjudicate.rs:414:17 [INFO] [stderr] | [INFO] [stderr] 414 | Action::Move { to: _, convoyed: _ } => {}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { .. }` 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: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/stpsyr/adjudicate.rs:415:17 [INFO] [stderr] | [INFO] [stderr] 415 | Action::Convoy { from: _, to: _ } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Convoy { .. }` 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: All the struct fields are matched to a wildcard pattern, consider using `..`. [INFO] [stderr] --> src/stpsyr/adjudicate.rs:431:21 [INFO] [stderr] | [INFO] [stderr] 431 | Action::Convoy { from: _, to: _ } => true, _ => false [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Convoy { .. }` 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/stpsyr/adjusts.rs:22:64 [INFO] [stderr] | [INFO] [stderr] 22 | .filter(|&&Adjust { owner: ref o, province: ref p, action: _ }| [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Adjust { owner: ref o, province: ref p, .. }` [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/stpsyr/adjusts.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | AdjustAction::Build { unit_type: _ } => delta <= 0 || num == delta [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Build { .. }` 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/stpsyr/orders.rs:42:37 [INFO] [stderr] | [INFO] [stderr] 42 | &Action::Move { ref to, convoyed: _ } | [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `Move { ref to, .. }` [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/stpsyr/orders.rs:44:36 [INFO] [stderr] | [INFO] [stderr] 44 | &Action::SupportMove { from: _, ref to } => { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `SupportMove { ref to, .. }` [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: long literal lacking separators [INFO] [stderr] --> src/stpsyr/svg.rs:141:10 [INFO] [stderr] | [INFO] [stderr] 141 | (9999999f32, 9999999f32, 0f32, 0f32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `9_999_999f32` [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: long literal lacking separators [INFO] [stderr] --> src/stpsyr/svg.rs:141:22 [INFO] [stderr] | [INFO] [stderr] 141 | (9999999f32, 9999999f32, 0f32, 0f32); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `9_999_999f32` [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: long literal lacking separators [INFO] [stderr] --> src/stpsyr/svg.rs:178:20 [INFO] [stderr] | [INFO] [stderr] 178 | let mut dist = 9999999f32; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `9_999_999f32` [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: variable does not need to be mutable [INFO] [stderr] --> src/stpsyr/svg.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | let mut in_file = BufReader::new(File::open("data/standard.svg")?); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/stpsyr/types.rs:67:19 [INFO] [stderr] | [INFO] [stderr] 67 | #[derive(Clone,Eq,Hash)] [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/stpsyr/types.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | / impl cmp::PartialEq for Power { [INFO] [stderr] 87 | | fn eq(&self, other: &Power) -> bool { [INFO] [stderr] 88 | | self.name.to_lowercase() == other.name.to_lowercase() [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/stpsyr/adjudicate.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | / match order.action { Action::Move { ref to, convoyed: _ } => { [INFO] [stderr] 16 | | if order.resolution { [INFO] [stderr] 17 | | // we have a successful move [INFO] [stderr] 18 | | let from_idx = self.map.iter() [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | }, _ => {} } [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] 15 | if let Action::Move { ref to, convoyed: _ } = order.action { [INFO] [stderr] 16 | if order.resolution { [INFO] [stderr] 17 | // we have a successful move [INFO] [stderr] 18 | let from_idx = self.map.iter() [INFO] [stderr] 19 | .position(|r| r.province == order.province).unwrap(); [INFO] [stderr] 20 | let to_idx = self.map.iter() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/stpsyr/adjudicate.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | if let Some(_) = to.coast { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 30 | | self.map[to_idx].province.coast = [INFO] [stderr] 31 | | self.map[to_idx].province.coast.and(to.coast); [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____________________- help: try this: `if to.coast.is_some()` [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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/stpsyr/adjudicate.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | / paths.iter().filter(|path| { [INFO] [stderr] 219 | | path.iter().skip(1).all(|&ref p| [INFO] [stderr] 220 | | // for every convoying fleet... [INFO] [stderr] 221 | | self.orders.clone().iter().any(|o| [INFO] [stderr] ... | [INFO] [stderr] 229 | | ) [INFO] [stderr] 230 | | }).map(|x|x.clone()).collect() [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 218 | paths.iter().filter(|path| { [INFO] [stderr] 219 | path.iter().skip(1).all(|&ref p| [INFO] [stderr] 220 | // for every convoying fleet... [INFO] [stderr] 221 | self.orders.clone().iter().any(|o| [INFO] [stderr] 222 | o.province == *p && match o.action { [INFO] [stderr] 223 | // ... there has to be a convoy order [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/stpsyr/adjudicate.rs:219:46 [INFO] [stderr] | [INFO] [stderr] 219 | path.iter().skip(1).all(|&ref p| [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/stpsyr/adjudicate.rs:241:22 [INFO] [stderr] | [INFO] [stderr] 241 | let region = path.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 241 | let region = &(*path.last().unwrap()).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 241 | let region = &stpsyr::types::MapRegion::clone(path.last().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/stpsyr/adjusts.rs:40:59 [INFO] [stderr] | [INFO] [stderr] 40 | region.home_power.as_ref().map_or(false, |&ref p| *p == owner) && [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/orders.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | if !convoyed && match &action { [INFO] [stderr] | _________________________^ [INFO] [stderr] 42 | | &Action::Move { ref to, convoyed: _ } | [INFO] [stderr] 43 | | &Action::SupportHold { ref to } | [INFO] [stderr] 44 | | &Action::SupportMove { from: _, ref to } => { [INFO] [stderr] ... | [INFO] [stderr] 55 | | _ => false [INFO] [stderr] 56 | | } { return; } [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: try [INFO] [stderr] | [INFO] [stderr] 41 | if !convoyed && match action { [INFO] [stderr] 42 | Action::Move { ref to, convoyed: _ } | [INFO] [stderr] 43 | Action::SupportHold { ref to } | [INFO] [stderr] 44 | Action::SupportMove { from: _, ref to } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/retreats.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | if match &action { [INFO] [stderr] | ____________^ [INFO] [stderr] 29 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 30 | | let r = self.get_region(&province).unwrap(); [INFO] [stderr] 31 | | self.contested.contains(to) || !match unit.unit_type { [INFO] [stderr] ... | [INFO] [stderr] 40 | | _ => false [INFO] [stderr] 41 | | } { return; } [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: try [INFO] [stderr] | [INFO] [stderr] 28 | if match action { [INFO] [stderr] 29 | RetreatAction::Move { ref to } => { [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/stpsyr/retreats.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / match &retreat.action { [INFO] [stderr] 65 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 66 | | if attempts.contains(to) { conflicts.insert(to); } [INFO] [stderr] 67 | | else { attempts.insert(to); } [INFO] [stderr] 68 | | }, [INFO] [stderr] 69 | | _ => {} [INFO] [stderr] 70 | | } [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] 64 | if let &RetreatAction::Move { ref to } = &retreat.action { [INFO] [stderr] 65 | if attempts.contains(to) { conflicts.insert(to); } [INFO] [stderr] 66 | else { attempts.insert(to); } [INFO] [stderr] 67 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/retreats.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / match &retreat.action { [INFO] [stderr] 65 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 66 | | if attempts.contains(to) { conflicts.insert(to); } [INFO] [stderr] 67 | | else { attempts.insert(to); } [INFO] [stderr] 68 | | }, [INFO] [stderr] 69 | | _ => {} [INFO] [stderr] 70 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 64 | match retreat.action { [INFO] [stderr] 65 | RetreatAction::Move { ref to } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/retreats.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | / match &retreat.action { [INFO] [stderr] 75 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 76 | | if !conflicts.contains(to) { [INFO] [stderr] 77 | | // process the retreat [INFO] [stderr] ... | [INFO] [stderr] 87 | | &RetreatAction::Disband => {} [INFO] [stderr] 88 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 74 | match retreat.action { [INFO] [stderr] 75 | RetreatAction::Move { ref to } => { [INFO] [stderr] 76 | if !conflicts.contains(to) { [INFO] [stderr] 77 | // process the retreat [INFO] [stderr] 78 | let from_idx = self.map.iter() [INFO] [stderr] 79 | .position(|r| r.province == retreat.province).unwrap(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/stpsyr/svg.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | let mut in_file = BufReader::new(File::open("data/standard.svg")?); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stpsyr/svg.rs:103:43 [INFO] [stderr] | [INFO] [stderr] 103 | let &(x, y) = province_centers.get(&r.province).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&province_centers[&r.province]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/stpsyr/svg.rs:177:25 [INFO] [stderr] | [INFO] [stderr] 177 | fn poly_distance(verts: &Vec<(f32, f32)>, p: (f32, f32)) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(f32, f32)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/stpsyr/types.rs:67:19 [INFO] [stderr] | [INFO] [stderr] 67 | #[derive(Clone,Eq,Hash)] [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/stpsyr/types.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | / impl cmp::PartialEq for Power { [INFO] [stderr] 87 | | fn eq(&self, other: &Power) -> bool { [INFO] [stderr] 88 | | self.name.to_lowercase() == other.name.to_lowercase() [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/stpsyr/util.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | for ref r in self.map.iter() { [INFO] [stderr] | ^^^^^ --------------- help: try: `let r = &self.map.iter();` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/stpsyr/util.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | for ref r in self.map.iter() { [INFO] [stderr] | ^^^^^ --------------- help: try: `let r = &self.map.iter();` [INFO] [stderr] | [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/stpsyr/util.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | for ref mut r in self.map.iter_mut() { [INFO] [stderr] | ^^^^^^^^^ ------------------- help: try: `let r = &mut self.map.iter_mut();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `stpsyr`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/stpsyr/adjudicate.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | / match order.action { Action::Move { ref to, convoyed: _ } => { [INFO] [stderr] 16 | | if order.resolution { [INFO] [stderr] 17 | | // we have a successful move [INFO] [stderr] 18 | | let from_idx = self.map.iter() [INFO] [stderr] ... | [INFO] [stderr] 37 | | } [INFO] [stderr] 38 | | }, _ => {} } [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] 15 | if let Action::Move { ref to, convoyed: _ } = order.action { [INFO] [stderr] 16 | if order.resolution { [INFO] [stderr] 17 | // we have a successful move [INFO] [stderr] 18 | let from_idx = self.map.iter() [INFO] [stderr] 19 | .position(|r| r.province == order.province).unwrap(); [INFO] [stderr] 20 | let to_idx = self.map.iter() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/stpsyr/adjudicate.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | if let Some(_) = to.coast { [INFO] [stderr] | _____________________- ^^^^^^^ [INFO] [stderr] 30 | | self.map[to_idx].province.coast = [INFO] [stderr] 31 | | self.map[to_idx].province.coast.and(to.coast); [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____________________- help: try this: `if to.coast.is_some()` [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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/stpsyr/adjudicate.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | / paths.iter().filter(|path| { [INFO] [stderr] 219 | | path.iter().skip(1).all(|&ref p| [INFO] [stderr] 220 | | // for every convoying fleet... [INFO] [stderr] 221 | | self.orders.clone().iter().any(|o| [INFO] [stderr] ... | [INFO] [stderr] 229 | | ) [INFO] [stderr] 230 | | }).map(|x|x.clone()).collect() [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 218 | paths.iter().filter(|path| { [INFO] [stderr] 219 | path.iter().skip(1).all(|&ref p| [INFO] [stderr] 220 | // for every convoying fleet... [INFO] [stderr] 221 | self.orders.clone().iter().any(|o| [INFO] [stderr] 222 | o.province == *p && match o.action { [INFO] [stderr] 223 | // ... there has to be a convoy order [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/stpsyr/adjudicate.rs:219:46 [INFO] [stderr] | [INFO] [stderr] 219 | path.iter().skip(1).all(|&ref p| [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/stpsyr/adjudicate.rs:241:22 [INFO] [stderr] | [INFO] [stderr] 241 | let region = path.last().unwrap().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 241 | let region = &(*path.last().unwrap()).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 241 | let region = &stpsyr::types::MapRegion::clone(path.last().unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/stpsyr/adjusts.rs:40:59 [INFO] [stderr] | [INFO] [stderr] 40 | region.home_power.as_ref().map_or(false, |&ref p| *p == owner) && [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/orders.rs:41:25 [INFO] [stderr] | [INFO] [stderr] 41 | if !convoyed && match &action { [INFO] [stderr] | _________________________^ [INFO] [stderr] 42 | | &Action::Move { ref to, convoyed: _ } | [INFO] [stderr] 43 | | &Action::SupportHold { ref to } | [INFO] [stderr] 44 | | &Action::SupportMove { from: _, ref to } => { [INFO] [stderr] ... | [INFO] [stderr] 55 | | _ => false [INFO] [stderr] 56 | | } { return; } [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: try [INFO] [stderr] | [INFO] [stderr] 41 | if !convoyed && match action { [INFO] [stderr] 42 | Action::Move { ref to, convoyed: _ } | [INFO] [stderr] 43 | Action::SupportHold { ref to } | [INFO] [stderr] 44 | Action::SupportMove { from: _, ref to } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/retreats.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | if match &action { [INFO] [stderr] | ____________^ [INFO] [stderr] 29 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 30 | | let r = self.get_region(&province).unwrap(); [INFO] [stderr] 31 | | self.contested.contains(to) || !match unit.unit_type { [INFO] [stderr] ... | [INFO] [stderr] 40 | | _ => false [INFO] [stderr] 41 | | } { return; } [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: try [INFO] [stderr] | [INFO] [stderr] 28 | if match action { [INFO] [stderr] 29 | RetreatAction::Move { ref to } => { [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/stpsyr/retreats.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / match &retreat.action { [INFO] [stderr] 65 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 66 | | if attempts.contains(to) { conflicts.insert(to); } [INFO] [stderr] 67 | | else { attempts.insert(to); } [INFO] [stderr] 68 | | }, [INFO] [stderr] 69 | | _ => {} [INFO] [stderr] 70 | | } [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] 64 | if let &RetreatAction::Move { ref to } = &retreat.action { [INFO] [stderr] 65 | if attempts.contains(to) { conflicts.insert(to); } [INFO] [stderr] 66 | else { attempts.insert(to); } [INFO] [stderr] 67 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/retreats.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | / match &retreat.action { [INFO] [stderr] 65 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 66 | | if attempts.contains(to) { conflicts.insert(to); } [INFO] [stderr] 67 | | else { attempts.insert(to); } [INFO] [stderr] 68 | | }, [INFO] [stderr] 69 | | _ => {} [INFO] [stderr] 70 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 64 | match retreat.action { [INFO] [stderr] 65 | RetreatAction::Move { ref to } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/stpsyr/retreats.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | / match &retreat.action { [INFO] [stderr] 75 | | &RetreatAction::Move { ref to } => { [INFO] [stderr] 76 | | if !conflicts.contains(to) { [INFO] [stderr] 77 | | // process the retreat [INFO] [stderr] ... | [INFO] [stderr] 87 | | &RetreatAction::Disband => {} [INFO] [stderr] 88 | | } [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: try [INFO] [stderr] | [INFO] [stderr] 74 | match retreat.action { [INFO] [stderr] 75 | RetreatAction::Move { ref to } => { [INFO] [stderr] 76 | if !conflicts.contains(to) { [INFO] [stderr] 77 | // process the retreat [INFO] [stderr] 78 | let from_idx = self.map.iter() [INFO] [stderr] 79 | .position(|r| r.province == retreat.province).unwrap(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/stpsyr/svg.rs:103:43 [INFO] [stderr] | [INFO] [stderr] 103 | let &(x, y) = province_centers.get(&r.province).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&province_centers[&r.province]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/stpsyr/svg.rs:177:25 [INFO] [stderr] | [INFO] [stderr] 177 | fn poly_distance(verts: &Vec<(f32, f32)>, p: (f32, f32)) -> f32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[(f32, f32)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/stpsyr/util.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | for ref r in self.map.iter() { [INFO] [stderr] | ^^^^^ --------------- help: try: `let r = &self.map.iter();` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/stpsyr/util.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | for ref r in self.map.iter() { [INFO] [stderr] | ^^^^^ --------------- help: try: `let r = &self.map.iter();` [INFO] [stderr] | [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/stpsyr/util.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | for ref mut r in self.map.iter_mut() { [INFO] [stderr] | ^^^^^^^^^ ------------------- help: try: `let r = &mut self.map.iter_mut();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `stpsyr`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "a469a6f35ab3a14875fdd0c995687e165bfb91552909f70c7dcdad6836c4deb0"` [INFO] running `"docker" "rm" "-f" "a469a6f35ab3a14875fdd0c995687e165bfb91552909f70c7dcdad6836c4deb0"` [INFO] [stdout] a469a6f35ab3a14875fdd0c995687e165bfb91552909f70c7dcdad6836c4deb0