[INFO] cloning repository https://github.com/Elle-Wen/CacheResearch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Elle-Wen/CacheResearch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElle-Wen%2FCacheResearch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElle-Wen%2FCacheResearch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 670f32b3aa5c9d1defc7e08614655dbade7f0763
[INFO] testing Elle-Wen/CacheResearch against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElle-Wen%2FCacheResearch" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Elle-Wen/CacheResearch
[INFO] finished tweaking git repo https://github.com/Elle-Wen/CacheResearch
[INFO] tweaked toml for git repo https://github.com/Elle-Wen/CacheResearch written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Elle-Wen/CacheResearch on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Elle-Wen/CacheResearch 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anyhow v1.0.58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d82379893837638ef74bf61c22acb8aa8c94d720da12426520222de947eee92d
[INFO] running `Command { std: "docker" "start" "-a" "d82379893837638ef74bf61c22acb8aa8c94d720da12426520222de947eee92d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d82379893837638ef74bf61c22acb8aa8c94d720da12426520222de947eee92d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d82379893837638ef74bf61c22acb8aa8c94d720da12426520222de947eee92d", kill_on_drop: false }`
[INFO] [stdout] d82379893837638ef74bf61c22acb8aa8c94d720da12426520222de947eee92d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8fd19c2d96f16ed68cfa56cdde7857c8291faff20a996b68f1b800d3232b8532
[INFO] running `Command { std: "docker" "start" "-a" "8fd19c2d96f16ed68cfa56cdde7857c8291faff20a996b68f1b800d3232b8532", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling getrandom v0.2.6
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.2
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling cache-sim v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/trace.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn iter(&self) -> std::slice::Iter<I> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn iter(&self) -> std::slice::Iter<'_, I> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.95s
[INFO] running `Command { std: "docker" "inspect" "8fd19c2d96f16ed68cfa56cdde7857c8291faff20a996b68f1b800d3232b8532", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fd19c2d96f16ed68cfa56cdde7857c8291faff20a996b68f1b800d3232b8532", kill_on_drop: false }`
[INFO] [stdout] 8fd19c2d96f16ed68cfa56cdde7857c8291faff20a996b68f1b800d3232b8532
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e064097f621cf67bb8e902bcecd73089d2a7045577064fe01101f04e49a6ab85
[INFO] running `Command { std: "docker" "start" "-a" "e064097f621cf67bb8e902bcecd73089d2a7045577064fe01101f04e49a6ab85", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/trace.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn iter(&self) -> std::slice::Iter<I> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn iter(&self) -> std::slice::Iter<'_, I> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cache-sim v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:102:47
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     assert!(NoCondition.check(&Trace::from(vec![$($in),*]), $index));
[INFO] [stdout]     |                                         ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 107 |         test_case!(counting_up: 1, 2, 3; 0);
[INFO] [stdout]     |         ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:102:48
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     assert!(NoCondition.check(&Trace::from(vec![$($in),*]), $index));
[INFO] [stdout]     |                                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 107 |         test_case!(counting_up: 1, 2, 3; 0);
[INFO] [stdout]     |         ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:102:47
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     assert!(NoCondition.check(&Trace::from(vec![$($in),*]), $index));
[INFO] [stdout]     |                                         ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 108 |         test_case!(zeros: 0, 0, 0; 2);
[INFO] [stdout]     |         ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:102:48
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     assert!(NoCondition.check(&Trace::from(vec![$($in),*]), $index));
[INFO] [stdout]     |                                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 108 |         test_case!(zeros: 0, 0, 0; 2);
[INFO] [stdout]     |         ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:102:47
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     assert!(NoCondition.check(&Trace::from(vec![$($in),*]), $index));
[INFO] [stdout]     |                                         ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 109 |         test_case!(noise: 1, 0, 5, 3, 17; 3);
[INFO] [stdout]     |         ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:102:48
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     assert!(NoCondition.check(&Trace::from(vec![$($in),*]), $index));
[INFO] [stdout]     |                                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 109 |         test_case!(noise: 1, 0, 5, 3, 17; 3);
[INFO] [stdout]     |         ------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for closures
[INFO] [stdout]    --> src/condition.rs:124:44
[INFO] [stdout]     |
[INFO] [stdout] 124 |         test_case!(equals_zero: |t: &Trace<_>, i| t[i] == 0, on 1, 2, 0; 2 => true);
[INFO] [stdout]     |                                            ^ not allowed in type signatures
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |         test_case!(equals_zero: |t: &Trace<_>, i| t[i] == 0, on 1, 2, 0; 2 => true);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::Trace`
[INFO] [stdout]    --> src/trace.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct Trace<I: Item = u32> {
[INFO] [stdout]     |                     ^^^^ required by this bound in `Trace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:124:51
[INFO] [stdout]     |
[INFO] [stdout] 124 |         test_case!(equals_zero: |t: &Trace<_>, i| t[i] == 0, on 1, 2, 0; 2 => true);
[INFO] [stdout]     |                                                   ^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `Index<usize>`
[INFO] [stdout]    --> src/trace.rs:327:20
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<I: Item, Idx> std::ops::Index<Idx> for Trace<I>
[INFO] [stdout]     |         ----       ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:49
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                           ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 124 |         test_case!(equals_zero: |t: &Trace<_>, i| t[i] == 0, on 1, 2, 0; 2 => true);
[INFO] [stdout]     |         --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:50
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                  ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 124 |         test_case!(equals_zero: |t: &Trace<_>, i| t[i] == 0, on 1, 2, 0; 2 => true);
[INFO] [stdout]     |         --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for closures
[INFO] [stdout]    --> src/condition.rs:125:42
[INFO] [stdout]     |
[INFO] [stdout] 125 |         test_case!(after_one: |t: &Trace<_>, i| i>0 && t[i-1] == 1, on 1, 0, 1, 2; 3 => true);
[INFO] [stdout]     |                                          ^ not allowed in type signatures
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |         test_case!(after_one: |t: &Trace<_>, i| i>0 && t[i-1] == 1, on 1, 0, 1, 2; 3 => true);
[INFO] [stdout]     |                                ^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::Trace`
[INFO] [stdout]    --> src/trace.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct Trace<I: Item = u32> {
[INFO] [stdout]     |                     ^^^^ required by this bound in `Trace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:125:56
[INFO] [stdout]     |
[INFO] [stdout] 125 |         test_case!(after_one: |t: &Trace<_>, i| i>0 && t[i-1] == 1, on 1, 0, 1, 2; 3 => true);
[INFO] [stdout]     |                                                        ^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `Index<usize>`
[INFO] [stdout]    --> src/trace.rs:327:20
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<I: Item, Idx> std::ops::Index<Idx> for Trace<I>
[INFO] [stdout]     |         ----       ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:49
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                           ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 125 |         test_case!(after_one: |t: &Trace<_>, i| i>0 && t[i-1] == 1, on 1, 0, 1, 2; 3 => true);
[INFO] [stdout]     |         ------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:50
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                  ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 125 |         test_case!(after_one: |t: &Trace<_>, i| i>0 && t[i-1] == 1, on 1, 0, 1, 2; 3 => true);
[INFO] [stdout]     |         ------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for closures
[INFO] [stdout]    --> src/condition.rs:126:44
[INFO] [stdout]     |
[INFO] [stdout] 126 |         test_case!(one_greater: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 3 => true);
[INFO] [stdout]     |                                            ^ not allowed in type signatures
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:126:34
[INFO] [stdout]     |
[INFO] [stdout] 126 |         test_case!(one_greater: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 3 => true);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::Trace`
[INFO] [stdout]    --> src/trace.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct Trace<I: Item = u32> {
[INFO] [stdout]     |                     ^^^^ required by this bound in `Trace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:126:58
[INFO] [stdout]     |
[INFO] [stdout] 126 |         test_case!(one_greater: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 3 => true);
[INFO] [stdout]     |                                                          ^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `Index<usize>`
[INFO] [stdout]    --> src/trace.rs:327:20
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<I: Item, Idx> std::ops::Index<Idx> for Trace<I>
[INFO] [stdout]     |         ----       ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:126:72
[INFO] [stdout]     |
[INFO] [stdout] 126 |         test_case!(one_greater: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 3 => true);
[INFO] [stdout]     |                                                                        ^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `Index<usize>`
[INFO] [stdout]    --> src/trace.rs:327:20
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<I: Item, Idx> std::ops::Index<Idx> for Trace<I>
[INFO] [stdout]     |         ----       ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:49
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                           ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 126 |         test_case!(one_greater: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 3 => true);
[INFO] [stdout]     |         ---------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:50
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                  ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 126 |         test_case!(one_greater: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 3 => true);
[INFO] [stdout]     |         ---------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for closures
[INFO] [stdout]    --> src/condition.rs:127:48
[INFO] [stdout]     |
[INFO] [stdout] 127 |         test_case!(wrong_condition: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 2 => false);
[INFO] [stdout]     |                                                ^ not allowed in type signatures
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:127:38
[INFO] [stdout]     |
[INFO] [stdout] 127 |         test_case!(wrong_condition: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 2 => false);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::Trace`
[INFO] [stdout]    --> src/trace.rs:14:21
[INFO] [stdout]     |
[INFO] [stdout]  14 | pub struct Trace<I: Item = u32> {
[INFO] [stdout]     |                     ^^^^ required by this bound in `Trace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:127:62
[INFO] [stdout]     |
[INFO] [stdout] 127 |         test_case!(wrong_condition: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 2 => false);
[INFO] [stdout]     |                                                              ^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `Index<usize>`
[INFO] [stdout]    --> src/trace.rs:327:20
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<I: Item, Idx> std::ops::Index<Idx> for Trace<I>
[INFO] [stdout]     |         ----       ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:127:76
[INFO] [stdout]     |
[INFO] [stdout] 127 |         test_case!(wrong_condition: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 2 => false);
[INFO] [stdout]     |                                                                            ^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `Index<usize>`
[INFO] [stdout]    --> src/trace.rs:327:20
[INFO] [stdout]     |
[INFO] [stdout] 327 | impl<I: Item, Idx> std::ops::Index<Idx> for Trace<I>
[INFO] [stdout]     |         ----       ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:49
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                           ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 127 |         test_case!(wrong_condition: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 2 => false);
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:119:50
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     assert_eq!($condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                  ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 127 |         test_case!(wrong_condition: |t: &Trace<_>, i| i>0 && t[i-1] + 1 == t[i], on 0, 2, 0, 1; 2 => false);
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:137:38
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     let condition = LastNItems::new(vec![$($seq),*]);
[INFO] [stdout]     |                                     --------------- ^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 143 |         test_case!(one_zero: 0; on 1, 0, 2; 2 => true);
[INFO] [stdout]     |         ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::LastNItems::<I>::new`
[INFO] [stdout]    --> src/condition.rs:32:9
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl<I: Item> LastNItems<I> {
[INFO] [stdout]     |         ^^^^ required by this bound in `LastNItems::<I>::new`
[INFO] [stdout]  33 |     #[must_use]
[INFO] [stdout]  34 |     pub fn new(items: Vec<I>) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                          ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 143 |         test_case!(one_zero: 0; on 1, 0, 2; 2 => true);
[INFO] [stdout]     |         ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                 ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 143 |         test_case!(one_zero: 0; on 1, 0, 2; 2 => true);
[INFO] [stdout]     |         ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:137:38
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     let condition = LastNItems::new(vec![$($seq),*]);
[INFO] [stdout]     |                                     --------------- ^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 144 |         test_case!(incrementing: 1, 2; on 0, 1, 2, 3; 3 => true);
[INFO] [stdout]     |         -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::LastNItems::<I>::new`
[INFO] [stdout]    --> src/condition.rs:32:9
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl<I: Item> LastNItems<I> {
[INFO] [stdout]     |         ^^^^ required by this bound in `LastNItems::<I>::new`
[INFO] [stdout]  33 |     #[must_use]
[INFO] [stdout]  34 |     pub fn new(items: Vec<I>) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                          ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 144 |         test_case!(incrementing: 1, 2; on 0, 1, 2, 3; 3 => true);
[INFO] [stdout]     |         -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                 ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 144 |         test_case!(incrementing: 1, 2; on 0, 1, 2, 3; 3 => true);
[INFO] [stdout]     |         -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:137:38
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     let condition = LastNItems::new(vec![$($seq),*]);
[INFO] [stdout]     |                                     --------------- ^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 145 |         test_case!(repeated: 1; on 1, 2, 1, 0; 3 => true);
[INFO] [stdout]     |         ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::LastNItems::<I>::new`
[INFO] [stdout]    --> src/condition.rs:32:9
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl<I: Item> LastNItems<I> {
[INFO] [stdout]     |         ^^^^ required by this bound in `LastNItems::<I>::new`
[INFO] [stdout]  33 |     #[must_use]
[INFO] [stdout]  34 |     pub fn new(items: Vec<I>) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                          ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 145 |         test_case!(repeated: 1; on 1, 2, 1, 0; 3 => true);
[INFO] [stdout]     |         ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                 ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 145 |         test_case!(repeated: 1; on 1, 2, 1, 0; 3 => true);
[INFO] [stdout]     |         ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:137:38
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     let condition = LastNItems::new(vec![$($seq),*]);
[INFO] [stdout]     |                                     --------------- ^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 146 |         test_case!(wrong_condition: 3; on 1, 2, 0, 1; 2 => false);
[INFO] [stdout]     |         --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::LastNItems::<I>::new`
[INFO] [stdout]    --> src/condition.rs:32:9
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl<I: Item> LastNItems<I> {
[INFO] [stdout]     |         ^^^^ required by this bound in `LastNItems::<I>::new`
[INFO] [stdout]  33 |     #[must_use]
[INFO] [stdout]  34 |     pub fn new(items: Vec<I>) -> Self {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:48
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                          ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 146 |         test_case!(wrong_condition: 3; on 1, 2, 0, 1; 2 => false);
[INFO] [stdout]     |         --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `condition::Condition::check`
[INFO] [stdout]    --> src/condition.rs:6:24
[INFO] [stdout]     |
[INFO] [stdout]   6 | pub trait Condition<I: Item> {
[INFO] [stdout]     |                        ^^^^ required by this bound in `Condition::check`
[INFO] [stdout] ...
[INFO] [stdout]   9 |     fn check(&self, trace: &Trace<I>, index: usize) -> bool;
[INFO] [stdout]     |        ----- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/condition.rs:138:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     assert_eq!(condition.check(&Trace::from(vec![$($in),*]), $index), $out);
[INFO] [stdout]     |                                                 ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 146 |         test_case!(wrong_condition: 3; on 1, 2, 0, 1; 2 => false);
[INFO] [stdout]     |         --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `test_case` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:551:60
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances().inner(), vec![$($out),*])
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 556 |         stack_distance_test!(basic: 1, 2, 3 => None, None, None);
[INFO] [stdout]     |         -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances(/* bool */).inner(), vec![$($out),*])
[INFO] [stdout]     |                                                                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:551:60
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances().inner(), vec![$($out),*])
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 557 |         stack_distance_test!(repeated: 1, 1, 1 => None, Some(0), Some(0));
[INFO] [stdout]     |         ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances(/* bool */).inner(), vec![$($out),*])
[INFO] [stdout]     |                                                                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:551:60
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances().inner(), vec![$($out),*])
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 558 |         stack_distance_test!(one_two: 1, 2, 1, 1, 1 => None, None, Some(1), Some(0), Some(0));
[INFO] [stdout]     |         ------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances(/* bool */).inner(), vec![$($out),*])
[INFO] [stdout]     |                                                                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:551:60
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances().inner(), vec![$($out),*])
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 559 |         stack_distance_test!(one_repeated: 1, 2, 3, 1 => None, None, None, Some(2));
[INFO] [stdout]     |         --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 551 |                     assert_eq!(Trace::from(vec![$($in),*]).stack_distances(/* bool */).inner(), vec![$($out),*])
[INFO] [stdout]     |                                                                            ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:587:75
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances().histogram();
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 594 |         stack_distance_histogram_test!(basic: 1, 2, 3 => ; 3);
[INFO] [stdout]     |         ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_histogram_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances(/* bool */).histogram();
[INFO] [stdout]     |                                                                                           ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:587:75
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances().histogram();
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 595 |         stack_distance_histogram_test!(repeated: 1, 1, 1 => 2; 1);
[INFO] [stdout]     |         --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_histogram_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances(/* bool */).histogram();
[INFO] [stdout]     |                                                                                           ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:587:75
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances().histogram();
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 596 |         stack_distance_histogram_test!(one_two: 1, 2, 1, 1, 1 => 2, 1; 2);
[INFO] [stdout]     |         ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_histogram_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances(/* bool */).histogram();
[INFO] [stdout]     |                                                                                           ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> src/trace.rs:587:75
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances().histogram();
[INFO] [stdout]     |                                                                           ^^^^^^^^^^^^^^^-- argument #1 of type `bool` is missing
[INFO] [stdout] ...
[INFO] [stdout] 597 |         stack_distance_histogram_test!(one_repeated: 1, 2, 3, 1 => 0, 0, 1; 3);
[INFO] [stdout]     |         ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/trace.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn stack_distances(&self, paging_model: bool) -> StackDistance {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^        ------------------
[INFO] [stdout]     = note: this error originates in the macro `stack_distance_histogram_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     let (freqs, infinities) = Trace::from(vec![$($in),*]).stack_distances(/* bool */).histogram();
[INFO] [stdout]     |                                                                                           ++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:610:32
[INFO] [stdout]     |
[INFO] [stdout] 610 |                     assert_eq!(Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default()), HashMap::from([$($out),*]))
[INFO] [stdout]     |                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 615 |         frequency_test!(basic: 1, 2, 3 => (1, 1), (2, 1), (3, 1));
[INFO] [stdout]     |         --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `frequency_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:610:32
[INFO] [stdout]     |
[INFO] [stdout] 610 |                     assert_eq!(Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default()), HashMap::from([$($out),*]))
[INFO] [stdout]     |                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 616 |         frequency_test!(repeated: 1, 1, 1 => (1, 3));
[INFO] [stdout]     |         -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `frequency_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:610:32
[INFO] [stdout]     |
[INFO] [stdout] 610 |                     assert_eq!(Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default()), HashMap::from([$($out),*]))
[INFO] [stdout]     |                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 617 |         frequency_test!(one_two: 1, 2, 1, 1, 1 => (1, 4), (2, 1));
[INFO] [stdout]     |         --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `frequency_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:610:32
[INFO] [stdout]     |
[INFO] [stdout] 610 |                     assert_eq!(Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default()), HashMap::from([$($out),*]))
[INFO] [stdout]     |                                ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 618 |         frequency_test!(one_repeated: 1, 2, 3, 1 => (1, 2), (2, 1), (3, 1));
[INFO] [stdout]     |         ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `frequency_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:38
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                              ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 636 |         entropy_test!(one_item: 0,0,0,0 => 0.0);
[INFO] [stdout]     |         --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::entropy`
[INFO] [stdout]    --> src/trace.rs:463:19
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub fn entropy<I: Item, H: std::hash::BuildHasher>(histogram: &HashMap<I, u32, H>) -> f64 { //wrong calculation???
[INFO] [stdout]     |                   ^^^^ required by this bound in `entropy`
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:39
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                                       ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 636 |         entropy_test!(one_item: 0,0,0,0 => 0.0);
[INFO] [stdout]     |         --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:38
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                              ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 637 |         entropy_test!(basic_uniform: 0,1,1,0,1,0 => 1.0);
[INFO] [stdout]     |         ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::entropy`
[INFO] [stdout]    --> src/trace.rs:463:19
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub fn entropy<I: Item, H: std::hash::BuildHasher>(histogram: &HashMap<I, u32, H>) -> f64 { //wrong calculation???
[INFO] [stdout]     |                   ^^^^ required by this bound in `entropy`
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:39
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                                       ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 637 |         entropy_test!(basic_uniform: 0,1,1,0,1,0 => 1.0);
[INFO] [stdout]     |         ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:38
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                              ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 638 |         entropy_test!(unbalanced: 0,1,2,0,2,0,0,3 => 1.75);
[INFO] [stdout]     |         -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::entropy`
[INFO] [stdout]    --> src/trace.rs:463:19
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub fn entropy<I: Item, H: std::hash::BuildHasher>(histogram: &HashMap<I, u32, H>) -> f64 { //wrong calculation???
[INFO] [stdout]     |                   ^^^^ required by this bound in `entropy`
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:39
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                                       ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 638 |         entropy_test!(unbalanced: 0,1,2,0,2,0,0,3 => 1.75);
[INFO] [stdout]     |         -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:38
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                              ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              required by a bound introduced by this call
[INFO] [stdout] ...
[INFO] [stdout] 639 |         entropy_test!(precise_value: 0,1,2,0,2,0,0 => 1.37878);
[INFO] [stdout]     |         ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required by a bound in `trace::entropy`
[INFO] [stdout]    --> src/trace.rs:463:19
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub fn entropy<I: Item, H: std::hash::BuildHasher>(histogram: &HashMap<I, u32, H>) -> f64 { //wrong calculation???
[INFO] [stdout]     |                   ^^^^ required by this bound in `entropy`
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `i32: Item` is not satisfied
[INFO] [stdout]    --> src/trace.rs:631:39
[INFO] [stdout]     |
[INFO] [stdout] 631 |                     assert!((entropy(&Trace::from(vec![$($in),*]).frequency_histogram(&NoCondition::default())) - $out).abs() <= 0.0001)
[INFO] [stdout]     |                                       ^^^^^ the trait `Item` is not implemented for `i32`
[INFO] [stdout] ...
[INFO] [stdout] 639 |         entropy_test!(precise_value: 0,1,2,0,2,0,0 => 1.37878);
[INFO] [stdout]     |         ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] help: the following other types implement trait `Item`
[INFO] [stdout]    --> src/item.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Item for u32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u32`
[INFO] [stdout] ...
[INFO] [stdout]  29 | impl Item for u64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `u64`
[INFO] [stdout] ...
[INFO] [stdout]  41 | impl Item for i64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ `i64`
[INFO] [stdout] note: required for `trace::Trace<i32>` to implement `From<Vec<i32>>`
[INFO] [stdout]    --> src/trace.rs:19:15
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl<I: Item> From<Vec<I>> for Trace<I> {
[INFO] [stdout]     |         ----  ^^^^^^^^^^^^     ^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout]     = note: this error originates in the macro `entropy_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0121, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cache-sim` (lib test) due to 60 previous errors
[INFO] running `Command { std: "docker" "inspect" "e064097f621cf67bb8e902bcecd73089d2a7045577064fe01101f04e49a6ab85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e064097f621cf67bb8e902bcecd73089d2a7045577064fe01101f04e49a6ab85", kill_on_drop: false }`
[INFO] [stdout] e064097f621cf67bb8e902bcecd73089d2a7045577064fe01101f04e49a6ab85
