[INFO] cloning repository https://github.com/ritikmishra/iliketherusttypesystem
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ritikmishra/iliketherusttypesystem" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fritikmishra%2Filiketherusttypesystem", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fritikmishra%2Filiketherusttypesystem'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c196d010bfc20299abfe20670af154e3accfc9b5
[INFO] checking ritikmishra/iliketherusttypesystem against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fritikmishra%2Filiketherusttypesystem" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ritikmishra/iliketherusttypesystem
[INFO] finished tweaking git repo https://github.com/ritikmishra/iliketherusttypesystem
[INFO] tweaked toml for git repo https://github.com/ritikmishra/iliketherusttypesystem written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ritikmishra/iliketherusttypesystem on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ritikmishra/iliketherusttypesystem 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking ritikmishra/iliketherusttypesystem against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fritikmishra%2Filiketherusttypesystem" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ritikmishra/iliketherusttypesystem
[INFO] finished tweaking git repo https://github.com/ritikmishra/iliketherusttypesystem
[INFO] tweaked toml for git repo https://github.com/ritikmishra/iliketherusttypesystem written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ritikmishra/iliketherusttypesystem on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ritikmishra/iliketherusttypesystem 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 46c80d246c2d2de239a0d357beae4857d38d6584408153e153b9546a40d36dbd
[INFO] running `Command { std: "docker" "start" "-a" "46c80d246c2d2de239a0d357beae4857d38d6584408153e153b9546a40d36dbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46c80d246c2d2de239a0d357beae4857d38d6584408153e153b9546a40d36dbd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46c80d246c2d2de239a0d357beae4857d38d6584408153e153b9546a40d36dbd", kill_on_drop: false }`
[INFO] [stdout] 46c80d246c2d2de239a0d357beae4857d38d6584408153e153b9546a40d36dbd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 050e2f7ca8c829cf49cf137c91a1cd1a23b786b803d998b0cfb495284e244c51
[INFO] running `Command { std: "docker" "start" "-a" "050e2f7ca8c829cf49cf137c91a1cd1a23b786b803d998b0cfb495284e244c51", kill_on_drop: false }`
[INFO] [stderr]     Checking type_system_nqueens v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::lists::StrRepr`
[INFO] [stdout]    --> src/numbers.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use crate::lists::StrRepr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FUNNY_ZERO` should have an upper camel case name
[INFO] [stdout]    --> src/numbers.rs:245:14
[INFO] [stdout]     |
[INFO] [stdout] 245 |         type FUNNY_ZERO = Successor<Negative<N1>>;
[INFO] [stdout]     |              ^^^^^^^^^^ help: convert the identifier to upper camel case: `FunnyZero`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `NEG_2` should have an upper camel case name
[INFO] [stdout]    --> src/numbers.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |         type NEG_2 = Successor<Negative<Successor<Zero>>>;
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to upper camel case: `Neg2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `wut` should have an upper camel case name
[INFO] [stdout]    --> src/numbers.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 |         type wut = m!(eq FUNNY_ZERO, NEG_2);
[INFO] [stdout]     |              ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Wut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]   --> src/gameoflife.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use std::{collections::HashMap, convert::TryInto};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `origin` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 |         type origin = Cell<Zero, Zero>;
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `left` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 |         type left = Cell<Negative<N1>, Zero>;
[INFO] [stdout]     |              ^^^^ help: convert the identifier to upper camel case: `Left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `right` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:281:14
[INFO] [stdout]     |
[INFO] [stdout] 281 |         type right = Cell<N1, Zero>;
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to upper camel case: `Right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `cells` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:282:14
[INFO] [stdout]     |
[INFO] [stdout] 282 |         type cells = make_list!(left,origin,right,);
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cells`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `result` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:284:14
[INFO] [stdout]     |
[INFO] [stdout] 284 |         type result = func_call!(SingleGOLIter[cells]);
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to upper camel case: `Result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `result2` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:286:14
[INFO] [stdout]     |
[INFO] [stdout] 286 |         type result2 = func_call!(SingleGOLIter[result]);
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to upper camel case: `Result2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `counter` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:298:14
[INFO] [stdout]     |
[INFO] [stdout] 298 |         type counter = make_list!((Apple, N1), (Banana, N3), (Orange, N2),);
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `incremented_counter` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:331:14
[INFO] [stdout]     |
[INFO] [stdout] 331 |         type incremented_counter = <counter as IncrementItemCounter<Orange, EqualTypes>>::Output;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementedCounter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/gameoflife_demo.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `associated_type_bounds` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/gameoflife_demo.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]   --> src/gameoflife.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use std::{collections::HashMap, convert::TryInto};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/gameoflife_demo.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `associated_type_bounds` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/gameoflife_demo.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]   --> src/gameoflife.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use std::{collections::HashMap, convert::TryInto};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `associated_type_bounds` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lists::StrRepr`
[INFO] [stdout]    --> src/numbers.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     use crate::lists::StrRepr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FUNNY_ZERO` should have an upper camel case name
[INFO] [stdout]    --> src/numbers.rs:245:14
[INFO] [stdout]     |
[INFO] [stdout] 245 |         type FUNNY_ZERO = Successor<Negative<N1>>;
[INFO] [stdout]     |              ^^^^^^^^^^ help: convert the identifier to upper camel case: `FunnyZero`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `NEG_2` should have an upper camel case name
[INFO] [stdout]    --> src/numbers.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |         type NEG_2 = Successor<Negative<Successor<Zero>>>;
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to upper camel case: `Neg2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `wut` should have an upper camel case name
[INFO] [stdout]    --> src/numbers.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 |         type wut = m!(eq FUNNY_ZERO, NEG_2);
[INFO] [stdout]     |              ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Wut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]   --> src/gameoflife.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     use std::{collections::HashMap, convert::TryInto};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `origin` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 |         type origin = Cell<Zero, Zero>;
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Origin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `left` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:280:14
[INFO] [stdout]     |
[INFO] [stdout] 280 |         type left = Cell<Negative<N1>, Zero>;
[INFO] [stdout]     |              ^^^^ help: convert the identifier to upper camel case: `Left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `right` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:281:14
[INFO] [stdout]     |
[INFO] [stdout] 281 |         type right = Cell<N1, Zero>;
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to upper camel case: `Right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `cells` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:282:14
[INFO] [stdout]     |
[INFO] [stdout] 282 |         type cells = make_list!(left,origin,right,);
[INFO] [stdout]     |              ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cells`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `result` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:284:14
[INFO] [stdout]     |
[INFO] [stdout] 284 |         type result = func_call!(SingleGOLIter[cells]);
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to upper camel case: `Result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `result2` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:286:14
[INFO] [stdout]     |
[INFO] [stdout] 286 |         type result2 = func_call!(SingleGOLIter[result]);
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to upper camel case: `Result2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `counter` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:298:14
[INFO] [stdout]     |
[INFO] [stdout] 298 |         type counter = make_list!((Apple, N1), (Banana, N3), (Orange, N2),);
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Counter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `incremented_counter` should have an upper camel case name
[INFO] [stdout]    --> src/gameoflife.rs:331:14
[INFO] [stdout]     |
[INFO] [stdout] 331 |         type incremented_counter = <counter as IncrementItemCounter<Orange, EqualTypes>>::Output;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementedCounter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `associated_type_bounds` has been stable since 1.79.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:1:38
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:54:53
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let largest_y = board.iter().copied().map(|(x, y)| y).max()?;
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:53:54
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let smallest_y = board.iter().copied().map(|(x, y)| y).min()?;
[INFO] [stdout]    |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let largest_x = board.iter().copied().map(|(x, y)| x).max()?;
[INFO] [stdout]    |                                                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:51:57
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let smallest_x = board.iter().copied().map(|(x, y)| x).min()?;
[INFO] [stdout]    |                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `And` is never used
[INFO] [stdout]   --> src/booleans.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub trait And<Other: Bool> {
[INFO] [stdout]    |           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `If` is never constructed
[INFO] [stdout]   --> src/booleans.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct If<Cond, V1, V2>(PhantomData<Cond>, PhantomData<V1>, PhantomData<V2>);
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IfOutput` is never used
[INFO] [stdout]   --> src/booleans.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub trait IfOutput { type Output; }
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoolWrapper` is never constructed
[INFO] [stdout]   --> src/booleans.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct BoolWrapper<const VAL: bool>;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LiftBool` is never used
[INFO] [stdout]   --> src/booleans.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait LiftBool {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threatens_type_test` is never used
[INFO] [stdout]   --> src/nqueens.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn threatens_type_test() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prepend` is never used
[INFO] [stdout]    --> src/nqueens.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn test_prepend() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen` is never used
[INFO] [stdout]    --> src/nqueens.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn test_add_queen() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen2` is never used
[INFO] [stdout]    --> src/nqueens.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn test_add_queen2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckIsList` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct CheckIsList;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen_to_all` is never used
[INFO] [stdout]    --> src/nqueens.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn test_add_queen_to_all() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N6` is never used
[INFO] [stdout]   --> src/numbers.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub type N6 = Successor<N5>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N7` is never used
[INFO] [stdout]   --> src/numbers.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type N7 = Successor<N6>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N8` is never used
[INFO] [stdout]   --> src/numbers.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type N8 = Successor<N7>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeFn` is never constructed
[INFO] [stdout]    --> src/numbers.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct RangeFn;
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `First` is never used
[INFO] [stdout]   --> src/lists.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub trait First {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ListConcatAll` is never used
[INFO] [stdout]    --> src/lists.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub trait ListConcatAll {
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Increment` is never constructed
[INFO] [stdout]   --> src/functions.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Increment;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Decrement` is never constructed
[INFO] [stdout]   --> src/functions.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Decrement;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IsZero` is never constructed
[INFO] [stdout]   --> src/functions.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct IsZero;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cell` is never constructed
[INFO] [stdout]   --> src/gameoflife.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Cell<X: Number, Y: Number>(PhantomData<X>, PhantomData<Y>);
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Delta` is never constructed
[INFO] [stdout]   --> src/gameoflife.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Delta<X: Number, Y: Number>(PhantomData<X>, PhantomData<Y>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Neg1` is never used
[INFO] [stdout]   --> src/gameoflife.rs:82:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | type Neg1 = Negative<Successor<Zero>>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Pos1` is never used
[INFO] [stdout]   --> src/gameoflife.rs:83:6
[INFO] [stdout]    |
[INFO] [stdout] 83 | type Pos1 = Successor<Zero>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NeighborlyDeltas` is never used
[INFO] [stdout]   --> src/gameoflife.rs:84:6
[INFO] [stdout]    |
[INFO] [stdout] 84 | type NeighborlyDeltas = make_list!(
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApplyDeltaToCell` is never constructed
[INFO] [stdout]   --> src/gameoflife.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct ApplyDeltaToCell<T>(PhantomData<T>);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GetCellNeighbors` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct GetCellNeighbors;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellComparisonFunction` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct CellComparisonFunction;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IncrementItemCounter` is never used
[INFO] [stdout]    --> src/gameoflife.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub trait IncrementItemCounter<K, Cmp> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CountInstances` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct CountInstances;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Contains` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct Contains<Cmp>(PhantomData<Cmp>);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ContainsCell` is never used
[INFO] [stdout]    --> src/gameoflife.rs:189:6
[INFO] [stdout]     |
[INFO] [stdout] 189 | type ContainsCell = Contains<CellComparisonFunction>;
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CellShouldLive` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub struct CellShouldLive<AliveCellList>(PhantomData<AliveCellList>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FirstTupleElement` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct FirstTupleElement;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SingleGOLIter` is never constructed
[INFO] [stdout]    --> src/gameoflife.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct SingleGOLIter;
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reify` is never used
[INFO] [stdout]    --> src/gameoflife.rs:234:11
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub trait Reify {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Cell` is never used
[INFO] [stdout]   --> src/gameoflife.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     type Cell = (isize, isize);
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iterate` is never used
[INFO] [stdout]   --> src/gameoflife.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn iterate(active_cells: &mut Vec<Cell>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_board` is never used
[INFO] [stdout]   --> src/gameoflife.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn print_board(board: &Vec<Cell>) -> Option<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:54:53
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let largest_y = board.iter().copied().map(|(x, y)| y).max()?;
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:53:54
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let smallest_y = board.iter().copied().map(|(x, y)| y).min()?;
[INFO] [stdout]    |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let largest_x = board.iter().copied().map(|(x, y)| x).max()?;
[INFO] [stdout]    |                                                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:51:57
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let smallest_x = board.iter().copied().map(|(x, y)| x).min()?;
[INFO] [stdout]    |                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoolWrapper` is never constructed
[INFO] [stdout]   --> src/booleans.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct BoolWrapper<const VAL: bool>;
[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 `LiftBool` is never used
[INFO] [stdout]   --> src/booleans.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait LiftBool {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threatens_type_test` is never used
[INFO] [stdout]   --> src/nqueens.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn threatens_type_test() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prepend` is never used
[INFO] [stdout]    --> src/nqueens.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn test_prepend() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen` is never used
[INFO] [stdout]    --> src/nqueens.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn test_add_queen() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen2` is never used
[INFO] [stdout]    --> src/nqueens.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn test_add_queen2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckIsList` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct CheckIsList;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen_to_all` is never used
[INFO] [stdout]    --> src/nqueens.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn test_add_queen_to_all() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N6` is never used
[INFO] [stdout]   --> src/numbers.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub type N6 = Successor<N5>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N7` is never used
[INFO] [stdout]   --> src/numbers.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type N7 = Successor<N6>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N8` is never used
[INFO] [stdout]   --> src/numbers.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type N8 = Successor<N7>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeFn` is never constructed
[INFO] [stdout]    --> src/numbers.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct RangeFn;
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FUNNY_ZERO` is never used
[INFO] [stdout]    --> src/numbers.rs:245:14
[INFO] [stdout]     |
[INFO] [stdout] 245 |         type FUNNY_ZERO = Successor<Negative<N1>>;
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NEG_2` is never used
[INFO] [stdout]    --> src/numbers.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |         type NEG_2 = Successor<Negative<Successor<Zero>>>;
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `wut` is never used
[INFO] [stdout]    --> src/numbers.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 |         type wut = m!(eq FUNNY_ZERO, NEG_2);
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `First` is never used
[INFO] [stdout]   --> src/lists.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub trait First {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Decrement` is never constructed
[INFO] [stdout]   --> src/functions.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Decrement;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IsZero` is never constructed
[INFO] [stdout]   --> src/functions.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct IsZero;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reify` is never used
[INFO] [stdout]    --> src/gameoflife.rs:234:11
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub trait Reify {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Cell` is never used
[INFO] [stdout]   --> src/gameoflife.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     type Cell = (isize, isize);
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iterate` is never used
[INFO] [stdout]   --> src/gameoflife.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn iterate(active_cells: &mut Vec<Cell>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_board` is never used
[INFO] [stdout]   --> src/gameoflife.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn print_board(board: &Vec<Cell>) -> Option<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:54:53
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let largest_y = board.iter().copied().map(|(x, y)| y).max()?;
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:53:54
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let smallest_y = board.iter().copied().map(|(x, y)| y).min()?;
[INFO] [stdout]    |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let largest_x = board.iter().copied().map(|(x, y)| x).max()?;
[INFO] [stdout]    |                                                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:51:57
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let smallest_x = board.iter().copied().map(|(x, y)| x).min()?;
[INFO] [stdout]    |                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:54:53
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let largest_y = board.iter().copied().map(|(x, y)| y).max()?;
[INFO] [stdout]    |                                                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/gameoflife.rs:53:54
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let smallest_y = board.iter().copied().map(|(x, y)| y).min()?;
[INFO] [stdout]    |                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:52:56
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let largest_x = board.iter().copied().map(|(x, y)| x).max()?;
[INFO] [stdout]    |                                                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/gameoflife.rs:51:57
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let smallest_x = board.iter().copied().map(|(x, y)| x).min()?;
[INFO] [stdout]    |                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N10` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | type N10 = m!(add N5, N5);
[INFO] [stdout]    |      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N11` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | type N11 = Successor<N10>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N12` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | type N12 = Successor<N11>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N13` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:18:6
[INFO] [stdout]    |
[INFO] [stdout] 18 | type N13 = Successor<N12>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N14` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 | type N14 = Successor<N13>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N15` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type N15 = Successor<N14>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N16` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | type N16 = Successor<N15>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N17` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 22 | type N17 = Successor<N16>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N18` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type N18 = Successor<N17>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N19` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type N19 = Successor<N18>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N20` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | type N20 = Successor<N19>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N21` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type N21 = Successor<N20>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N22` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | type N22 = Successor<N21>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N23` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type N23 = Successor<N22>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N24` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type N24 = Successor<N23>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N34` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 | type N34 = m!(add N24, N10);
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N35` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 | type N35 = Successor<N34>;
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GliderGun` is never used
[INFO] [stdout]   --> src/gameoflife_demo.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |     type GliderGun = make_list!(
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VALUE` is never used
[INFO] [stdout]  --> src/booleans.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Bool {
[INFO] [stdout]   |           ---- associated constant in this trait
[INFO] [stdout] 9 |     const VALUE: bool;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Not` is never used
[INFO] [stdout]   --> src/booleans.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Not {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoolWrapper` is never constructed
[INFO] [stdout]   --> src/booleans.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct BoolWrapper<const VAL: bool>;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LiftBool` is never used
[INFO] [stdout]   --> src/booleans.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait LiftBool {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Queen` is never constructed
[INFO] [stdout]  --> src/nqueens.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Queen<X: Number, Y: Number>(PhantomData<X>, PhantomData<Y>);
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Threatens` is never used
[INFO] [stdout]   --> src/nqueens.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait Threatens<QueenA, QueenB> {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threatens_type_test` is never used
[INFO] [stdout]   --> src/nqueens.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn threatens_type_test() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Threatens1` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Threatens1<ThisQueen>(PhantomData<ThisQueen>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Safe` is never used
[INFO] [stdout]   --> src/nqueens.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub trait Safe<ExistingQueens, NewQueen> {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Safe1` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Safe1<Config>(PhantomData<Config>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Queen1` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Queen1<X: Number>(PhantomData<X>);
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `QueensInRow` is never used
[INFO] [stdout]   --> src/nqueens.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub trait QueensInRow<NumQueens: Number, XPos: Number> {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prepend` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct Prepend<Items: List>(PhantomData<Items>);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prepend` is never used
[INFO] [stdout]    --> src/nqueens.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn test_prepend() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueen` is never used
[INFO] [stdout]    --> src/nqueens.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait AddQueen<N: Number, X: Number, ExistingQueens: List> {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen` is never used
[INFO] [stdout]    --> src/nqueens.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn test_add_queen() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddQueen2` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct AddQueen2<N: Number, X: Number>(PhantomData<N>, PhantomData<X>);
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen2` is never used
[INFO] [stdout]    --> src/nqueens.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn test_add_queen2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueenToAll` is never used
[INFO] [stdout]    --> src/nqueens.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub trait AddQueenToAll<N: Number, X: Number, Configs: List> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckIsList` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct CheckIsList;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen_to_all` is never used
[INFO] [stdout]    --> src/nqueens.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn test_add_queen_to_all() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueensIf` is never used
[INFO] [stdout]    --> src/nqueens.rs:163:11
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub trait AddQueensIf<Predicate, N, X, Configs> {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueens` is never used
[INFO] [stdout]    --> src/nqueens.rs:185:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub trait AddQueens<N, X, Configs> {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NQueensSolution` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct NQueensSolution;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NumberOps` is never used
[INFO] [stdout]    --> src/nqueens.rs:205:11
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub trait NumberOps<N: Number>: Number + PeanoEqual<N> + PeanoAbsDiff<N> {}
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N4` is never used
[INFO] [stdout]   --> src/numbers.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub type N4 = Successor<N3>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N5` is never used
[INFO] [stdout]   --> src/numbers.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub type N5 = Successor<N4>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N6` is never used
[INFO] [stdout]   --> src/numbers.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub type N6 = Successor<N5>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N7` is never used
[INFO] [stdout]   --> src/numbers.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type N7 = Successor<N6>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N8` is never used
[INFO] [stdout]   --> src/numbers.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type N8 = Successor<N7>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PeanoLT` is never used
[INFO] [stdout]    --> src/numbers.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub trait PeanoLT<OtherNumber: Number> {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PeanoAbsDiff` is never used
[INFO] [stdout]    --> src/numbers.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub trait PeanoAbsDiff<OtherNumber: Number> {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Range` is never used
[INFO] [stdout]    --> src/numbers.rs:202:11
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub trait Range {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeFn` is never constructed
[INFO] [stdout]    --> src/numbers.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct RangeFn;
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Items` is never used
[INFO] [stdout]   --> src/lists.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | trait Items {
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StrRepr` is never used
[INFO] [stdout]   --> src/lists.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait StrRepr {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `First` is never used
[INFO] [stdout]   --> src/lists.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub trait First {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FlatMap` is never used
[INFO] [stdout]   --> src/functions.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub trait FlatMap<F> {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Decrement` is never constructed
[INFO] [stdout]   --> src/functions.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Decrement;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IsZero` is never constructed
[INFO] [stdout]   --> src/functions.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct IsZero;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyTrue` is never used
[INFO] [stdout]    --> src/functions.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub trait AnyTrue {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iterate` is never used
[INFO] [stdout]   --> src/gameoflife.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn iterate(active_cells: &mut Vec<Cell>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Not` is never used
[INFO] [stdout]   --> src/booleans.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Not {
[INFO] [stdout]    |           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoolWrapper` is never constructed
[INFO] [stdout]   --> src/booleans.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct BoolWrapper<const VAL: bool>;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LiftBool` is never used
[INFO] [stdout]   --> src/booleans.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub trait LiftBool {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Queen` is never constructed
[INFO] [stdout]  --> src/nqueens.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Queen<X: Number, Y: Number>(PhantomData<X>, PhantomData<Y>);
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Threatens` is never used
[INFO] [stdout]   --> src/nqueens.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait Threatens<QueenA, QueenB> {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `threatens_type_test` is never used
[INFO] [stdout]   --> src/nqueens.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn threatens_type_test() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Threatens1` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Threatens1<ThisQueen>(PhantomData<ThisQueen>);
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Safe` is never used
[INFO] [stdout]   --> src/nqueens.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub trait Safe<ExistingQueens, NewQueen> {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Safe1` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Safe1<Config>(PhantomData<Config>);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Queen1` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Queen1<X: Number>(PhantomData<X>);
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `QueensInRow` is never used
[INFO] [stdout]   --> src/nqueens.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub trait QueensInRow<NumQueens: Number, XPos: Number> {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prepend` is never constructed
[INFO] [stdout]   --> src/nqueens.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct Prepend<Items: List>(PhantomData<Items>);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_prepend` is never used
[INFO] [stdout]    --> src/nqueens.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn test_prepend() {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueen` is never used
[INFO] [stdout]    --> src/nqueens.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait AddQueen<N: Number, X: Number, ExistingQueens: List> {
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen` is never used
[INFO] [stdout]    --> src/nqueens.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn test_add_queen() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddQueen2` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct AddQueen2<N: Number, X: Number>(PhantomData<N>, PhantomData<X>);
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen2` is never used
[INFO] [stdout]    --> src/nqueens.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn test_add_queen2() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueenToAll` is never used
[INFO] [stdout]    --> src/nqueens.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub trait AddQueenToAll<N: Number, X: Number, Configs: List> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckIsList` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | struct CheckIsList;
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_add_queen_to_all` is never used
[INFO] [stdout]    --> src/nqueens.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn test_add_queen_to_all() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueensIf` is never used
[INFO] [stdout]    --> src/nqueens.rs:163:11
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub trait AddQueensIf<Predicate, N, X, Configs> {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AddQueens` is never used
[INFO] [stdout]    --> src/nqueens.rs:185:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub trait AddQueens<N, X, Configs> {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NQueensSolution` is never constructed
[INFO] [stdout]    --> src/nqueens.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct NQueensSolution;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `NumberOps` is never used
[INFO] [stdout]    --> src/nqueens.rs:205:11
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub trait NumberOps<N: Number>: Number + PeanoEqual<N> + PeanoAbsDiff<N> {}
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N6` is never used
[INFO] [stdout]   --> src/numbers.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub type N6 = Successor<N5>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N7` is never used
[INFO] [stdout]   --> src/numbers.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub type N7 = Successor<N6>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `N8` is never used
[INFO] [stdout]   --> src/numbers.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub type N8 = Successor<N7>;
[INFO] [stdout]    |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PeanoLT` is never used
[INFO] [stdout]    --> src/numbers.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub trait PeanoLT<OtherNumber: Number> {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PeanoAbsDiff` is never used
[INFO] [stdout]    --> src/numbers.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub trait PeanoAbsDiff<OtherNumber: Number> {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Range` is never used
[INFO] [stdout]    --> src/numbers.rs:202:11
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub trait Range {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeFn` is never constructed
[INFO] [stdout]    --> src/numbers.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub struct RangeFn;
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FUNNY_ZERO` is never used
[INFO] [stdout]    --> src/numbers.rs:245:14
[INFO] [stdout]     |
[INFO] [stdout] 245 |         type FUNNY_ZERO = Successor<Negative<N1>>;
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `NEG_2` is never used
[INFO] [stdout]    --> src/numbers.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |         type NEG_2 = Successor<Negative<Successor<Zero>>>;
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `wut` is never used
[INFO] [stdout]    --> src/numbers.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 |         type wut = m!(eq FUNNY_ZERO, NEG_2);
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `First` is never used
[INFO] [stdout]   --> src/lists.rs:95:11
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub trait First {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FlatMap` is never used
[INFO] [stdout]   --> src/functions.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub trait FlatMap<F> {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Decrement` is never constructed
[INFO] [stdout]   --> src/functions.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Decrement;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IsZero` is never constructed
[INFO] [stdout]   --> src/functions.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct IsZero;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AnyTrue` is never used
[INFO] [stdout]    --> src/functions.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub trait AnyTrue {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `iterate` is never used
[INFO] [stdout]   --> src/gameoflife.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn iterate(active_cells: &mut Vec<Cell>) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.31s
[INFO] running `Command { std: "docker" "inspect" "050e2f7ca8c829cf49cf137c91a1cd1a23b786b803d998b0cfb495284e244c51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "050e2f7ca8c829cf49cf137c91a1cd1a23b786b803d998b0cfb495284e244c51", kill_on_drop: false }`
[INFO] [stdout] 050e2f7ca8c829cf49cf137c91a1cd1a23b786b803d998b0cfb495284e244c51
