[INFO] fetching crate yggdrasil-rt 0.1.3... [INFO] testing yggdrasil-rt-0.1.3 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8 [INFO] extracting crate yggdrasil-rt 0.1.3 into /workspace/builds/worker-6-tc2/source [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-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate yggdrasil-rt 0.1.3 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 990ebf30cd8681d35d2eae25a3f42d7eb07ae5997fbe2f5a5bec41450e66bf9a [INFO] running `Command { std: "docker" "start" "-a" "990ebf30cd8681d35d2eae25a3f42d7eb07ae5997fbe2f5a5bec41450e66bf9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "990ebf30cd8681d35d2eae25a3f42d7eb07ae5997fbe2f5a5bec41450e66bf9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "990ebf30cd8681d35d2eae25a3f42d7eb07ae5997fbe2f5a5bec41450e66bf9a", kill_on_drop: false }` [INFO] [stdout] 990ebf30cd8681d35d2eae25a3f42d7eb07ae5997fbe2f5a5bec41450e66bf9a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f20f7350f8727a09e789aa30a453dbf7060609f59c0589223c61cf797f8a3156 [INFO] running `Command { std: "docker" "start" "-a" "f20f7350f8727a09e789aa30a453dbf7060609f59c0589223c61cf797f8a3156", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling daachorse v1.0.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling yggdrasil-rt v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:45:75 [INFO] [stdout] | [INFO] [stdout] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:230:28 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:240:27 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_stream/mod.rs:22:75 [INFO] [stdout] | [INFO] [stdout] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/tokens.rs:24:68 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/language/mod.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/language/mod.rs:12:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/input/adapt_vec.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn build<'i>(&'i self) -> SequenceView + 'i> { [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is named here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'i` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn build<'i>(&'i self) -> SequenceView<'i, impl Iterator + 'i> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.84s [INFO] running `Command { std: "docker" "inspect" "f20f7350f8727a09e789aa30a453dbf7060609f59c0589223c61cf797f8a3156", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f20f7350f8727a09e789aa30a453dbf7060609f59c0589223c61cf797f8a3156", kill_on_drop: false }` [INFO] [stdout] f20f7350f8727a09e789aa30a453dbf7060609f59c0589223c61cf797f8a3156 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5f675050d96422b349b48cf6c7b50960a43f8da67abf5284b5b17ebf8ccdbccd [INFO] running `Command { std: "docker" "start" "-a" "5f675050d96422b349b48cf6c7b50960a43f8da67abf5284b5b17ebf8ccdbccd", kill_on_drop: false }` [INFO] [stderr] Compiling yggdrasil-rt v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:45:75 [INFO] [stdout] | [INFO] [stdout] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:230:28 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:240:27 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_stream/mod.rs:22:75 [INFO] [stdout] | [INFO] [stdout] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/tokens.rs:24:68 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/language/mod.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/language/mod.rs:12:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/input/adapt_vec.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn build<'i>(&'i self) -> SequenceView + 'i> { [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is named here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'i` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn build<'i>(&'i self) -> SequenceView<'i, impl Iterator + 'i> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> tests/suffix.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | fn repeat_a(input: &str) -> Either>> { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 18 | fn repeat_a(input: &str) -> Either>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [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)]` (part of `#[warn(nonstandard_style)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> tests/suffix.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | fn repeat_a(input: &str) -> Either>> { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 18 | fn repeat_a(input: &str) -> Either>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:45:75 [INFO] [stdout] | [INFO] [stdout] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair { [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:230:28 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_pair/mod.rs:240:27 [INFO] [stdout] | [INFO] [stdout] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/token_stream/mod.rs:22:75 [INFO] [stdout] | [INFO] [stdout] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/iterators/tokens.rs:24:68 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens<'_, R> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/language/mod.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/language/mod.rs:12:25 [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stdout] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stdout] --> src/input/adapt_vec.rs:21:35 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn build<'i>(&'i self) -> SequenceView + 'i> { [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is named here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: consistently use `'i` [INFO] [stdout] | [INFO] [stdout] 21 | pub fn build<'i>(&'i self) -> SequenceView<'i, impl Iterator + 'i> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.67s [INFO] running `Command { std: "docker" "inspect" "5f675050d96422b349b48cf6c7b50960a43f8da67abf5284b5b17ebf8ccdbccd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f675050d96422b349b48cf6c7b50960a43f8da67abf5284b5b17ebf8ccdbccd", kill_on_drop: false }` [INFO] [stdout] 5f675050d96422b349b48cf6c7b50960a43f8da67abf5284b5b17ebf8ccdbccd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1ae805949c85c0345bf79743964882b42efd5fd675bef8391c17615e3f7e7c0f [INFO] running `Command { std: "docker" "start" "-a" "1ae805949c85c0345bf79743964882b42efd5fd675bef8391c17615e3f7e7c0f", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/iterators/token_pair/mod.rs:45:75 [INFO] [stderr] | [INFO] [stderr] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 45 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize) -> TokenPair<'_, R> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/iterators/token_pair/mod.rs:230:28 [INFO] [stderr] | [INFO] [stderr] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 230 | pub fn find_first_rule(&self, rule: R) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/iterators/token_pair/mod.rs:240:27 [INFO] [stderr] | [INFO] [stderr] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 240 | pub fn find_first_tag(&self, tag: &str) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/iterators/token_stream/mod.rs:22:75 [INFO] [stderr] | [INFO] [stderr] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream { [INFO] [stderr] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 22 | pub unsafe fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> TokenStream<'_, R> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/iterators/tokens.rs:24:68 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens { [INFO] [stderr] | ^^^^ the lifetime is elided here ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new(queue: Rc>>, input: &str, start: usize, end: usize) -> Tokens<'_, R> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/language/mod.rs:8:25 [INFO] [stderr] | [INFO] [stderr] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stderr] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 8 | fn parse_lex(input: &str, rule: Self::Rule) -> Result, YggdrasilError> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/language/mod.rs:12:25 [INFO] [stderr] | [INFO] [stderr] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stderr] | ^^^^ the lifetime is elided here ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 12 | fn parse_cst(input: &str, rule: Self::Rule) -> Result, YggdrasilError>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing [INFO] [stderr] --> src/input/adapt_vec.rs:21:35 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn build<'i>(&'i self) -> SequenceView + 'i> { [INFO] [stderr] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--^ [INFO] [stderr] | | | | [INFO] [stderr] | | | the same lifetime is named here [INFO] [stderr] | | the same lifetime is hidden here [INFO] [stderr] | the lifetime is named here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: consistently use `'i` [INFO] [stderr] | [INFO] [stderr] 21 | pub fn build<'i>(&'i self) -> SequenceView<'i, impl Iterator + 'i> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `yggdrasil-rt` (lib) generated 8 warnings (run `cargo fix --lib -p yggdrasil-rt` to apply 8 suggestions) [INFO] [stderr] warning: `yggdrasil-rt` (lib test) generated 8 warnings (8 duplicates) [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> tests/suffix.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | fn repeat_a(input: &str) -> Either>> { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 18 | fn repeat_a(input: &str) -> Either>> { [INFO] [stderr] | +++ [INFO] [stderr] [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)]` (part of `#[warn(nonstandard_style)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `yggdrasil-rt` (test "main") generated 1 warning (run `cargo fix --test "main" -p yggdrasil-rt` to apply 1 suggestion) [INFO] [stderr] warning: `yggdrasil-rt` (test "suffix") generated 3 warnings (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/yggdrasil_rt-2a20fd88171b6f1c) [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-ba93be9ad88adaa4) [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-c050888b89054e17) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test stack::restore_without_snapshot ... ok [INFO] [stdout] test stack::snapshot_pop_push_restore ... ok [INFO] [stdout] test stack::snapshot_push_clear ... ok [INFO] [stdout] test stack::snapshot_push_pop_restore ... ok [INFO] [stdout] test ready ... ok [INFO] [stdout] test stack::snapshot_twice ... ok [INFO] [stdout] test stack::snapshot_with_empty ... ok [INFO] [stdout] test stack::stack_ops ... ok [INFO] [stdout] test suffix::test ... ok [INFO] [stdout] test stack::snapshot_pop_restore ... ok [INFO] [stdout] test stack::snapshot_pop_clear ... ok [INFO] [stderr] Running tests/stack.rs (/opt/rustwide/target/debug/deps/stack-05b0f74fcf185e2a) [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test restore_without_snapshot ... ok [INFO] [stdout] test snapshot_pop_clear ... ok [INFO] [stdout] test snapshot_pop_push_restore ... ok [INFO] [stdout] test snapshot_with_empty ... ok [INFO] [stdout] test snapshot_twice ... ok [INFO] [stdout] test snapshot_push_pop_restore ... ok [INFO] [stdout] test stack_ops ... ok [INFO] [stdout] test snapshot_push_clear ... ok [INFO] [stdout] test snapshot_pop_restore ... 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-77c8d4d4ecf29cb6) [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/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::has_child (line 326) ... FAILED [INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError::new_from_span (line 85) ... FAILED [INFO] [stdout] test src/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::tokens (line 362) ... FAILED [INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError::with_path (line 138) ... 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_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::get_local_path (line 168) ... 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>::tokens (line 232) ... 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_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::get_span (line 161) ... 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/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::flatten (line 150) ... 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/iterators/token_pair/mod.rs - iterators::token_pair::TokenPair<'i,R>::as_str (line 89) ... FAILED [INFO] [stdout] test src/iterators/token_tree/mod.rs - iterators::token_tree::TokenTree<'i,R>::concat (line 121) ... FAILED [INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::match_regex (line 596) ... 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/parser_state.rs - parser_state::State<'i,R>::skip (line 632) ... FAILED [INFO] [stdout] test src/errors/mod.rs - errors::YggdrasilError::renamed_rules (line 206) ... 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>::optional (line 444) ... 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>::stack_drop (line 1021) ... 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>::match_range (line 566) ... 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_push (line 811) ... 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_pop (line 872) ... 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>::match_char_if (line 478) ... 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>::start_of_input (line 660) ... 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>::repeat (line 389) ... 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>::rule (line 159) ... ok [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>::tag_node (line 245) ... FAILED [INFO] [stdout] test src/position.rs - position::Position<'i>::line_of (line 178) ... FAILED [INFO] [stdout] test src/position.rs - position::Position<'i>::from_start (line 53) ... ok [INFO] [stdout] test src/position.rs - position::Position<'i>::offset (line 68) ... ok [INFO] [stdout] test src/position.rs - position::Position<'i>::line_column (line 116) ... FAILED [INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::lookahead (line 739) ... ok [INFO] [stdout] test src/position.rs - position::Position<'i>::new (line 38) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::as_str (line 206) ... FAILED [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::new (line 51) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::get (line 63) ... ok [INFO] [stdout] test src/parser_state.rs - parser_state::State<'i,R>::restore_on_err (line 1049) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::lines_span (line 274) ... FAILED [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::end (line 110) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::end_pos (line 165) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::lines (line 251) ... FAILED [INFO] [stdout] test src/position.rs - position::Position<'i>::span (line 88) ... ok [INFO] [stdout] test src/span.rs - span::merge_spans (line 334) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::get_range (line 128) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::start_pos (line 146) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::start (line 92) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::get_input (line 234) ... ok [INFO] [stdout] test src/span.rs - span::TextSpan<'i>::split (line 184) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [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] 339 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:332:1 [INFO] [stdout] | [INFO] [stdout] 332 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 337 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 338 | | // generating Token pair with Rule::a ... [INFO] [stdout] 339 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 340 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:332:1 [INFO] [stdout] | [INFO] [stdout] 332 | enum 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, YggdrasilError> [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] 339 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:332:1 [INFO] [stdout] | [INFO] [stdout] 332 | enum 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] 339 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:332:1 [INFO] [stdout] | [INFO] [stdout] 332 | enum 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] 339 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:332:1 [INFO] [stdout] | [INFO] [stdout] 332 | enum 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] 332 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 337 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 338 | | // generating Token pair with Rule::a ... [INFO] [stdout] 339 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 340 | | }) [INFO] [stdout] 341 | | .unwrap() [INFO] [stdout] 342 | | .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::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] 87 | 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] 375 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 373 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 374 | | // generating Token pair with Rule::a ... [INFO] [stdout] 375 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 376 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | enum 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, YggdrasilError> [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] 375 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | enum 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] 375 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | enum 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] 375 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | enum 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] 368 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 373 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 374 | | // generating Token pair with Rule::a ... [INFO] [stdout] 375 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 376 | | }) [INFO] [stdout] 377 | | .unwrap() [INFO] [stdout] 378 | | .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::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] 152 | ErrorKind::ParsingError { [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `ErrorKind` [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 137 + 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] 151 | 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::::new_from_span [INFO] [stdout] YggdrasilError::::invalid_node [INFO] [stdout] YggdrasilError::::missing_rule [INFO] [stdout] YggdrasilError::::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, span: TextSpan<'_>) -> YggdrasilError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn invalid_node(expect: R, span: TextSpan) -> YggdrasilError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn missing_rule(expect: R, span: TextSpan) -> YggdrasilError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn custom_error(message: S, span: TextSpan) -> YggdrasilError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: there is an associated function `new_from_span` with a similar name [INFO] [stdout] | [INFO] [stdout] 151 - YggdrasilError::new_from_offset( [INFO] [stdout] 151 + 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_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] 44 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_stream/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 42 | let pairs = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | _____________^ [INFO] [stdout] 43 | | // generating Token pair with Rule::a ... [INFO] [stdout] 44 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 45 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_stream/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | enum 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, YggdrasilError> [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] 44 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_stream/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | enum 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] 44 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_stream/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | enum 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] 44 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_stream/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | enum 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] 37 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 47 | 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_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] 216 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:209:1 [INFO] [stdout] | [INFO] [stdout] 209 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 214 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 215 | | // generating Token pair with Rule::a ... [INFO] [stdout] 216 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 217 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:209:1 [INFO] [stdout] | [INFO] [stdout] 209 | enum 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, YggdrasilError> [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] 216 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:209:1 [INFO] [stdout] | [INFO] [stdout] 209 | enum 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] 216 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:209:1 [INFO] [stdout] | [INFO] [stdout] 209 | enum 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] 216 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:209:1 [INFO] [stdout] | [INFO] [stdout] 209 | enum 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] 209 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 214 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 215 | | // generating Token pair with Rule::a ... [INFO] [stdout] 216 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 217 | | }) [INFO] [stdout] 218 | | .unwrap() [INFO] [stdout] 219 | | .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] 70 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 68 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 69 | | // generating Token pair with Rule::a ... [INFO] [stdout] 70 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 71 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | enum 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, YggdrasilError> [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] 70 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | enum 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] 70 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | enum 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] 70 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | enum 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] 63 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 68 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 69 | | // generating Token pair with Rule::a ... [INFO] [stdout] 70 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 71 | | }) [INFO] [stdout] 72 | | .unwrap() [INFO] [stdout] 73 | | .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::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] 170 | 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/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] 701 | state = state.match_string("ab").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^------ argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 701 | 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>::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] 245 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:238:1 [INFO] [stdout] | [INFO] [stdout] 238 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 243 | let pairs = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | _____________^ [INFO] [stdout] 244 | | // generating Token pair with Rule::a ... [INFO] [stdout] 245 | | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] 246 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:238:1 [INFO] [stdout] | [INFO] [stdout] 238 | enum 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, YggdrasilError> [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] 245 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:238:1 [INFO] [stdout] | [INFO] [stdout] 238 | enum 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] 245 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:238:1 [INFO] [stdout] | [INFO] [stdout] 238 | enum 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] 245 | state.rule(Rule::a, |s| Ok(s)) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:238:1 [INFO] [stdout] | [INFO] [stdout] 238 | enum 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] 238 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 248 | 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/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] 145 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:136:1 [INFO] [stdout] | [INFO] [stdout] 136 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 143 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 144 | | // generating Token pair with Rule::ab ... [INFO] [stdout] 145 | | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] 146 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:136:1 [INFO] [stdout] | [INFO] [stdout] 136 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_pair/mod.rs:145:32 [INFO] [stdout] | [INFO] [stdout] 136 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 145 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 145 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:136:1 [INFO] [stdout] | [INFO] [stdout] 136 | enum 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] 136 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 143 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 144 | | // generating Token pair with Rule::ab ... [INFO] [stdout] 145 | | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] 146 | | }) [INFO] [stdout] 147 | | .unwrap() [INFO] [stdout] 148 | | .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_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] 174 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:167:1 [INFO] [stdout] | [INFO] [stdout] 167 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 172 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 173 | | // generating Token pair with Rule::ab ... [INFO] [stdout] 174 | | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] 175 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:167:1 [INFO] [stdout] | [INFO] [stdout] 167 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_pair/mod.rs:174:32 [INFO] [stdout] | [INFO] [stdout] 167 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 174 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 174 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:167:1 [INFO] [stdout] | [INFO] [stdout] 167 | enum 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] 167 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 172 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 173 | | // generating Token pair with Rule::ab ... [INFO] [stdout] 174 | | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] 175 | | }) [INFO] [stdout] 176 | | .unwrap() [INFO] [stdout] 177 | | .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] 193 | fn mark_branch(state: Box>) -> Either>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 200 | state: Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 214 | fn number(state: Box>) -> Either>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 219 | let pairs = state(input, mark_branch).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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, YggdrasilError> [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] 219 | let pairs = state(input, mark_branch).unwrap(); [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 220 | 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] 194 | expr(state, Rule::mul, "*") [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 194 | expr(state, Rule::mul, "*") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:195:33 [INFO] [stdout] | [INFO] [stdout] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 195 | .and_then(|state| state.tag_node("mul")) [INFO] [stdout] | ^^^^^^^^ method cannot be called on `Box>` 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] 195 | .and_then(|state| state.tag_node("mul")) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 194 | / expr(state, Rule::mul, "*") [INFO] [stdout] 195 | | .and_then(|state| state.tag_node("mul")) [INFO] [stdout] 196 | | .or_else(|state| expr(state, Rule::add, "+")) [INFO] [stdout] | |_____________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 196 | .or_else(|state| expr(state, Rule::add, "+")) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 194 | / expr(state, Rule::mul, "*") [INFO] [stdout] 195 | | .and_then(|state| state.tag_node("mul")) [INFO] [stdout] | |________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 194 | / expr(state, Rule::mul, "*") [INFO] [stdout] 195 | | .and_then(|state| state.tag_node("mul")) [INFO] [stdout] 196 | | .or_else(|state| expr(state, Rule::add, "+")) [INFO] [stdout] 197 | | .and_then(|state| state.tag_node("add")) [INFO] [stdout] | |________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:197:33 [INFO] [stdout] | [INFO] [stdout] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 197 | .and_then(|state| state.tag_node("add")) [INFO] [stdout] | ^^^^^^^^ method cannot be called on `Box>` 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] 197 | .and_then(|state| state.tag_node("add")) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:204:11 [INFO] [stdout] | [INFO] [stdout] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 204 | state.rule(r, |state| { [INFO] [stdout] | ------^^^^ method cannot be called on `Box>` 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[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | state.rule(r, |state| { [INFO] [stdout] | ^^^^^ [INFO] [stdout] 205 | state.sequence(|state| { [INFO] [stdout] | ----- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 204 | state.rule(r, |state: /* Type */| { [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] 206 | number(state) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 205 | state.sequence(|state| { [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 206 | number(state) [INFO] [stdout] | ^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:207:41 [INFO] [stdout] | [INFO] [stdout] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 207 | .and_then(|state| state.tag_node("lhs")) [INFO] [stdout] | ^^^^^^^^ method cannot be called on `Box>` 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] 207 | .and_then(|state| state.tag_node("lhs")) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 206 | / number(state) [INFO] [stdout] 207 | | .and_then(|state| state.tag_node("lhs")) [INFO] [stdout] 208 | | .and_then(|state| state.match_string(o)) [INFO] [stdout] | |________________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:208:28 [INFO] [stdout] | [INFO] [stdout] 208 | .and_then(|state| state.match_string(o)) [INFO] [stdout] | ^^^^^ ----- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 208 | .and_then(|state: /* Type */| state.match_string(o)) [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:13 [INFO] [stdout] | [INFO] [stdout] 206 | / number(state) [INFO] [stdout] 207 | | .and_then(|state| state.tag_node("lhs")) [INFO] [stdout] 208 | | .and_then(|state| state.match_string(o)) [INFO] [stdout] 209 | | .and_then(number) [INFO] [stdout] | |_________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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] 206 | / number(state) [INFO] [stdout] 207 | | .and_then(|state| state.tag_node("lhs")) [INFO] [stdout] 208 | | .and_then(|state| state.match_string(o)) [INFO] [stdout] 209 | | .and_then(number) [INFO] [stdout] 210 | | .and_then(|state| state.tag_node("rhs")) [INFO] [stdout] | |________________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:210:41 [INFO] [stdout] | [INFO] [stdout] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 210 | .and_then(|state| state.tag_node("rhs")) [INFO] [stdout] | ^^^^^^^^ method cannot be called on `Box>` 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] 210 | .and_then(|state| state.tag_node("rhs")) [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:188:1 [INFO] [stdout] | [INFO] [stdout] 188 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:215:11 [INFO] [stdout] | [INFO] [stdout] 188 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 215 | state.rule(Rule::number, |state| state.match_range('0'..'9')) [INFO] [stdout] | ^^^^ method cannot be called on `Box>` 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[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:215:31 [INFO] [stdout] | [INFO] [stdout] 215 | state.rule(Rule::number, |state| state.match_range('0'..'9')) [INFO] [stdout] | ^^^^^ ----- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 215 | state.rule(Rule::number, |state: /* Type */| state.match_range('0'..'9')) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 31 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0282, 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>::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] 164 | state.rule(Rule::a, |state| { [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 162 | let pairs = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | _____________^ [INFO] [stdout] 163 | | // generating nested Token pair with Rule::b inside Rule::a [INFO] [stdout] 164 | | state.rule(Rule::a, |state| { [INFO] [stdout] 165 | | state.rule(Rule::b, |s| Ok(s)) [INFO] [stdout] 166 | | }) [INFO] [stdout] 167 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:165:15 [INFO] [stdout] | [INFO] [stdout] 156 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 165 | state.rule(Rule::b, |s| Ok(s)) [INFO] [stdout] | ^^^^ method cannot be called on `Box>` 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] 164 | state.rule(Rule::a, |state| { [INFO] [stdout] | ^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | enum 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] 156 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 169 | 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_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] 105 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 103 | let pairs = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | _____________^ [INFO] [stdout] 104 | | // generating Token pairs with Rule::a and Rule::b ... [INFO] [stdout] 105 | | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] 106 | | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] 107 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:105:31 [INFO] [stdout] | [INFO] [stdout] 95 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 105 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 105 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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] 105 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:105:65 [INFO] [stdout] | [INFO] [stdout] 95 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 105 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^ method cannot be called on `Box>` 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>: Iterator` [INFO] [stdout] `Box>: Iterator` [INFO] [stdout] which is required by `&mut Box>: 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] 105 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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] 105 | / state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] 106 | | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | |_______________________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:106:20 [INFO] [stdout] | [INFO] [stdout] 106 | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 106 | .and_then(|s: /* Type */| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:106:40 [INFO] [stdout] | [INFO] [stdout] 106 | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 106 | .and_then(|s| s.rule(Rule::b, |s: /* Type */| s.match_string("b"))) [INFO] [stdout] | ++++++++++++ [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] 95 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 110 | 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] 95 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 111 | 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 12 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0282, 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] 102 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 100 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________^ [INFO] [stdout] 101 | | // generating Token pair with Rule::ab ... [INFO] [stdout] 102 | | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] 103 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_pair/mod.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 95 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 102 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 102 | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_pair/mod.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | enum 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] 95 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 100 | let pair = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | ____________- [INFO] [stdout] 101 | | // generating Token pair with Rule::ab ... [INFO] [stdout] 102 | | state.rule(Rule::ab, |s| s.match_string("ab", false)) [INFO] [stdout] 103 | | }) [INFO] [stdout] 104 | | .unwrap() [INFO] [stdout] 105 | | .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>::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] 135 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 133 | let pairs = yggdrasil_rt::state(input, |state| { [INFO] [stdout] | _____________^ [INFO] [stdout] 134 | | // generating Token pairs with Rule::a and Rule::b ... [INFO] [stdout] 135 | | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] 136 | | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] 137 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:135:31 [INFO] [stdout] | [INFO] [stdout] 127 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 135 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 135 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | enum 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] 135 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:135:65 [INFO] [stdout] | [INFO] [stdout] 127 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 135 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^ method cannot be called on `Box>` 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>: Iterator` [INFO] [stdout] `Box>: Iterator` [INFO] [stdout] which is required by `&mut Box>: 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] 135 | state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | enum 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] 135 | / state.rule(Rule::a, |s| s.match_string("a")).and_then(|s| s.skip(1)) [INFO] [stdout] 136 | | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | |_______________________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | enum 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[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 136 | .and_then(|s: /* Type */| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:136:40 [INFO] [stdout] | [INFO] [stdout] 136 | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 136 | .and_then(|s| s.rule(Rule::b, |s: /* Type */| s.match_string("b"))) [INFO] [stdout] | ++++++++++++ [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] 127 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 140 | 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 11 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0282, 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_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] 600 | / fn all_rules() -> &'static [Self] { [INFO] [stdout] 601 | | &[] [INFO] [stdout] 602 | | } [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] 616 | 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] 621 | 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/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] 62 | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | enum 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(mut self: Box, rule: R, f: F) -> Either> [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] 60 | let pairs = state(input, |state| { [INFO] [stdout] | _____________^ [INFO] [stdout] 61 | | // generating Token pairs with Rule::a and Rule::b ... [INFO] [stdout] 62 | | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] 63 | | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] 64 | | }) [INFO] [stdout] | |__^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | enum 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, YggdrasilError> [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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 54 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 62 | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 62 | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | enum 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] 62 | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/iterators/token_tree/mod.rs:62:72 [INFO] [stdout] | [INFO] [stdout] 54 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 62 | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] | ^^^^ method cannot be called on `Box>` 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>: Iterator` [INFO] [stdout] `Box>: Iterator` [INFO] [stdout] which is required by `&mut Box>: 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] 62 | state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] | ^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | enum 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] 62 | / state.rule(Rule::a, |s| s.match_string("a", false)).and_then(|s| s.skip(1)) [INFO] [stdout] 63 | | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | |_______________________________________________________________^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/iterators/token_tree/mod.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | enum 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[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 63 | .and_then(|s: /* Type */| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/iterators/token_tree/mod.rs:63:40 [INFO] [stdout] | [INFO] [stdout] 63 | .and_then(|s| s.rule(Rule::b, |s| s.match_string("b"))) [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 63 | .and_then(|s| s.rule(Rule::b, |s: /* Type */| s.match_string("b"))) [INFO] [stdout] | ++++++++++++ [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] 54 | enum Rule { [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 67 | 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 11 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0282, 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>::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] 644 | 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] 649 | 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/errors/mod.rs - errors::YggdrasilError::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] 208 | 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/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] 119 | let state: Box> = 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] 119 | let state: Box> = 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] 119 | let state: Box> = 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 { [INFO] [stdout] | --- required by a bound in this associated function [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>::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] 456 | let result = state.optional(|s| s.match_string("ab")); [INFO] [stdout] | ^^^^^^^^^^^^------ argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 456 | 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] 460 | let result = state.optional(|s| s.match_string("ac")); [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] [stdout] | ^^^^^^^^^^^^------ argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 460 | 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>::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] 149 | 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>::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] 1035 | 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<'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] 357 | .sequence(|s| s.rule(Rule::a, |s| Ok(s)).and_then(|s| s.match_string("b"))) [INFO] [stdout] | ^^^^^^^^^^^^----- argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 357 | .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>::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] 578 | 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] 583 | 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_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] 970 | 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] 821 | let mut result = state.stack_push(|state| state.match_string("a")); [INFO] [stdout] | ^^^^^^^^^^^^----- argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 821 | 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] 823 | 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>::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] 995 | 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_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] 883 | state.stack_push(|state| state.match_string("a")).and_then(|state| state.stack_pop()); [INFO] [stdout] | ^^^^^^^^^^^^----- argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 883 | 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] 885 | 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>::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] 725 | 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>::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] 482 | / fn all_rules() -> &'static [Self] { [INFO] [stdout] 483 | | &[] [INFO] [stdout] 484 | | } [INFO] [stdout] | |____^ not a member of trait `YggdrasilRule` [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `match_char_by` found for struct `Box>` in the current scope [INFO] [stdout] --> src/parser_state.rs:496:20 [INFO] [stdout] | [INFO] [stdout] 496 | 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] 496 - let result = state.match_char_by(|c| c.is_ascii()); [INFO] [stdout] 496 + let result = state.match_char_if(|c| c.is_ascii()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/parser_state.rs:496:35 [INFO] [stdout] | [INFO] [stdout] 496 | let result = state.match_char_by(|c| c.is_ascii()); [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 496 | let result = state.match_char_by(|c: /* Type */| c.is_ascii()); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `match_char_by` found for struct `Box>` in the current scope [INFO] [stdout] --> src/parser_state.rs:502:20 [INFO] [stdout] | [INFO] [stdout] 502 | 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] 502 - let result = state.match_char_by(|c| c.is_ascii()); [INFO] [stdout] 502 + let result = state.match_char_if(|c| c.is_ascii()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/parser_state.rs:502:35 [INFO] [stdout] | [INFO] [stdout] 502 | let result = state.match_char_by(|c| c.is_ascii()); [INFO] [stdout] | ^ - type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving this closure parameter an explicit type [INFO] [stdout] | [INFO] [stdout] 502 | let result = state.match_char_by(|c: /* Type */| c.is_ascii()); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0407, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [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] 528 | let mut result = state.match_string("ab"); [INFO] [stdout] | ^^^^^^^^^^^^------ argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 528 | 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] 530 | 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] 533 | result = state.match_string("ac"); [INFO] [stdout] | ^^^^^^^^^^^^------ argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 533 | 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] 535 | 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>::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] 674 | state = state.match_string("ab").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^------ argument #2 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 674 | 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 (line 70) stdout ---- [INFO] [stdout] error[E0277]: the trait bound `(): YggdrasilRule` is not satisfied [INFO] [stdout] --> src/parser_state.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | 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, YggdrasilError> [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] 74 | 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] 74 | 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] 74 | 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>::repeat (line 389) stdout ---- [INFO] [stdout] error[E0599]: no method named `match_string_exact` found for struct `Box>` in the current scope [INFO] [stdout] --> src/parser_state.rs:401:43 [INFO] [stdout] | [INFO] [stdout] 401 | 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, string: &str, insensitive: bool) -> Either> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `match_string_exact` found for struct `Box>` in the current scope [INFO] [stdout] --> src/parser_state.rs:407:43 [INFO] [stdout] | [INFO] [stdout] 407 | 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, string: &str, insensitive: bool) -> Either> { [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>::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] 912 | .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] 914 | .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] 916 | 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_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] 860 | 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>::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] 250 | / fn all_rules() -> &'static [Self] { [INFO] [stdout] 251 | | &[] [INFO] [stdout] 252 | | } [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] 248 | 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] 279 | let find: Vec> = 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>` is not implemented for `&str` [INFO] [stdout] = help: the following other types implement trait `PartialEq`: [INFO] [stdout] `&str` implements `PartialEq` [INFO] [stdout] `&str` implements `PartialEq` [INFO] [stdout] `&str` implements `PartialEq>` [INFO] [stdout] `&str` implements `PartialEq` [INFO] [stdout] `&str` implements `PartialEq` [INFO] [stdout] `str` implements `PartialEq` [INFO] [stdout] `str` implements `PartialEq` [INFO] [stdout] `str` implements `PartialEq>` [INFO] [stdout] and 6 others [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_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] 186 | let mut state: Box> = yggdrasil_rt::State::new(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/position.rs:183:1 [INFO] [stdout] | [INFO] [stdout] 183 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/position.rs:187:24 [INFO] [stdout] | [INFO] [stdout] 183 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 187 | let mut result = state.match_string("\na"); [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 186 | let mut state: Box> = yggdrasil_rt::State::new(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/position.rs:183:1 [INFO] [stdout] | [INFO] [stdout] 183 | enum 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/position.rs:186:53 [INFO] [stdout] | [INFO] [stdout] 186 | let mut state: Box> = yggdrasil_rt::State::new(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/position.rs:183:1 [INFO] [stdout] | [INFO] [stdout] 183 | enum 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 { [INFO] [stdout] | --- required by a bound in this associated function [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_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] 124 | let mut state: Box> = yggdrasil_rt::State::new(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/position.rs:121:1 [INFO] [stdout] | [INFO] [stdout] 121 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/position.rs:125:24 [INFO] [stdout] | [INFO] [stdout] 121 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 125 | let mut result = state.match_string("\na"); [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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] 124 | let mut state: Box> = yggdrasil_rt::State::new(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/position.rs:121:1 [INFO] [stdout] | [INFO] [stdout] 121 | enum 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/position.rs:124:53 [INFO] [stdout] | [INFO] [stdout] 124 | let mut state: Box> = yggdrasil_rt::State::new(input); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/position.rs:121:1 [INFO] [stdout] | [INFO] [stdout] 121 | enum 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 { [INFO] [stdout] | --- required by a bound in this associated function [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] 214 | let mut state: Box> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:216:23 [INFO] [stdout] | [INFO] [stdout] 211 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 216 | 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>: 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] 215 | yggdrasil_rt::State::new(input).skip(1).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | enum 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] 215 | yggdrasil_rt::State::new(input).skip(1).unwrap(); [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | enum Rule {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: the trait `Debug` is implemented for `Box` [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2042:0 [INFO] [stdout] = note: required for `State<'_, Rule>` to implement `Debug` [INFO] [stdout] = note: 1 redundant requirement hidden [INFO] [stdout] = note: required for `Box>` to implement `Debug` [INFO] [stdout] note: required by a bound in `Result::::unwrap` [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1227:4 [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] 215 | yggdrasil_rt::State::new(input).skip(1).unwrap(); [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | enum 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, n: usize) -> Either> { [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] 215 | yggdrasil_rt::State::new(input).skip(1).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:211:1 [INFO] [stdout] | [INFO] [stdout] 211 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:217:15 [INFO] [stdout] | [INFO] [stdout] 211 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 217 | state = state.match_string("b").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:218:34 [INFO] [stdout] | [INFO] [stdout] 211 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 218 | 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>: 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] 283 | let mut state: Box> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:280:1 [INFO] [stdout] | [INFO] [stdout] 280 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:285:23 [INFO] [stdout] | [INFO] [stdout] 280 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 285 | 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>: 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] 284 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:280:1 [INFO] [stdout] | [INFO] [stdout] 280 | enum 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] 284 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:280:1 [INFO] [stdout] | [INFO] [stdout] 280 | enum Rule {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: the trait `Debug` is implemented for `Box` [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2042:0 [INFO] [stdout] = note: required for `State<'_, Rule>` to implement `Debug` [INFO] [stdout] = note: 1 redundant requirement hidden [INFO] [stdout] = note: required for `Box>` to implement `Debug` [INFO] [stdout] note: required by a bound in `Result::::unwrap` [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1227:4 [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] 284 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:280:1 [INFO] [stdout] | [INFO] [stdout] 280 | enum 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, n: usize) -> Either> { [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] 284 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:280:1 [INFO] [stdout] | [INFO] [stdout] 280 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:286:15 [INFO] [stdout] | [INFO] [stdout] 280 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 286 | state = state.match_string("b\nc").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:287:34 [INFO] [stdout] | [INFO] [stdout] 280 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 287 | 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>: 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] 259 | let mut state: Box> = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:256:1 [INFO] [stdout] | [INFO] [stdout] 256 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:261:23 [INFO] [stdout] | [INFO] [stdout] 256 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 261 | 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>: 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] 260 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:256:1 [INFO] [stdout] | [INFO] [stdout] 256 | enum 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] 260 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:256:1 [INFO] [stdout] | [INFO] [stdout] 256 | enum Rule {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] help: the trait `Debug` is implemented for `Box` [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2042:0 [INFO] [stdout] = note: required for `State<'_, Rule>` to implement `Debug` [INFO] [stdout] = note: 1 redundant requirement hidden [INFO] [stdout] = note: required for `Box>` to implement `Debug` [INFO] [stdout] note: required by a bound in `Result::::unwrap` [INFO] [stdout] --> /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1227:4 [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] 260 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:256:1 [INFO] [stdout] | [INFO] [stdout] 256 | enum 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, n: usize) -> Either> { [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] 260 | yggdrasil_rt::State::new(input).skip(2).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `YggdrasilRule` is not implemented for `Rule` [INFO] [stdout] --> src/span.rs:256:1 [INFO] [stdout] | [INFO] [stdout] 256 | enum 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 256 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 262 | state = state.match_string("b\nc").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ method cannot be called on `Box>` 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>`, but its trait bounds were not satisfied [INFO] [stdout] --> src/span.rs:263:34 [INFO] [stdout] | [INFO] [stdout] 256 | enum Rule {} [INFO] [stdout] | --------- doesn't satisfy `Rule: YggdrasilRule` [INFO] [stdout] ... [INFO] [stdout] 263 | 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>: 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::get_local_path (line 168) [INFO] [stdout] src/errors/mod.rs - errors::YggdrasilError::new_from_span (line 85) [INFO] [stdout] src/errors/mod.rs - errors::YggdrasilError::renamed_rules (line 206) [INFO] [stdout] src/errors/mod.rs - errors::YggdrasilError::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 3.99s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1ae805949c85c0345bf79743964882b42efd5fd675bef8391c17615e3f7e7c0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ae805949c85c0345bf79743964882b42efd5fd675bef8391c17615e3f7e7c0f", kill_on_drop: false }` [INFO] [stdout] 1ae805949c85c0345bf79743964882b42efd5fd675bef8391c17615e3f7e7c0f