[INFO] fetching crate yggdrasil-rt 0.1.3...
[INFO] testing yggdrasil-rt-0.1.3 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate yggdrasil-rt 0.1.3 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate yggdrasil-rt 0.1.3 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate yggdrasil-rt 0.1.3
[INFO] finished tweaking crates.io crate yggdrasil-rt 0.1.3
[INFO] tweaked toml for crates.io crate yggdrasil-rt 0.1.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 12 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded daachorse v1.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9f7af975f9e44643ce683597506b0f3de22e41ea2766028551a91f157a5c866
[INFO] running `Command { std: "docker" "start" "-a" "a9f7af975f9e44643ce683597506b0f3de22e41ea2766028551a91f157a5c866", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9f7af975f9e44643ce683597506b0f3de22e41ea2766028551a91f157a5c866", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9f7af975f9e44643ce683597506b0f3de22e41ea2766028551a91f157a5c866", kill_on_drop: false }`
[INFO] [stdout] a9f7af975f9e44643ce683597506b0f3de22e41ea2766028551a91f157a5c866
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13b7335851d62ac42d294bded377141f81fa833e62ff3a5b5eb5cf7860e02a8b
[INFO] running `Command { std: "docker" "start" "-a" "13b7335851d62ac42d294bded377141f81fa833e62ff3a5b5eb5cf7860e02a8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling daachorse v1.0.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.6
[INFO] [stderr]    Compiling yggdrasil-rt v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.96s
[INFO] running `Command { std: "docker" "inspect" "13b7335851d62ac42d294bded377141f81fa833e62ff3a5b5eb5cf7860e02a8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13b7335851d62ac42d294bded377141f81fa833e62ff3a5b5eb5cf7860e02a8b", kill_on_drop: false }`
[INFO] [stdout] 13b7335851d62ac42d294bded377141f81fa833e62ff3a5b5eb5cf7860e02a8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f2aadb16071ce3a28bec9f7d78463267c0e97653ebd87e1fd48125722c53347
[INFO] running `Command { std: "docker" "start" "-a" "4f2aadb16071ce3a28bec9f7d78463267c0e97653ebd87e1fd48125722c53347", kill_on_drop: false }`
[INFO] [stderr]    Compiling yggdrasil-rt v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `a` should have an upper camel case name
[INFO] [stdout]  --> tests/suffix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     a,
[INFO] [stdout]   |     ^ help: convert the identifier to upper camel case: `A`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `a` is never constructed
[INFO] [stdout]  --> tests/suffix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Rule {
[INFO] [stdout]   |      ---- variant in this enum
[INFO] [stdout] 7 |     a,
[INFO] [stdout]   |     ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Rule` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.81s
[INFO] running `Command { std: "docker" "inspect" "4f2aadb16071ce3a28bec9f7d78463267c0e97653ebd87e1fd48125722c53347", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f2aadb16071ce3a28bec9f7d78463267c0e97653ebd87e1fd48125722c53347", kill_on_drop: false }`
[INFO] [stdout] 4f2aadb16071ce3a28bec9f7d78463267c0e97653ebd87e1fd48125722c53347
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9a95dd9d5acfcd47f358b23e69048d1cd885d127eaae5b671eedf5350188d521
[INFO] running `Command { std: "docker" "start" "-a" "9a95dd9d5acfcd47f358b23e69048d1cd885d127eaae5b671eedf5350188d521", kill_on_drop: false }`
[INFO] [stderr] warning: variant `a` should have an upper camel case name
[INFO] [stderr]  --> tests/suffix.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     a,
[INFO] [stderr]   |     ^ help: convert the identifier to upper camel case: `A`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `a` is never constructed
[INFO] [stderr]  --> tests/suffix.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | enum Rule {
[INFO] [stderr]   |      ---- variant in this enum
[INFO] [stderr] 7 |     a,
[INFO] [stderr]   |     ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Rule` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `yggdrasil-rt` (test "suffix") generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/yggdrasil_rt-ac8b0d034fa553dd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/concat.rs (/opt/rustwide/target/debug/deps/concat-d02ad92e48ba1a17)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/main.rs (/opt/rustwide/target/debug/deps/main-c50f098fd67c1385)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test stack::snapshot_pop_push_restore ... ok
[INFO] [stdout] test stack::snapshot_pop_clear ... ok
[INFO] [stdout] test stack::restore_without_snapshot ... ok
[INFO] [stdout] test stack::snapshot_push_pop_restore ... ok
[INFO] [stdout] test stack::snapshot_pop_restore ... ok
[INFO] [stdout] test stack::snapshot_with_empty ... ok
[INFO] [stdout] test stack::snapshot_twice ... ok
[INFO] [stdout] test stack::snapshot_push_clear ... ok
[INFO] [stdout] test ready ... ok
[INFO] [stdout] test suffix::test ... ok
[INFO] [stdout] test stack::stack_ops ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stack.rs (/opt/rustwide/target/debug/deps/stack-c6a1d56658acd1e3)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test restore_without_snapshot ... ok
[INFO] [stdout] test snapshot_pop_restore ... ok
[INFO] [stdout] test snapshot_push_clear ... ok
[INFO] [stdout] test snapshot_pop_clear ... ok
[INFO] [stdout] test snapshot_pop_push_restore ... ok
[INFO] [stdout] test snapshot_push_pop_restore ... ok
[INFO] [stdout] test stack_ops ... ok
[INFO] [stdout] test snapshot_with_empty ... ok
[INFO] [stdout] test snapshot_twice ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/suffix.rs (/opt/rustwide/target/debug/deps/suffix-aac2aa039387b416)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests yggdrasil_rt
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError<R>::new_from_span (line 85) ... FAILED
[INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError<R>::renamed_rules (line 206) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::tokens (line 362) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::into_inner (line 203) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_rule (line 57) ... FAILED
[INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError<R>::with_path (line 138) ... FAILED
[INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::flatten (line 150) ... FAILED
[INFO] [stdout] test src/iterators/token_stream/mod.rs - iterators::token_stream::TokenStream<'i,R>::tokens (line 31) ... FAILED
[INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::concat (line 121) ... FAILED
[INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::as_str (line 48) ... FAILED
[INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError<R>::get_local_path (line 168) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_span (line 161) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::has_child (line 326) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::as_str (line 89) ... FAILED
[INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_input (line 130) ... FAILED
[INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::find_tagged (line 183) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::new (line 115) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::end_of_input (line 687) ... FAILED
[INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::get_input (line 89) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::match_char_if (line 478) ... FAILED
[INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::tokens (line 232) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::match_range (line 566) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::optional (line 444) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::match_string (line 518) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::position (line 136) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::match_regex (line 596) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::rest_of_line (line 713) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::sequence (line 344) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::repeat (line 389) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::skip (line 632) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_peek (line 846) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_match_peek (line 955) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_drop (line 1021) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::state (line 70) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::start_of_input (line 660) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_match_peek_slice (line 896) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_pop (line 872) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_match_pop (line 980) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::stack_push (line 811) ... FAILED
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::tag_node (line 245) ... FAILED
[INFO] [stdout] test src/position.rs - position::Position<'i>::line_column (line 116) ... FAILED
[INFO] [stdout] test src/position.rs - position::Position<'i>::line_of (line 178) ... FAILED
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::as_str (line 206) ... FAILED
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::lines (line 251) ... FAILED
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::lines_span (line 274) ... FAILED
[INFO] [stdout] test src/position.rs - position::Position<'i>::offset (line 68) ... ok
[INFO] [stdout] test src/position.rs - position::Position<'i>::from_start (line 53) ... ok
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::restore_on_err (line 1049) ... ok
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::rule (line 159) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::end (line 110) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::get_range (line 128) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::new (line 51) ... ok
[INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::lookahead (line 739) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::end_pos (line 165) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::start_pos (line 146) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::split (line 184) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::get (line 63) ... ok
[INFO] [stdout] test src/span.rs - span::merge_spans (line 334) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::get_input (line 234) ... ok
[INFO] [stdout] test src/span.rs - span::TextSpan<'i>::start (line 92) ... ok
[INFO] [stdout] test src/position.rs - position::Position<'i>::new (line 38) ... ok
[INFO] [stdout] test src/position.rs - position::Position<'i>::span (line 88) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/errors/mod.rs - errors::YggdrasilError<R>::new_from_span (line 85) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `yggdrasil_rt::error`
[INFO] [stdout]  --> src/errors/mod.rs:87:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use yggdrasil_rt::error::{YggdrasilError, ErrorKind};
[INFO] [stdout]   |                   ^^^^^ could not find `error` in `yggdrasil_rt`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/errors/mod.rs - errors::YggdrasilError<R>::renamed_rules (line 206) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `yggdrasil_rt::error`
[INFO] [stdout]  --> src/errors/mod.rs:208:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use yggdrasil_rt::error::{YggdrasilError, ErrorKind};
[INFO] [stdout]   |                   ^^^^^ could not find `error` in `yggdrasil_rt`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::tokens (line 362) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:375:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:373:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:375:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:375:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:375:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:378:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout] 18 | | .unwrap()
[INFO] [stdout] 19 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::into_inner (line 203) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:216:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:214:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:216:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:216:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:216:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:219:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout] 18 | | .unwrap()
[INFO] [stdout] 19 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_rule (line 57) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:70:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:70:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:70:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:73:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout] 18 | | .unwrap()
[INFO] [stdout] 19 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/errors/mod.rs - errors::YggdrasilError<R>::with_path (line 138) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ErrorKind`
[INFO] [stdout]   --> src/errors/mod.rs:152:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     ErrorKind::ParsingError {
[INFO] [stdout]    |     ^^^^^^^^^ use of undeclared type `ErrorKind`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 2  + use std::io::ErrorKind;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new_from_offset` found for struct `YggdrasilError` in the current scope
[INFO] [stdout]    --> src/errors/mod.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 16  | YggdrasilError::new_from_offset(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ function or associated item not found in `YggdrasilError<_>`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `YggdrasilError<_>` consider using one of the following associated functions:
[INFO] [stdout]       YggdrasilError::<R>::new_from_span
[INFO] [stdout]       YggdrasilError::<R>::invalid_node
[INFO] [stdout]       YggdrasilError::<R>::missing_rule
[INFO] [stdout]       YggdrasilError::<R>::custom_error
[INFO] [stdout]    --> /opt/rustwide/workdir/src/errors/mod.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn new_from_span(variant: YggdrasilErrorKind<R>, span: TextSpan<'_>) -> YggdrasilError<R> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn invalid_node(expect: R, span: TextSpan) -> YggdrasilError<R> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn missing_rule(expect: R, span: TextSpan) -> YggdrasilError<R> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn custom_error<S: Display>(message: S, span: TextSpan) -> YggdrasilError<R> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `new_from_span` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 16  | YggdrasilError::new_from_span(
[INFO] [stdout]     |                 ~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::flatten (line 150) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_tree/mod.rs:164:11
[INFO] [stdout]     |
[INFO] [stdout] 17  |     state.rule(Rule::a, |state| {
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:162:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |   let pairs = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 16 | |     // generating nested Token pair with Rule::b inside Rule::a
[INFO] [stdout] 17 | |     state.rule(Rule::a, |state| {
[INFO] [stdout] 18 | |         state.rule(Rule::b, |s| Ok(s))
[INFO] [stdout] 19 | |     })
[INFO] [stdout] 20 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `rule` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:165:15
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 18 |         state.rule(Rule::b, |s| Ok(s))
[INFO] [stdout]    |               ^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:164:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |state| {
[INFO] [stdout]    |                          ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flatten` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:169:28
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 22 | let tokens: Vec<_> = pairs.flatten().tokens().collect();
[INFO] [stdout]    |                            ^^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct TokenTree<'i, R> {
[INFO] [stdout]    | --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]            `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `&mut TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_stream/mod.rs - iterators::token_stream::TokenStream<'i,R>::tokens (line 31) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_stream/mod.rs:44:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_stream/mod.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pairs = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_stream/mod.rs:44:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_stream/mod.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_stream/mod.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flatten` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_stream/mod.rs:47:28
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 19 | let tokens: Vec<_> = pairs.flatten().tokens().collect();
[INFO] [stdout]    |                            ^^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct TokenTree<'i, R> {
[INFO] [stdout]    | --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]            `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `&mut TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::concat (line 121) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_tree/mod.rs:135:11
[INFO] [stdout]     |
[INFO] [stdout] 17  |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:133:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |   let pairs = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 16 | |     // generating Token pairs with Rule::a and Rule::b ...
[INFO] [stdout] 17 | |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout] 18 | |         .and_then(|s| s.rule(Rule::b, |s| s.match_string("b")))
[INFO] [stdout] 19 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:135:31
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                               ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:135:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:135:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `skip` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:135:65
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                                                                 ^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            which is required by `&mut Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `&mut State<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:135:60
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                                                            ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:135:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | /     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout] 18 | |         .and_then(|s| s.rule(Rule::b, |s| s.match_string("b")))
[INFO] [stdout]    | |_______________________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `concat` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:140:18
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 22 | assert_eq!(pairs.concat(), "ab");
[INFO] [stdout]    |                  ^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::as_str (line 48) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_tree/mod.rs:62:11
[INFO] [stdout]     |
[INFO] [stdout] 17  |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |   let pairs = state(input, |state| {
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 16 | |     // generating Token pairs with Rule::a and Rule::b ...
[INFO] [stdout] 17 | |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout] 18 | |         .and_then(|s| s.rule(Rule::b, |s| s.match_string("b")))
[INFO] [stdout] 19 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:62:31
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout]    |                               ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `skip` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:62:72
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout]    |                                                                        ^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            which is required by `&mut Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `&mut State<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:62:67
[INFO] [stdout]    |
[INFO] [stdout] 17 |     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout]    |                                                                   ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | /     state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1))
[INFO] [stdout] 18 | |         .and_then(|s| s.rule(Rule::b, |s| s.match_string("b")))
[INFO] [stdout]    | |_______________________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_str` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 22 | assert_eq!(pairs.as_str(), "a b");
[INFO] [stdout]    |                  ^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/errors/mod.rs - errors::YggdrasilError<R>::get_local_path (line 168) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `yggdrasil_rt::error`
[INFO] [stdout]  --> src/errors/mod.rs:170:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use yggdrasil_rt::error::{YggdrasilError, ErrorKind};
[INFO] [stdout]   |                   ^^^^^ could not find `error` in `yggdrasil_rt`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_span (line 161) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:174:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:172:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::ab ...
[INFO] [stdout] 16 | |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:174:32
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 16 |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]    |                                ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:174:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]    |                           ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:177:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 15 | |     // generating Token pair with Rule::ab ...
[INFO] [stdout] 16 | |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout] 17 | | })
[INFO] [stdout] 18 | | .unwrap()
[INFO] [stdout] 19 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::has_child (line 326) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:339:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:337:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:339:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:339:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:339:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:342:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout] 18 | | .unwrap()
[INFO] [stdout] 19 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::as_str (line 89) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:100:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::ab ...
[INFO] [stdout] 16 | |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:102:32
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 16 |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]    |                                ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:102:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]    |                           ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:105:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 15 | |     // generating Token pair with Rule::ab ...
[INFO] [stdout] 16 | |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout] 17 | | })
[INFO] [stdout] 18 | | .unwrap()
[INFO] [stdout] 19 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_input (line 130) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_pair/mod.rs:145:11
[INFO] [stdout]     |
[INFO] [stdout] 18  |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:143:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 17 | |     // generating Token pair with Rule::ab ...
[INFO] [stdout] 18 | |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout] 19 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:145:32
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 18 |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]    |                                ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:145:27
[INFO] [stdout]    |
[INFO] [stdout] 18 |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout]    |                           ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_pair/mod.rs:148:2
[INFO] [stdout]    |
[INFO] [stdout] 9  |   enum Rule {
[INFO] [stdout]    |   --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 16 |   let pair = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  ____________-
[INFO] [stdout] 17 | |     // generating Token pair with Rule::ab ...
[INFO] [stdout] 18 | |     state.rule(Rule::ab, |s| s.match_string("ab", false))
[INFO] [stdout] 19 | | })
[INFO] [stdout] 20 | | .unwrap()
[INFO] [stdout] 21 | | .next()
[INFO] [stdout]    | |_-^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/iterators/token_tree/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct TokenTree<'i, R> {
[INFO] [stdout]    |   --------------------------- doesn't satisfy `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            which is required by `TokenTree<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::find_tagged (line 183) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:193:27
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn mark_branch(state: Box<State<'_, Rule>>) -> Either<Box<State<'_, Rule>>> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:200:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     state: Box<State<'a, Rule>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:214:22
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn number(state: Box<State<'_, Rule>>) -> Either<Box<State<'_, Rule>>> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:219:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | let pairs = state(input, mark_branch).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:219:13
[INFO] [stdout]    |
[INFO] [stdout] 39 | let pairs = state(input, mark_branch).unwrap();
[INFO] [stdout]    |             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `find_tagged` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:220:30
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 40 | let mut left_numbers = pairs.find_tagged("lhs");
[INFO] [stdout]    |                              ^^^^^^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:194:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     expr(state, Rule::mul, "*")
[INFO] [stdout]    |          ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:194:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     expr(state, Rule::mul, "*")
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `tag_node` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:195:33
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 15 |         .and_then(|state| state.tag_node("mul"))
[INFO] [stdout]    |                                 ^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:195:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |         .and_then(|state| state.tag_node("mul"))
[INFO] [stdout]    |                    ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:194:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     expr(state, Rule::mul, "*")
[INFO] [stdout] 15 | |         .and_then(|state| state.tag_node("mul"))
[INFO] [stdout] 16 | |         .or_else(|state| expr(state, Rule::add, "+"))
[INFO] [stdout]    | |_____________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:196:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |         .or_else(|state| expr(state, Rule::add, "+"))
[INFO] [stdout]    |                   ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:194:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     expr(state, Rule::mul, "*")
[INFO] [stdout] 15 | |         .and_then(|state| state.tag_node("mul"))
[INFO] [stdout]    | |________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:194:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     expr(state, Rule::mul, "*")
[INFO] [stdout] 15 | |         .and_then(|state| state.tag_node("mul"))
[INFO] [stdout] 16 | |         .or_else(|state| expr(state, Rule::add, "+"))
[INFO] [stdout] 17 | |         .and_then(|state| state.tag_node("add"))
[INFO] [stdout]    | |________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `tag_node` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:197:33
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 17 |         .and_then(|state| state.tag_node("add"))
[INFO] [stdout]    |                                 ^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:197:20
[INFO] [stdout]    |
[INFO] [stdout] 17 |         .and_then(|state| state.tag_node("add"))
[INFO] [stdout]    |                    ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `rule` exists for struct `Box<State<'a, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:204:11
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 24 |     state.rule(r, |state| {
[INFO] [stdout]    |     ------^^^^ method cannot be called on `Box<State<'a, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:206:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             number(state)
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout]    |                    ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:205:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |         state.sequence(|state| {
[INFO] [stdout]    |                         ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:206:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |             number(state)
[INFO] [stdout]    |             ^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `tag_node` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:207:41
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 27 |                 .and_then(|state| state.tag_node("lhs"))
[INFO] [stdout]    |                                         ^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:207:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 .and_then(|state| state.tag_node("lhs"))
[INFO] [stdout]    |                            ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:206:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | /             number(state)
[INFO] [stdout] 27 | |                 .and_then(|state| state.tag_node("lhs"))
[INFO] [stdout] 28 | |                 .and_then(|state| state.match_string(o))
[INFO] [stdout]    | |________________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:206:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | /             number(state)
[INFO] [stdout] 27 | |                 .and_then(|state| state.tag_node("lhs"))
[INFO] [stdout] 28 | |                 .and_then(|state| state.match_string(o))
[INFO] [stdout] 29 | |                 .and_then(number)
[INFO] [stdout]    | |_________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:206:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | /             number(state)
[INFO] [stdout] 27 | |                 .and_then(|state| state.tag_node("lhs"))
[INFO] [stdout] 28 | |                 .and_then(|state| state.match_string(o))
[INFO] [stdout] 29 | |                 .and_then(number)
[INFO] [stdout] 30 | |                 .and_then(|state| state.tag_node("rhs"))
[INFO] [stdout]    | |________________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `tag_node` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:210:41
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 30 |                 .and_then(|state| state.tag_node("rhs"))
[INFO] [stdout]    |                                         ^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:210:28
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 .and_then(|state| state.tag_node("rhs"))
[INFO] [stdout]    |                            ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `rule` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:215:11
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 35 |     state.rule(Rule::number, |state| state.match_range('0'..'9'))
[INFO] [stdout]    |           ^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 28 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::new (line 115) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `&str: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/parser_state.rs:119:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | let state: Box<State<&str>> = State::new(input);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/parser_state.rs:119:31
[INFO] [stdout]     |
[INFO] [stdout] 7   | let state: Box<State<&str>> = State::new(input);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `&str`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::new`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::new`
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn new(input: &'i str) -> Box<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&str: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/parser_state.rs:119:31
[INFO] [stdout]    |
[INFO] [stdout] 7  | let state: Box<State<&str>> = State::new(input);
[INFO] [stdout]    |                               ^^^^^ the trait `YggdrasilRule` is not implemented for `&str`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::end_of_input (line 687) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:701:15
[INFO] [stdout]     |
[INFO] [stdout] 17  | state = state.match_string("ab").unwrap();
[INFO] [stdout]     |               ^^^^^^^^^^^^------ an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 17  | state = state.match_string("ab", /* bool */).unwrap();
[INFO] [stdout]     |                           ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::get_input (line 89) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_tree/mod.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 19  |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:103:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |   let pairs = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 18 | |     // generating Token pairs with Rule::a and Rule::b ...
[INFO] [stdout] 19 | |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout] 20 | |         .and_then(|s| s.rule(Rule::b, |s| s.match_string("b")))
[INFO] [stdout] 21 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:105:31
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 19 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                               ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:105:26
[INFO] [stdout]    |
[INFO] [stdout] 19 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `skip` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:105:65
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 19 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                                                                 ^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            which is required by `&mut Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `&mut State<'_, Rule>: Iterator`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:105:60
[INFO] [stdout]    |
[INFO] [stdout] 19 |     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout]    |                                                            ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:105:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1))
[INFO] [stdout] 20 | |         .and_then(|s| s.rule(Rule::b, |s| s.match_string("b")))
[INFO] [stdout]    | |_______________________________________________________________^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `as_str` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:110:18
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 24 | assert_eq!(pairs.as_str(), "a b");
[INFO] [stdout]    |                  ^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get_input` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:111:25
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 25 | assert_eq!(input, pairs.get_input());
[INFO] [stdout]    |                         ^^^^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::match_char_if (line 478) stdout ----
[INFO] [stdout] error[E0407]: method `all_rules` is not a member of trait `YggdrasilRule`
[INFO] [stdout]  --> src/parser_state.rs:482:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | /    fn all_rules() -> &'static [Self] {
[INFO] [stdout] 8 | |        &[]
[INFO] [stdout] 9 | |    }
[INFO] [stdout]   | |____^ not a member of trait `YggdrasilRule`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `match_char_by` found for struct `Box<State<'_, Rule>>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:496:20
[INFO] [stdout]    |
[INFO] [stdout] 21 | let result = state.match_char_by(|c| c.is_ascii());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `match_char_if` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 21 | let result = state.match_char_if(|c| c.is_ascii());
[INFO] [stdout]    |                    ~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `match_char_by` found for struct `Box<State<'_, Rule>>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:502:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | let result = state.match_char_by(|c| c.is_ascii());
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `match_char_if` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 27 | let result = state.match_char_if(|c| c.is_ascii());
[INFO] [stdout]    |                    ~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0407, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0407`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::tokens (line 232) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/iterators/token_tree/mod.rs:245:11
[INFO] [stdout]     |
[INFO] [stdout] 16  |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]     |           ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::rule`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::rule`
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn rule<F>(mut self: Box<Self>, rule: R, f: F) -> Either<Box<Self>>
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:243:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |   let pairs = yggdrasil_rt::state(input, |state| {
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 15 | |     // generating Token pair with Rule::a ...
[INFO] [stdout] 16 | |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout] 17 | | })
[INFO] [stdout]    | |__^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:245:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                          ^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:245:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:245:29
[INFO] [stdout]    |
[INFO] [stdout] 16 |     state.rule(Rule::a, |s| Ok(s))
[INFO] [stdout]    |                             ^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `tokens` exists for struct `TokenTree<'_, Rule>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/iterators/token_tree/mod.rs:248:28
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 19 | let tokens: Vec<_> = pairs.tokens().collect();
[INFO] [stdout]    |                            ^^^^^^ method cannot be called on `TokenTree<'_, Rule>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::match_range (line 566) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:578:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert_eq!(result.unwrap().position().pos(), 1);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:583:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | assert_eq!(result.unwrap_err().position().pos(), 0);
[INFO] [stdout]    |                                           ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::optional (line 444) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:456:35
[INFO] [stdout]     |
[INFO] [stdout] 15  | let result = state.optional(|s| s.match_string("ab"));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^------ an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 15  | let result = state.optional(|s| s.match_string("ab", /* bool */));
[INFO] [stdout]     |                                               ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:460:35
[INFO] [stdout]     |
[INFO] [stdout] 19  | let result = state.optional(|s| s.match_string("ac"));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^------ an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 19  | let result = state.optional(|s| s.match_string("ac", /* bool */));
[INFO] [stdout]     |                                               ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::match_string (line 518) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:528:24
[INFO] [stdout]     |
[INFO] [stdout] 13  | let mut result = state.match_string("ab");
[INFO] [stdout]     |                        ^^^^^^^^^^^^------ an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 13  | let mut result = state.match_string("ab", /* bool */);
[INFO] [stdout]     |                                    ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:530:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert_eq!(result.unwrap().position().pos(), 2);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:533:16
[INFO] [stdout]     |
[INFO] [stdout] 18  | result = state.match_string("ac");
[INFO] [stdout]     |                ^^^^^^^^^^^^------ an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 18  | result = state.match_string("ac", /* bool */);
[INFO] [stdout]     |                            ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:535:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | assert_eq!(result.unwrap_err().position().pos(), 0);
[INFO] [stdout]    |                                           ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::position (line 136) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:149:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | assert_eq!(position.pos(), 0);
[INFO] [stdout]    |                     ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::match_regex (line 596) stdout ----
[INFO] [stdout] error[E0407]: method `all_rules` is not a member of trait `YggdrasilRule`
[INFO] [stdout]  --> src/parser_state.rs:600:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | /    fn all_rules() -> &'static [Self] {
[INFO] [stdout] 8 | |        &[]
[INFO] [stdout] 9 | |    }
[INFO] [stdout]   | |____^ not a member of trait `YggdrasilRule`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:616:39
[INFO] [stdout]    |
[INFO] [stdout] 23 | assert_eq!(result.unwrap().position().pos(), 1);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:621:43
[INFO] [stdout]    |
[INFO] [stdout] 28 | assert_eq!(result.unwrap_err().position().pos(), 0);
[INFO] [stdout]    |                                           ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0407, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0407`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::rest_of_line (line 713) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:725:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert!(out.position().pos() == 2);
[INFO] [stdout]    |                        ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::sequence (line 344) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:357:65
[INFO] [stdout]     |
[INFO] [stdout] 16  |         .sequence(|s| s.rule(Rule::a, |s| Ok(s)).and_then(|s| s.match_string("b")))
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^----- an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 16  |         .sequence(|s| s.rule(Rule::a, |s| Ok(s)).and_then(|s| s.match_string("b", /* bool */)))
[INFO] [stdout]     |                                                                             ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::repeat (line 389) stdout ----
[INFO] [stdout] error[E0599]: no method named `match_string_exact` found for struct `Box<State<'_, Rule>>` in the current scope
[INFO] [stdout]    --> src/parser_state.rs:401:43
[INFO] [stdout]     |
[INFO] [stdout] 15  | let mut result = state.repeat(0..9, |s| s.match_string_exact("a"));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `match_string` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `match_string_exact` found for struct `Box<State<'_, Rule>>` in the current scope
[INFO] [stdout]    --> src/parser_state.rs:407:43
[INFO] [stdout]     |
[INFO] [stdout] 21  | let mut result = state.repeat(0..9, |s| s.match_string_exact("a"));
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `match_string` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::skip (line 632) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:644:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert_eq!(result.unwrap().position().pos(), 1);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:649:43
[INFO] [stdout]    |
[INFO] [stdout] 20 | assert_eq!(result.unwrap_err().position().pos(), 0);
[INFO] [stdout]    |                                           ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_peek (line 846) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:860:39
[INFO] [stdout]    |
[INFO] [stdout] 17 | assert_eq!(result.unwrap().position().pos(), 2);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_match_peek (line 955) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:970:39
[INFO] [stdout]    |
[INFO] [stdout] 18 | assert_eq!(result.unwrap().position().pos(), 4);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_drop (line 1021) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:1035:39
[INFO] [stdout]    |
[INFO] [stdout] 17 | assert_eq!(result.unwrap().position().pos(), 1);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::state (line 70) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `(): YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/parser_state.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 7  | state::<(), _>(input, |s| Ok(s)).unwrap();
[INFO] [stdout]    |             ^ the trait `YggdrasilRule` is not implemented for `()`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `state`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn state<'i, R, F>(input: &'i str, f: F) -> Result<TokenTree<'i, R>, YggdrasilError<R>>
[INFO] [stdout]    |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 79 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `state`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(): YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/parser_state.rs:74:24
[INFO] [stdout]    |
[INFO] [stdout] 7  | state::<(), _>(input, |s| Ok(s)).unwrap();
[INFO] [stdout]    |                        ^ the trait `YggdrasilRule` is not implemented for `()`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(): YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/parser_state.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 7  | state::<(), _>(input, |s| Ok(s)).unwrap();
[INFO] [stdout]    |                           ^^ the trait `YggdrasilRule` is not implemented for `()`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(): YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/parser_state.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 7  | state::<(), _>(input, |s| Ok(s)).unwrap();
[INFO] [stdout]    |                           ^^^^^ the trait `YggdrasilRule` is not implemented for `()`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::start_of_input (line 660) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:674:15
[INFO] [stdout]     |
[INFO] [stdout] 17  | state = state.match_string("ab").unwrap();
[INFO] [stdout]     |               ^^^^^^^^^^^^------ an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 17  | state = state.match_string("ab", /* bool */).unwrap();
[INFO] [stdout]     |                           ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_match_peek_slice (line 896) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MatchDir`
[INFO] [stdout]   --> src/parser_state.rs:912:61
[INFO] [stdout]    |
[INFO] [stdout] 19 |     .and_then(|state| state.stack_match_peek_slice(2, None, MatchDir::BottomToTop))
[INFO] [stdout]    |                                                             ^^^^^^^^ use of undeclared type `MatchDir`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MatchDir`
[INFO] [stdout]   --> src/parser_state.rs:914:65
[INFO] [stdout]    |
[INFO] [stdout] 21 |     .and_then(|state| state.stack_match_peek_slice(1, Some(-1), MatchDir::TopToBottom));
[INFO] [stdout]    |                                                                 ^^^^^^^^ use of undeclared type `MatchDir`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:916:39
[INFO] [stdout]    |
[INFO] [stdout] 23 | assert_eq!(result.unwrap().position().pos(), 10);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_pop (line 872) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:883:36
[INFO] [stdout]     |
[INFO] [stdout] 14  |     state.stack_push(|state| state.match_string("a")).and_then(|state| state.stack_pop());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^----- an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 14  |     state.stack_push(|state| state.match_string("a", /* bool */)).and_then(|state| state.stack_pop());
[INFO] [stdout]     |                                                ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:885:39
[INFO] [stdout]    |
[INFO] [stdout] 16 | assert_eq!(result.unwrap().position().pos(), 2);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_match_pop (line 980) stdout ----
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:995:39
[INFO] [stdout]    |
[INFO] [stdout] 18 | assert_eq!(result.unwrap().position().pos(), 4);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::stack_push (line 811) stdout ----
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/parser_state.rs:821:49
[INFO] [stdout]     |
[INFO] [stdout] 13  | let mut result = state.stack_push(|state| state.match_string("a"));
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^----- an argument of type `bool` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:537:12
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn match_string(mut self: Box<Self>, string: &str, insensitive: bool) -> Either<Box<Self>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 13  | let mut result = state.stack_push(|state| state.match_string("a", /* bool */));
[INFO] [stdout]     |                                                             ~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pos` found for reference `&Position<'_>` in the current scope
[INFO] [stdout]   --> src/parser_state.rs:823:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | assert_eq!(result.unwrap().position().pos(), 1);
[INFO] [stdout]    |                                       ^^^ method not found in `&Position<'_>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parser_state.rs - parser_state::State<'i,R>::tag_node (line 245) stdout ----
[INFO] [stdout] error[E0407]: method `all_rules` is not a member of trait `YggdrasilRule`
[INFO] [stdout]   --> src/parser_state.rs:250:4
[INFO] [stdout]    |
[INFO] [stdout] 8  | /    fn all_rules() -> &'static [Self] {
[INFO] [stdout] 9  | |        &[]
[INFO] [stdout] 10 | |    }
[INFO] [stdout]    | |____^ not a member of trait `YggdrasilRule`
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `iterators` is private
[INFO] [stdout]   --> src/parser_state.rs:248:19
[INFO] [stdout]    |
[INFO] [stdout] 6  | use yggdrasil_rt::iterators::TokenPair;
[INFO] [stdout]    |                   ^^^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `iterators` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | mod iterators;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: can't compare `&str` with `Option<&str>`
[INFO] [stdout]   --> src/parser_state.rs:279:63
[INFO] [stdout]    |
[INFO] [stdout] 37 | let find: Vec<TokenPair<Rule>> = pairs.filter(|s| s.get_tag() == Some("c")).collect();
[INFO] [stdout]    |                                                               ^^ no implementation for `&str == Option<&str>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `PartialEq<Option<&str>>` is not implemented for `&str`
[INFO] [stdout]    = help: the following other types implement trait `PartialEq<Rhs>`:
[INFO] [stdout]              <&'a str as PartialEq<OsString>>
[INFO] [stdout]              <&'a str as PartialEq<String>>
[INFO] [stdout]              <&'b str as PartialEq<Cow<'a, str>>>
[INFO] [stdout]              <str as PartialEq<Cow<'a, str>>>
[INFO] [stdout]              <str as PartialEq<OsStr>>
[INFO] [stdout]              <str as PartialEq<OsString>>
[INFO] [stdout]              <str as PartialEq<String>>
[INFO] [stdout]              <str as PartialEq>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0407, E0603.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/position.rs - position::Position<'i>::line_column (line 116) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/position.rs:124:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> = yggdrasil_rt::State::new(input);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/position.rs:125:24
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 12 | let mut result = state.match_string("\na");
[INFO] [stdout]    |                        ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/position.rs:124:53
[INFO] [stdout]     |
[INFO] [stdout] 11  | let mut state: Box<yggdrasil_rt::State<'_, Rule>> = yggdrasil_rt::State::new(input);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::new`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::new`
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn new(input: &'i str) -> Box<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/position.rs:124:53
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> = yggdrasil_rt::State::new(input);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/position.rs - position::Position<'i>::line_of (line 178) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/position.rs:186:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> = yggdrasil_rt::State::new(input);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/position.rs:187:24
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 12 | let mut result = state.match_string("\na");
[INFO] [stdout]    |                        ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/position.rs:186:53
[INFO] [stdout]     |
[INFO] [stdout] 11  | let mut state: Box<yggdrasil_rt::State<'_, Rule>> = yggdrasil_rt::State::new(input);
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::new`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::new`
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn new(input: &'i str) -> Box<Self> {
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/position.rs:186:53
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> = yggdrasil_rt::State::new(input);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/span.rs - span::TextSpan<'i>::as_str (line 206) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:214:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> =
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `position` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:216:23
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 13 | let start_pos = state.position().clone();
[INFO] [stdout]    |                       ^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:215:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     yggdrasil_rt::State::new(input).skip(1).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:215:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     yggdrasil_rt::State::new(input).skip(1).unwrap();
[INFO] [stdout]    |                                             ^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`, which is required by `Box<State<'_, _>>: Debug`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Debug` is implemented for `Box<T, A>`
[INFO] [stdout]    = note: required for `State<'_, Rule>` to implement `Debug`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Box<State<'_, Rule>>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap`
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1071:5
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/span.rs:215:37
[INFO] [stdout]     |
[INFO] [stdout] 12  |     yggdrasil_rt::State::new(input).skip(1).unwrap();
[INFO] [stdout]     |                                     ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::skip`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::skip`
[INFO] [stdout] ...
[INFO] [stdout] 651 |     pub fn skip(mut self: Box<Self>, n: usize) -> Either<Box<Self>> {
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:215:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     yggdrasil_rt::State::new(input).skip(1).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:217:15
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 | state = state.match_string("b").unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `position` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:218:34
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 15 | let span = start_pos.span(&state.position().clone());
[INFO] [stdout]    |                                  ^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/span.rs - span::TextSpan<'i>::lines (line 251) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:259:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> =
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `position` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:261:23
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 13 | let start_pos = state.position().clone();
[INFO] [stdout]    |                       ^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:260:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:260:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]    |                                             ^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`, which is required by `Box<State<'_, _>>: Debug`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Debug` is implemented for `Box<T, A>`
[INFO] [stdout]    = note: required for `State<'_, Rule>` to implement `Debug`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Box<State<'_, Rule>>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap`
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1071:5
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/span.rs:260:37
[INFO] [stdout]     |
[INFO] [stdout] 12  |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]     |                                     ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::skip`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::skip`
[INFO] [stdout] ...
[INFO] [stdout] 651 |     pub fn skip(mut self: Box<Self>, n: usize) -> Either<Box<Self>> {
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:260:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:262:15
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 | state = state.match_string("b\nc").unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `position` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:263:34
[INFO] [stdout]    |
[INFO] [stdout] 8  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 15 | let span = start_pos.span(&state.position().clone());
[INFO] [stdout]    |                                  ^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/span.rs - span::TextSpan<'i>::lines_span (line 274) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:283:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | let mut state: Box<yggdrasil_rt::State<'_, Rule>> =
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `position` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:285:23
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 14 | let start_pos = state.position().clone();
[INFO] [stdout]    |                       ^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:284:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:284:45
[INFO] [stdout]    |
[INFO] [stdout] 13 |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]    |                                             ^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`, which is required by `Box<State<'_, _>>: Debug`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Debug` is implemented for `Box<T, A>`
[INFO] [stdout]    = note: required for `State<'_, Rule>` to implement `Debug`
[INFO] [stdout]    = note: 1 redundant requirement hidden
[INFO] [stdout]    = note: required for `Box<State<'_, Rule>>` to implement `Debug`
[INFO] [stdout] note: required by a bound in `Result::<T, E>::unwrap`
[INFO] [stdout]   --> /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/result.rs:1071:5
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]    --> src/span.rs:284:37
[INFO] [stdout]     |
[INFO] [stdout] 13  |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]     |                                     ^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `State::<'i, R>::skip`
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parser_state.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     R: YggdrasilRule,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `State::<'i, R>::skip`
[INFO] [stdout] ...
[INFO] [stdout] 651 |     pub fn skip(mut self: Box<Self>, n: usize) -> Either<Box<Self>> {
[INFO] [stdout]     |            ---- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Rule: YggdrasilRule` is not satisfied
[INFO] [stdout]   --> src/span.rs:284:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     yggdrasil_rt::State::new(input).skip(2).unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ the trait `YggdrasilRule` is not implemented for `Rule`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `State`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parser_state.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    |            ----- required by a bound in this struct
[INFO] [stdout] 54 | where
[INFO] [stdout] 55 |     R: YggdrasilRule,
[INFO] [stdout]    |        ^^^^^^^^^^^^^ required by this bound in `State`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `match_string` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:286:15
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 15 | state = state.match_string("b\nc").unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^^^ method cannot be called on `Box<State<'_, Rule>>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `position` exists for struct `Box<State<'_, Rule>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/span.rs:287:34
[INFO] [stdout]    |
[INFO] [stdout] 9  | enum Rule {}
[INFO] [stdout]    | --------- doesn't satisfy `Rule: YggdrasilRule`
[INFO] [stdout] ...
[INFO] [stdout] 16 | let span = start_pos.span(&state.position().clone());
[INFO] [stdout]    |                                  ^^^^^^^^ private field, not a method
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/parser_state.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct State<'i, R>
[INFO] [stdout]    | ----------------------- doesn't satisfy `State<'_, Rule>: Iterator`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `State<'_, Rule>: Iterator`
[INFO] [stdout]            which is required by `Box<State<'_, Rule>>: Iterator`
[INFO] [stdout]            `Rule: YggdrasilRule`
[INFO] [stdout] note: the trait `YggdrasilRule` must be implemented
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub trait YggdrasilRule: Clone + Debug + Eq + Hash + Ord {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/errors/mod.rs - errors::YggdrasilError<R>::get_local_path (line 168)
[INFO] [stdout]     src/errors/mod.rs - errors::YggdrasilError<R>::new_from_span (line 85)
[INFO] [stdout]     src/errors/mod.rs - errors::YggdrasilError<R>::renamed_rules (line 206)
[INFO] [stdout]     src/errors/mod.rs - errors::YggdrasilError<R>::with_path (line 138)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::as_str (line 89)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_input (line 130)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_rule (line 57)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_span (line 161)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::has_child (line 326)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::into_inner (line 203)
[INFO] [stdout]     src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::tokens (line 362)
[INFO] [stdout]     src/iterators/token_stream/mod.rs - iterators::token_stream::TokenStream<'i,R>::tokens (line 31)
[INFO] [stdout]     src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::as_str (line 48)
[INFO] [stdout]     src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::concat (line 121)
[INFO] [stdout]     src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::find_tagged (line 183)
[INFO] [stdout]     src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::flatten (line 150)
[INFO] [stdout]     src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::get_input (line 89)
[INFO] [stdout]     src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::tokens (line 232)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::end_of_input (line 687)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::match_char_if (line 478)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::match_range (line 566)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::match_regex (line 596)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::match_string (line 518)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::new (line 115)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::optional (line 444)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::position (line 136)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::repeat (line 389)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::rest_of_line (line 713)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::sequence (line 344)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::skip (line 632)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_drop (line 1021)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_match_peek (line 955)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_match_peek_slice (line 896)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_match_pop (line 980)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_peek (line 846)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_pop (line 872)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::stack_push (line 811)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::start_of_input (line 660)
[INFO] [stdout]     src/parser_state.rs - parser_state::State<'i,R>::tag_node (line 245)
[INFO] [stdout]     src/parser_state.rs - parser_state::state (line 70)
[INFO] [stdout]     src/position.rs - position::Position<'i>::line_column (line 116)
[INFO] [stdout]     src/position.rs - position::Position<'i>::line_of (line 178)
[INFO] [stdout]     src/span.rs - span::TextSpan<'i>::as_str (line 206)
[INFO] [stdout]     src/span.rs - span::TextSpan<'i>::lines (line 251)
[INFO] [stdout]     src/span.rs - span::TextSpan<'i>::lines_span (line 274)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 17 passed; 45 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.71s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9a95dd9d5acfcd47f358b23e69048d1cd885d127eaae5b671eedf5350188d521", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a95dd9d5acfcd47f358b23e69048d1cd885d127eaae5b671eedf5350188d521", kill_on_drop: false }`
[INFO] [stdout] 9a95dd9d5acfcd47f358b23e69048d1cd885d127eaae5b671eedf5350188d521
