[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] checking Elle-Wen/CacheResearch against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FElle-Wen%2FCacheResearch" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  63% (343/538)
Updating files:  64% (345/538)
Updating files:  65% (350/538)
Updating files:  66% (356/538)
Updating files:  67% (361/538)
Updating files:  68% (366/538)
Updating files:  69% (372/538)
Updating files:  70% (377/538)
Updating files:  71% (382/538)
Updating files:  72% (388/538)
Updating files:  73% (393/538)
Updating files:  74% (399/538)
Updating files:  75% (404/538)
Updating files:  76% (409/538)
Updating files:  77% (415/538)
Updating files:  78% (420/538)
Updating files:  79% (426/538)
Updating files:  80% (431/538)
Updating files:  81% (436/538)
Updating files:  82% (442/538)
Updating files:  83% (447/538)
Updating files:  84% (452/538)
Updating files:  85% (458/538)
Updating files:  86% (463/538)
Updating files:  87% (469/538)
Updating files:  88% (474/538)
Updating files:  89% (479/538)
Updating files:  90% (485/538)
Updating files:  91% (490/538)
Updating files:  92% (495/538)
Updating files:  93% (501/538)
Updating files:  94% (506/538)
Updating files:  95% (512/538)
Updating files:  96% (517/538)
Updating files:  97% (522/538)
Updating files:  98% (528/538)
Updating files:  99% (533/538)
Updating files: 100% (538/538)
Updating files: 100% (538/538), 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-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Elle-Wen/CacheResearch on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b0baa837d928c9ce313ea1e8435498aba3c2947ea6ff16434ddbe53bd58add57
[INFO] running `Command { std: "docker" "start" "-a" "b0baa837d928c9ce313ea1e8435498aba3c2947ea6ff16434ddbe53bd58add57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b0baa837d928c9ce313ea1e8435498aba3c2947ea6ff16434ddbe53bd58add57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0baa837d928c9ce313ea1e8435498aba3c2947ea6ff16434ddbe53bd58add57", kill_on_drop: false }`
[INFO] [stdout] b0baa837d928c9ce313ea1e8435498aba3c2947ea6ff16434ddbe53bd58add57
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dac51931878e0ec9cbcf3440d0d2520949df095a59211d64ef49f7f9adfea552
[INFO] running `Command { std: "docker" "start" "-a" "dac51931878e0ec9cbcf3440d0d2520949df095a59211d64ef49f7f9adfea552", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]     Checking getrandom v0.2.6
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.2
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking 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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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: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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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: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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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: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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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: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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/trace.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn iter(&self) -> std::slice::Iter<I> {
[INFO] [stdout]     |                 ^^^^^     ------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn iter(&self) -> std::slice::Iter<'_, I> {
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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]               i64
[INFO] [stdout]               u32
[INFO] [stdout]               u64
[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, 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 56 previous errors
[INFO] running `Command { std: "docker" "inspect" "dac51931878e0ec9cbcf3440d0d2520949df095a59211d64ef49f7f9adfea552", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dac51931878e0ec9cbcf3440d0d2520949df095a59211d64ef49f7f9adfea552", kill_on_drop: false }`
[INFO] [stdout] dac51931878e0ec9cbcf3440d0d2520949df095a59211d64ef49f7f9adfea552
