[INFO] cloning repository https://github.com/marksg07/rust-proj
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/marksg07/rust-proj" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarksg07%2Frust-proj", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarksg07%2Frust-proj'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 73e8e485adbb2f2ede518f551ff14adfb223754d
[INFO] checking marksg07/rust-proj against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarksg07%2Frust-proj" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/marksg07/rust-proj
[INFO] finished tweaking git repo https://github.com/marksg07/rust-proj
[INFO] tweaked toml for git repo https://github.com/marksg07/rust-proj written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/marksg07/rust-proj on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/marksg07/rust-proj already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typed-arena v2.0.1
[INFO] [stderr]   Downloaded pathfinder_geometry v0.5.1
[INFO] [stderr]   Downloaded sw-composite v0.7.14
[INFO] [stderr]   Downloaded pathfinder_simd v0.5.1
[INFO] [stderr]   Downloaded futures-core v0.3.18
[INFO] [stderr]   Downloaded cairo-sys-rs v0.14.9
[INFO] [stderr]   Downloaded png v0.15.3
[INFO] [stderr]   Downloaded crc32fast v1.3.0
[INFO] [stderr]   Downloaded raqote v0.8.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.33
[INFO] [stderr]   Downloaded shlex v0.1.1
[INFO] [stderr]   Downloaded raw-window-handle v0.4.2
[INFO] [stderr]   Downloaded freetype v0.4.1
[INFO] [stderr]   Downloaded pkg-config v0.3.23
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] [stderr]   Downloaded inflate v0.4.5
[INFO] [stderr]   Downloaded core-text v15.0.0
[INFO] [stderr]   Downloaded version-compare v0.0.11
[INFO] [stderr]   Downloaded wayland-sys v0.28.6
[INFO] [stderr]   Downloaded raw-window-handle v0.3.4
[INFO] [stderr]   Downloaded cmake v0.1.46
[INFO] [stderr]   Downloaded strum_macros v0.21.1
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.9
[INFO] [stderr]   Downloaded servo-fontconfig v0.4.0
[INFO] [stderr]   Downloaded xattr v0.2.2
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.78
[INFO] [stderr]   Downloaded strum v0.21.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.78
[INFO] [stderr]   Downloaded futures-task v0.3.18
[INFO] [stderr]   Downloaded proc-macro-crate v1.1.0
[INFO] [stderr]   Downloaded slab v0.4.5
[INFO] [stderr]   Downloaded system-deps v3.2.0
[INFO] [stderr]   Downloaded libloading v0.7.2
[INFO] [stderr]   Downloaded futures-channel v0.3.18
[INFO] [stderr]   Downloaded cfg-expr v0.8.1
[INFO] [stderr]   Downloaded tar v0.4.37
[INFO] [stderr]   Downloaded anyhow v1.0.51
[INFO] [stderr]   Downloaded glib-macros v0.14.1
[INFO] [stderr]   Downloaded js-sys v0.3.55
[INFO] [stderr]   Downloaded minifb v0.20.0
[INFO] [stderr]   Downloaded pest v2.1.3
[INFO] [stderr]   Downloaded futures-util v0.3.18
[INFO] [stderr]   Downloaded glib v0.14.8
[INFO] [stderr]   Downloaded rayon v1.5.1
[INFO] [stderr]   Downloaded sdl2 v0.34.5
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.78
[INFO] [stderr]   Downloaded syn v1.0.82
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.22
[INFO] [stderr]   Downloaded nix v0.20.2
[INFO] [stderr]   Downloaded bindgen v0.56.0
[INFO] [stderr]   Downloaded wayland-protocols v0.28.6
[INFO] [stderr]   Downloaded nom v7.1.0
[INFO] [stderr]   Downloaded nom v5.1.2
[INFO] [stderr]   Downloaded png v0.17.2
[INFO] [stderr]   Downloaded bumpalo v3.8.0
[INFO] [stderr]   Downloaded wayland-client v0.28.6
[INFO] [stderr]   Downloaded xml-rs v0.8.4
[INFO] [stderr]   Downloaded sdl2-sys v0.34.5
[INFO] [stderr]   Downloaded x11-dl v2.19.1
[INFO] [stderr]   Downloaded deflate v0.9.1
[INFO] [stderr]   Downloaded font-kit v0.7.1
[INFO] [stderr]   Downloaded expat-sys v2.1.6
[INFO] [stderr]   Downloaded glib-sys v0.14.0
[INFO] [stderr]   Downloaded cairo-rs v0.14.9
[INFO] [stderr]   Downloaded libc v0.2.109
[INFO] [stderr]   Downloaded gif v0.11.3
[INFO] [stderr]   Downloaded png v0.16.8
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.5
[INFO] [stderr]   Downloaded rayon-core v1.9.1
[INFO] [stderr]   Downloaded clang-sys v1.3.0
[INFO] [stderr]   Downloaded web-sys v0.3.55
[INFO] [stderr]   Downloaded deflate v0.8.6
[INFO] [stderr]   Downloaded miniz_oxide v0.3.7
[INFO] [stderr]   Downloaded weezl v0.1.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.78
[INFO] [stderr]   Downloaded smallvec v1.7.0
[INFO] [stderr]   Downloaded ucd-trie v0.1.3
[INFO] [stderr]   Downloaded lyon_geom v0.15.3
[INFO] [stderr]   Downloaded semver-parser v0.10.2
[INFO] [stderr]   Downloaded wayland-scanner v0.28.6
[INFO] [stderr]   Downloaded dwrote v0.11.0
[INFO] [stderr]   Downloaded futures-executor v0.3.18
[INFO] [stderr]   Downloaded gobject-sys v0.14.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.78
[INFO] [stderr]   Downloaded once_cell v1.8.0
[INFO] [stderr]   Downloaded wayland-commons v0.28.6
[INFO] [stderr]   Downloaded xkb v0.2.1
[INFO] [stderr]   Downloaded cexpr v0.4.0
[INFO] [stderr]   Downloaded xkbcommon-sys v0.7.5
[INFO] [stderr]   Downloaded bytemuck v1.7.2
[INFO] [stderr]   Downloaded xcursor v0.3.4
[INFO] [stderr]   Downloaded float-ord v0.2.0
[INFO] [stderr]   Downloaded cty v0.2.2
[INFO] [stderr]   Downloaded redox_users v0.4.0
[INFO] [stderr]   Downloaded wayland-cursor v0.28.6
[INFO] [stderr]   Downloaded which v3.1.1
[INFO] [stderr]   Downloaded dirs-sys v0.3.6
[INFO] [stderr]   Downloaded unidiff v0.3.3
[INFO] [stderr]   Downloaded orbclient v0.3.31
[INFO] [stderr]   Downloaded encoding_rs v0.8.30
[INFO] [stderr]   Downloaded tiff v0.6.1
[INFO] [stderr]   Downloaded servo-fontconfig-sys v4.0.6
[INFO] [stderr]   Downloaded servo-freetype-sys v4.0.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 23ca134c517c9364332dd70ee0d37b6f013900b6b413f1da542b2fe9f04b3f79
[INFO] running `Command { std: "docker" "start" "-a" "23ca134c517c9364332dd70ee0d37b6f013900b6b413f1da542b2fe9f04b3f79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23ca134c517c9364332dd70ee0d37b6f013900b6b413f1da542b2fe9f04b3f79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23ca134c517c9364332dd70ee0d37b6f013900b6b413f1da542b2fe9f04b3f79", kill_on_drop: false }`
[INFO] [stdout] 23ca134c517c9364332dd70ee0d37b6f013900b6b413f1da542b2fe9f04b3f79
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0aab4811f272ff94ed28cfed2d76d715c6f296e297ba44a24b87fca8767768b2
[INFO] running `Command { std: "docker" "start" "-a" "0aab4811f272ff94ed28cfed2d76d715c6f296e297ba44a24b87fca8767768b2", kill_on_drop: false }`
[INFO] [stderr]    Compiling pkg-config v0.3.23
[INFO] [stderr]    Compiling proc-macro2 v1.0.33
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.109
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling syn v1.0.82
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling anyhow v1.0.51
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling cfg-expr v0.8.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling cmake v0.1.46
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling strum v0.21.0
[INFO] [stderr]    Compiling version-compare v0.0.11
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling clang-sys v1.3.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]    Compiling servo-freetype-sys v4.0.3
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling libloading v0.7.2
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling bindgen v0.56.0
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling futures-core v0.3.18
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking encoding_index_tests v0.1.4
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]    Compiling futures-task v0.3.18
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]    Compiling pathfinder_simd v0.5.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking nix v0.20.2
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]    Compiling servo-fontconfig-sys v4.0.6
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling futures-util v0.3.18
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling strum_macros v0.21.1
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.15
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling futures-channel v0.3.18
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]    Compiling system-deps v3.2.0
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]     Checking wayland-commons v0.28.6
[INFO] [stderr]    Compiling glib-sys v0.14.0
[INFO] [stderr]    Compiling gobject-sys v0.14.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.14.9
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]     Checking dirs-sys v0.3.6
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking weezl v0.1.5
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking raw-window-handle v0.4.2
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking futures-executor v0.3.18
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling glib-macros v0.14.1
[INFO] [stderr]     Checking servo-fontconfig v0.4.0
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking freetype v0.4.1
[INFO] [stderr]     Checking encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]     Checking encoding-index-korean v1.20141219.5
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking encoding-index-japanese v1.20141219.5
[INFO] [stderr]     Checking euclid v0.20.14
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]    Compiling minifb v0.20.0
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking float-ord v0.2.0
[INFO] [stderr]     Checking font-kit v0.7.1
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking glib v0.14.8
[INFO] [stderr]     Checking tempfile v3.2.0
[INFO] [stderr]     Checking png v0.15.3
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking lyon_geom v0.15.3
[INFO] [stderr]     Checking encoding v0.2.33
[INFO] [stderr]     Checking wayland-cursor v0.28.6
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking deflate v0.9.1
[INFO] [stderr]     Checking sw-composite v0.7.14
[INFO] [stderr]     Checking typed-arena v2.0.1
[INFO] [stderr]     Checking bytemuck v1.7.2
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking raqote v0.8.0
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking png v0.17.2
[INFO] [stderr]    Compiling xkbcommon-sys v0.7.5
[INFO] [stderr]     Checking xkb v0.2.1
[INFO] [stderr]     Checking cairo-rs v0.14.9
[INFO] [stderr]     Checking my-project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/lib.rs:23:73
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Ok(sieve.iter().enumerate().filter(|&(_, &is_p)| is_p).map(|(i, _)| (i+2)).collect())
[INFO] [stdout]    |                                                                         ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Ok(sieve.iter().enumerate().filter(|&(_, &is_p)| is_p).map(|(i, _)| (i+2)).collect())
[INFO] [stdout] 23 +     Ok(sieve.iter().enumerate().filter(|&(_, &is_p)| is_p).map(|(i, _)| i+2 ).collect())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/lib.rs:23:73
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Ok(sieve.iter().enumerate().filter(|&(_, &is_p)| is_p).map(|(i, _)| (i+2)).collect())
[INFO] [stdout]    |                                                                         ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Ok(sieve.iter().enumerate().filter(|&(_, &is_p)| is_p).map(|(i, _)| (i+2)).collect())
[INFO] [stdout] 23 +     Ok(sieve.iter().enumerate().filter(|&(_, &is_p)| is_p).map(|(i, _)| i+2 ).collect())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeListGraph` is never constructed
[INFO] [stdout]  --> src/graph.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct EdgeListGraph {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Graph` is never used
[INFO] [stdout]   --> src/graph.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | trait Graph {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `make` is never used
[INFO] [stdout]   --> src/graph.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl EdgeListGraph {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 76 |     fn make(el: Vec<Vec<usize>>) -> Result<EdgeListGraph, &'static str> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `my_project`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use my_project;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/raqote_example.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{thread, time};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MouseMode`, `ScaleMode`, `Scale`, `WindowOptions`, and `Window`
[INFO] [stdout]  --> src/chess.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use minifb::{MouseMode, Window, WindowOptions, ScaleMode, Scale};
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Format`
[INFO] [stdout]  --> src/chess.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cairo::{ ImageSurface, Format, Context };
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `font_kit::family_name::FamilyName`
[INFO] [stdout]  --> src/chess.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use font_kit::family_name::FamilyName;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `font_kit::properties::Properties`
[INFO] [stdout]  --> src/chess.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use font_kit::properties::Properties;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `font_kit::source::SystemSource`
[INFO] [stdout]  --> src/chess.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use font_kit::source::SystemSource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::io::Reader as ImageReader`
[INFO] [stdout]  --> src/chess.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::io::Reader as ImageReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::imageops::FilterType`
[INFO] [stdout]  --> src/chess.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::imageops::FilterType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::from_utf8`
[INFO] [stdout]  --> src/net_chess.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::from_utf8;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowOptions`
[INFO] [stdout]  --> src/net_chess.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use minifb::{MouseMode, MouseButton, Window, WindowOptions};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Format`
[INFO] [stdout]  --> src/net_chess.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cairo::{ ImageSurface, Format, Context };
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MouseButton` and `MouseMode`
[INFO] [stdout]  --> src/main.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use minifb::{MouseMode, MouseButton, Window, WindowOptions};
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/main.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cairo::{ ImageSurface, Format, Context };
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `my_project`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use my_project;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/raqote_example.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{thread, time};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MouseMode`, `ScaleMode`, `Scale`, `WindowOptions`, and `Window`
[INFO] [stdout]  --> src/chess.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use minifb::{MouseMode, Window, WindowOptions, ScaleMode, Scale};
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Format`
[INFO] [stdout]  --> src/chess.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cairo::{ ImageSurface, Format, Context };
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `font_kit::family_name::FamilyName`
[INFO] [stdout]  --> src/chess.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use font_kit::family_name::FamilyName;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `font_kit::properties::Properties`
[INFO] [stdout]  --> src/chess.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use font_kit::properties::Properties;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `font_kit::source::SystemSource`
[INFO] [stdout]  --> src/chess.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use font_kit::source::SystemSource;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::io::Reader as ImageReader`
[INFO] [stdout]  --> src/chess.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::io::Reader as ImageReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::imageops::FilterType`
[INFO] [stdout]  --> src/chess.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::imageops::FilterType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::from_utf8`
[INFO] [stdout]  --> src/net_chess.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::from_utf8;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowOptions`
[INFO] [stdout]  --> src/net_chess.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use minifb::{MouseMode, MouseButton, Window, WindowOptions};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Format`
[INFO] [stdout]  --> src/net_chess.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cairo::{ ImageSurface, Format, Context };
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MouseButton` and `MouseMode`
[INFO] [stdout]  --> src/main.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use minifb::{MouseMode, MouseButton, Window, WindowOptions};
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/main.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cairo::{ ImageSurface, Format, Context };
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/net_chess.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 307 | /     loop {
[INFO] [stdout] 308 | |         run_state = run_state.next()?;
[INFO] [stdout] 309 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 310 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/net_chess.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 325 | /     loop {
[INFO] [stdout] 326 | |         run_state = run_state.next()?;
[INFO] [stdout] 327 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 328 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/chess.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&self, dt: &mut Context, position: ScreenPosition) -> Result<(), Box<dyn Error>> {Ok(())}
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> src/chess.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&self, dt: &mut Context, position: ScreenPosition) -> Result<(), Box<dyn Error>> {Ok(())}
[INFO] [stdout]    |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/net_chess.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 307 | /     loop {
[INFO] [stdout] 308 | |         run_state = run_state.next()?;
[INFO] [stdout] 309 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 310 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface`
[INFO] [stdout]   --> src/raqote_example.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_next_legal_click(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> chess::BoardPosition {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/raqote_example.rs:25:74
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_next_legal_click(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> chess::BoardPosition {
[INFO] [stdout]    |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/net_chess.rs:328:5
[INFO] [stdout]     |
[INFO] [stdout] 325 | /     loop {
[INFO] [stdout] 326 | |         run_state = run_state.next()?;
[INFO] [stdout] 327 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 328 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/chess.rs:28:20
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&self, dt: &mut Context, position: ScreenPosition) -> Result<(), Box<dyn Error>> {Ok(())}
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> src/chess.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn draw(&self, dt: &mut Context, position: ScreenPosition) -> Result<(), Box<dyn Error>> {Ok(())}
[INFO] [stdout]    |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_MILLI` is never used
[INFO] [stdout]  --> src/raqote_example.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const ONE_MILLI : time::Duration = time::Duration::from_millis(20);
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH` is never used
[INFO] [stdout]   --> src/raqote_example.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WIDTH: usize = 400;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEIGHT` is never used
[INFO] [stdout]   --> src/raqote_example.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const HEIGHT: usize = 400;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `click_to_board` is never used
[INFO] [stdout]   --> src/raqote_example.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn click_to_board(pos: chess::ScreenPosition) -> Result<chess::BoardPosition, ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_legal_click` is never used
[INFO] [stdout]   --> src/raqote_example.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_next_legal_click(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> chess::BoardPosition {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/raqote_example.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn draw(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/raqote_example.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenPosition` is never constructed
[INFO] [stdout]   --> src/chess.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ScreenPosition(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]   --> src/chess.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait Drawable {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] 28 |     fn draw(&self, dt: &mut Context, position: ScreenPosition) -> Result<(), Box<dyn Error>> {Ok(())}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `surface`, `data`, `width_ratio`, and `height_ratio` are never read
[INFO] [stdout]   --> src/chess.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct PngDrawable {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     //pngImage: Source<'a>,
[INFO] [stdout] 68 |     surface: ImageSurface,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 69 |     data: Vec<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 70 |     width_ratio: f64, 
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 71 |     height_ratio: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `default_state` is never used
[INFO] [stdout]    --> src/chess.rs:401:7
[INFO] [stdout]     |
[INFO] [stdout] 401 | const default_state: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, `pieces`, and `highlight` are never read
[INFO] [stdout]    --> src/chess.rs:429:2
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct Board {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 429 |     width: f64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 430 |     height: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 431 |     pub game_state: GameState,
[INFO] [stdout] 432 |     pieces: HashMap<BoardSquare, Box<dyn Drawable>>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 433 |     pub highlight: Option<BoardPosition>
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setup_new_game` is never used
[INFO] [stdout]    --> src/chess.rs:447:12
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub fn setup_new_game(&mut self) -> () {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `light_color` is never used
[INFO] [stdout]    --> src/chess.rs:471:7
[INFO] [stdout]     |
[INFO] [stdout] 471 | const light_color: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `dark_color` is never used
[INFO] [stdout]    --> src/chess.rs:472:7
[INFO] [stdout]     |
[INFO] [stdout] 472 | const dark_color: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `highlight_color` is never used
[INFO] [stdout]    --> src/chess.rs:473:7
[INFO] [stdout]     |
[INFO] [stdout] 473 | const highlight_color: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Networkable` is never used
[INFO] [stdout]   --> src/net_chess.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Networkable where Self: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Packet` is never used
[INFO] [stdout]   --> src/net_chess.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | enum Packet {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BadPacketError` is never constructed
[INFO] [stdout]   --> src/net_chess.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct BadPacketError {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `StateResult` is never used
[INFO] [stdout]    --> src/net_chess.rs:131:6
[INFO] [stdout]     |
[INFO] [stdout] 131 | type StateResult = Result<Box<dyn ChessState>, Box<dyn Error>>;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ChessState` is never used
[INFO] [stdout]    --> src/net_chess.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub trait ChessState {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalState` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct GlobalState {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_MILLI` is never used
[INFO] [stdout]    --> src/net_chess.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const ONE_MILLI : time::Duration = time::Duration::from_millis(20);
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `click_to_board`, `get_next_legal_click`, and `draw` are never used
[INFO] [stdout]    --> src/net_chess.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl GlobalState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 150 |     fn click_to_board(&self, pos: chess::ScreenPosition) -> Result<chess::BoardPosition, ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn get_next_legal_click(&mut self) -> chess::BoardPosition {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn draw(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyMove` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct MyMove {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OtherMove` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | struct OtherMove {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AwaitAck` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | struct AwaitAck {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_server` is never used
[INFO] [stdout]    --> src/net_chess.rs:293:8
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn run_server(board: chess::Board,
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_client` is never used
[INFO] [stdout]    --> src/net_chess.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub fn run_client(board: chess::Board,
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/chess.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct PngDrawable {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     data: Vec<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `default_state` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:401:7
[INFO] [stdout]     |
[INFO] [stdout] 401 | const default_state: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 401 - const default_state: &str = "\
[INFO] [stdout] 401 + const DEFAULT_STATE: &str = "\
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `base_dir` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:411:7
[INFO] [stdout]     |
[INFO] [stdout] 411 | const base_dir: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 411 - const base_dir: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout] 411 + const BASE_DIR: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `piece_imagepaths` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:413:7
[INFO] [stdout]     |
[INFO] [stdout] 413 | const piece_imagepaths: [(char, &str); 12] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 413 - const piece_imagepaths: [(char, &str); 12] = [
[INFO] [stdout] 413 + const PIECE_IMAGEPATHS: [(char, &str); 12] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `light_color` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:471:7
[INFO] [stdout]     |
[INFO] [stdout] 471 | const light_color: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 471 - const light_color: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout] 471 + const LIGHT_COLOR: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `dark_color` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:472:7
[INFO] [stdout]     |
[INFO] [stdout] 472 | const dark_color: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 472 - const dark_color: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout] 472 + const DARK_COLOR: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `highlight_color` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:473:7
[INFO] [stdout]     |
[INFO] [stdout] 473 | const highlight_color: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 473 - const highlight_color: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout] 473 + const HIGHLIGHT_COLOR: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `surface`
[INFO] [stdout]   --> src/raqote_example.rs:25:46
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_next_legal_click(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> chess::BoardPosition {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_surface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/raqote_example.rs:25:74
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_next_legal_click(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> chess::BoardPosition {
[INFO] [stdout]    |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_MILLI` is never used
[INFO] [stdout]  --> src/raqote_example.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const ONE_MILLI : time::Duration = time::Duration::from_millis(20);
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WIDTH` is never used
[INFO] [stdout]   --> src/raqote_example.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const WIDTH: usize = 400;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEIGHT` is never used
[INFO] [stdout]   --> src/raqote_example.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const HEIGHT: usize = 400;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `click_to_board` is never used
[INFO] [stdout]   --> src/raqote_example.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn click_to_board(pos: chess::ScreenPosition) -> Result<chess::BoardPosition, ()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_next_legal_click` is never used
[INFO] [stdout]   --> src/raqote_example.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn get_next_legal_click(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> chess::BoardPosition {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw` is never used
[INFO] [stdout]   --> src/raqote_example.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn draw(window: &mut Window, surface: &mut ImageSurface, board: &chess::Board) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/raqote_example.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenPosition` is never constructed
[INFO] [stdout]   --> src/chess.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ScreenPosition(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoardPosition` is never constructed
[INFO] [stdout]   --> src/chess.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct BoardPosition(
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Drawable` is never used
[INFO] [stdout]   --> src/chess.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait Drawable {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color` is never used
[INFO] [stdout]   --> src/chess.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum Color {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Piece` is never used
[INFO] [stdout]   --> src/chess.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 | enum Piece {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BoardSquare` is never used
[INFO] [stdout]   --> src/chess.rs:58:6
[INFO] [stdout]    |
[INFO] [stdout] 58 | enum BoardSquare {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmptyDrawable` is never constructed
[INFO] [stdout]   --> src/chess.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct EmptyDrawable {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PngDrawable` is never constructed
[INFO] [stdout]   --> src/chess.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct PngDrawable {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/chess.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl PngDrawable {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn new(path: &str, width: f64, height: f64) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameState` is never constructed
[INFO] [stdout]    --> src/chess.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct GameState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/chess.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl GameState {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 112 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn piece_iterator<'a>(&'a self) -> Box<dyn Iterator<Item = (BoardPosition, BoardSquare)> + 'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn is_legal(&self, from_pos: BoardPosition, to_pos: BoardPosition) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn is_square_attacked(&self, pos: BoardPosition, attacker: Color) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn is_valid_rook_move(&self, from_pos: BoardPosition, to_pos: BoardPosition) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn is_valid_bishop_move(&self, from_pos: BoardPosition, to_pos: BoardPosition) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     fn is_attacking_movement_ok(&self, from_pos: BoardPosition, to_pos: BoardPosition, pretend_occupied: bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn is_legal_start(&self, pos: BoardPosition) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn do_move(&mut self, from_pos: BoardPosition, to_pos: BoardPosition) -> () {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn is_checkmate(&mut self, attacker: Color) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `c_to_sq` is never used
[INFO] [stdout]    --> src/chess.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn c_to_sq(c: char) -> BoardSquare {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `default_state` is never used
[INFO] [stdout]    --> src/chess.rs:401:7
[INFO] [stdout]     |
[INFO] [stdout] 401 | const default_state: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `base_dir` is never used
[INFO] [stdout]    --> src/chess.rs:411:7
[INFO] [stdout]     |
[INFO] [stdout] 411 | const base_dir: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `piece_imagepaths` is never used
[INFO] [stdout]    --> src/chess.rs:413:7
[INFO] [stdout]     |
[INFO] [stdout] 413 | const piece_imagepaths: [(char, &str); 12] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Board` is never constructed
[INFO] [stdout]    --> src/chess.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct Board {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `setup_new_game`, `setup_set_game`, and `is_checkmated` are never used
[INFO] [stdout]    --> src/chess.rs:437:12
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 437 |     pub fn new(width: f64, height: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub fn setup_new_game(&mut self) -> () {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn setup_set_game(&mut self, state: &str, turn: Color, bcl: bool, bcr: bool, wcl: bool, wcr: bool, eps: Option<BoardPositio...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     pub fn is_checkmated(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `light_color` is never used
[INFO] [stdout]    --> src/chess.rs:471:7
[INFO] [stdout]     |
[INFO] [stdout] 471 | const light_color: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `dark_color` is never used
[INFO] [stdout]    --> src/chess.rs:472:7
[INFO] [stdout]     |
[INFO] [stdout] 472 | const dark_color: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `highlight_color` is never used
[INFO] [stdout]    --> src/chess.rs:473:7
[INFO] [stdout]     |
[INFO] [stdout] 473 | const highlight_color: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Networkable` is never used
[INFO] [stdout]   --> src/net_chess.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Networkable where Self: Sized {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Packet` is never used
[INFO] [stdout]   --> src/net_chess.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | enum Packet {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BadPacketError` is never constructed
[INFO] [stdout]   --> src/net_chess.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct BadPacketError {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `StateResult` is never used
[INFO] [stdout]    --> src/net_chess.rs:131:6
[INFO] [stdout]     |
[INFO] [stdout] 131 | type StateResult = Result<Box<dyn ChessState>, Box<dyn Error>>;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ChessState` is never used
[INFO] [stdout]    --> src/net_chess.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub trait ChessState {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalState` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct GlobalState {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_MILLI` is never used
[INFO] [stdout]    --> src/net_chess.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const ONE_MILLI : time::Duration = time::Duration::from_millis(20);
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `click_to_board`, `get_next_legal_click`, and `draw` are never used
[INFO] [stdout]    --> src/net_chess.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl GlobalState {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 150 |     fn click_to_board(&self, pos: chess::ScreenPosition) -> Result<chess::BoardPosition, ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn get_next_legal_click(&mut self) -> chess::BoardPosition {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn draw(&mut self) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyMove` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:200:8
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct MyMove {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OtherMove` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | struct OtherMove {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AwaitAck` is never constructed
[INFO] [stdout]    --> src/net_chess.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | struct AwaitAck {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_server` is never used
[INFO] [stdout]    --> src/net_chess.rs:293:8
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn run_server(board: chess::Board,
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_client` is never used
[INFO] [stdout]    --> src/net_chess.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub fn run_client(board: chess::Board,
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]   --> src/chess.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct PngDrawable {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     data: Vec<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_checkmate` is never used
[INFO] [stdout]    --> src/chess.rs:361:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl GameState {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn is_checkmate(&mut self, attacker: Color) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_checkmated` is never used
[INFO] [stdout]    --> src/chess.rs:467:12
[INFO] [stdout]     |
[INFO] [stdout] 436 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 467 |     pub fn is_checkmated(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `default_state` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:401:7
[INFO] [stdout]     |
[INFO] [stdout] 401 | const default_state: &str = "\
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 401 - const default_state: &str = "\
[INFO] [stdout] 401 + const DEFAULT_STATE: &str = "\
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `base_dir` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:411:7
[INFO] [stdout]     |
[INFO] [stdout] 411 | const base_dir: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 411 - const base_dir: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout] 411 + const BASE_DIR: &str = "/Users/gabriel.marks/my-project/images/";
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `piece_imagepaths` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:413:7
[INFO] [stdout]     |
[INFO] [stdout] 413 | const piece_imagepaths: [(char, &str); 12] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 413 - const piece_imagepaths: [(char, &str); 12] = [
[INFO] [stdout] 413 + const PIECE_IMAGEPATHS: [(char, &str); 12] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `light_color` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:471:7
[INFO] [stdout]     |
[INFO] [stdout] 471 | const light_color: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 471 - const light_color: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout] 471 + const LIGHT_COLOR: (f64, f64, f64) = (180.0 / 255.0, 175.0 / 255.0, 165.0 / 255.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `dark_color` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:472:7
[INFO] [stdout]     |
[INFO] [stdout] 472 | const dark_color: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 472 - const dark_color: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout] 472 + const DARK_COLOR: (f64, f64, f64) = (145.0 / 255.0, 140.0 / 255.0, 125.0 / 255.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `highlight_color` should have an upper case name
[INFO] [stdout]    --> src/chess.rs:473:7
[INFO] [stdout]     |
[INFO] [stdout] 473 | const highlight_color: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 473 - const highlight_color: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout] 473 + const HIGHLIGHT_COLOR: (f64, f64, f64) = (180.0 / 255.0, 80.0 / 255.0, 80.0 / 255.0);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "0aab4811f272ff94ed28cfed2d76d715c6f296e297ba44a24b87fca8767768b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0aab4811f272ff94ed28cfed2d76d715c6f296e297ba44a24b87fca8767768b2", kill_on_drop: false }`
[INFO] [stdout] 0aab4811f272ff94ed28cfed2d76d715c6f296e297ba44a24b87fca8767768b2
