[INFO] fetching crate kg-lang 0.1.1... [INFO] checking kg-lang-0.1.1 against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] extracting crate kg-lang 0.1.1 into /workspace/builds/worker-2/source [INFO] validating manifest of crates.io crate kg-lang 0.1.1 on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate kg-lang 0.1.1 [INFO] finished tweaking crates.io crate kg-lang 0.1.1 [INFO] tweaked toml for crates.io crate kg-lang 0.1.1 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded kg-js v0.1.1 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d338c411708a3f4559178b89adff3ef1a3cc8e7bf1c0928276d68b73e59356e5 [INFO] running `"docker" "start" "-a" "d338c411708a3f4559178b89adff3ef1a3cc8e7bf1c0928276d68b73e59356e5"` [INFO] [stderr] Compiling static_assertions v0.3.4 [INFO] [stderr] Checking rlibc v1.0.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling heapsize v0.4.2 [INFO] [stderr] Compiling jobserver v0.1.17 [INFO] [stderr] Checking kg-utils v0.3.1 [INFO] [stderr] Compiling synstructure v0.5.2 [INFO] [stderr] Checking kg-display v0.1.2 [INFO] [stderr] Checking kg-symbol v0.1.10 [INFO] [stderr] Compiling kg-utils v0.2.4 [INFO] [stderr] Compiling heapsize_derive v0.1.4 [INFO] [stderr] Compiling cc v1.0.46 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling lexical-core v0.4.6 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Compiling kg-js v0.1.1 [INFO] [stderr] Compiling backtrace v0.3.40 [INFO] [stderr] Compiling nom v5.0.1 [INFO] [stderr] Compiling synstructure v0.11.0 [INFO] [stderr] Compiling kg-display-derive v0.1.1 [INFO] [stderr] Compiling kg-diag v0.2.7 [INFO] [stderr] Compiling kg-diag-derive v0.2.3 [INFO] [stderr] Checking kg-tree v0.1.7 [INFO] [stderr] Checking kg-lang v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] error[E0412]: cannot find type `ParseResult` in this scope [INFO] [stderr] --> src/lexer/prog.rs:809:56 [INFO] [stderr] | [INFO] [stderr] 809 | fn exec(&mut self, reader: &mut dyn ByteReader) -> ParseResult> { [INFO] [stderr] | ^^^^^^^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 1 | use core::num::dec2flt::parse::ParseResult; [INFO] [stderr] | [INFO] [stderr] 1 | use kg_diag::parse::ParseResult; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `ParseResult` in this scope [INFO] [stderr] --> src/lexer/prog.rs:809:56 [INFO] [stderr] | [INFO] [stderr] 809 | fn exec(&mut self, reader: &mut dyn ByteReader) -> ParseResult> { [INFO] [stderr] | ^^^^^^^^^^^ not found in this scope [INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope [INFO] [stderr] | [INFO] [stderr] 1 | use core::num::dec2flt::parse::ParseResult; [INFO] [stderr] | [INFO] [stderr] 1 | use kg_diag::parse::ParseResult; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:369:39 [INFO] [stderr] | [INFO] [stderr] 369 | while let Some(c) = r.peek_char(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:371:44 [INFO] [stderr] | [INFO] [stderr] 371 | if let Some(c) = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:369:39 [INFO] [stderr] | [INFO] [stderr] 369 | while let Some(c) = r.peek_char(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:371:44 [INFO] [stderr] | [INFO] [stderr] 371 | if let Some(c) = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:373:34 [INFO] [stderr] | [INFO] [stderr] 373 | r.skip_until(&|c| c == '\n')?; [INFO] [stderr] | ^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:373:35: 373:48]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:373:49 [INFO] [stderr] | [INFO] [stderr] 373 | r.skip_until(&|c| c == '\n')?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:376:36 [INFO] [stderr] | [INFO] [stderr] 376 | r.skip_chars(2)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:384:34 [INFO] [stderr] | [INFO] [stderr] 384 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:392:44 [INFO] [stderr] | [INFO] [stderr] 392 | if let Some(c) = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:394:36 [INFO] [stderr] | [INFO] [stderr] 394 | r.skip_chars(2)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:397:34 [INFO] [stderr] | [INFO] [stderr] 397 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:403:26 [INFO] [stderr] | [INFO] [stderr] 403 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:418:25 [INFO] [stderr] | [INFO] [stderr] 418 | match r.peek_char(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:424:34 [INFO] [stderr] | [INFO] [stderr] 424 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:426:45 [INFO] [stderr] | [INFO] [stderr] 426 | match r.peek_char(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:429:50 [INFO] [stderr] | [INFO] [stderr] 429 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:434:46 [INFO] [stderr] | [INFO] [stderr] 434 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:438:46 [INFO] [stderr] | [INFO] [stderr] 438 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:443:66 [INFO] [stderr] | [INFO] [stderr] 443 | ... while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:459:50 [INFO] [stderr] | [INFO] [stderr] 459 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:463:46 [INFO] [stderr] | [INFO] [stderr] 463 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:478:34 [INFO] [stderr] | [INFO] [stderr] 478 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:486:26 [INFO] [stderr] | [INFO] [stderr] 486 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:492:26 [INFO] [stderr] | [INFO] [stderr] 492 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:498:26 [INFO] [stderr] | [INFO] [stderr] 498 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:504:26 [INFO] [stderr] | [INFO] [stderr] 504 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:510:26 [INFO] [stderr] | [INFO] [stderr] 510 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:516:26 [INFO] [stderr] | [INFO] [stderr] 516 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:522:26 [INFO] [stderr] | [INFO] [stderr] 522 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:528:26 [INFO] [stderr] | [INFO] [stderr] 528 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:534:26 [INFO] [stderr] | [INFO] [stderr] 534 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:540:26 [INFO] [stderr] | [INFO] [stderr] 540 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:546:26 [INFO] [stderr] | [INFO] [stderr] 546 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:551:46 [INFO] [stderr] | [INFO] [stderr] 551 | if let Some('>') = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:553:32 [INFO] [stderr] | [INFO] [stderr] 553 | r.skip_chars(2)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:558:30 [INFO] [stderr] | [INFO] [stderr] 558 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:565:26 [INFO] [stderr] | [INFO] [stderr] 565 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:373:34 [INFO] [stderr] | [INFO] [stderr] 373 | r.skip_until(&|c| c == '\n')?; [INFO] [stderr] | ^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:373:35: 373:48]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:373:49 [INFO] [stderr] | [INFO] [stderr] 373 | r.skip_until(&|c| c == '\n')?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:376:36 [INFO] [stderr] | [INFO] [stderr] 376 | r.skip_chars(2)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:384:34 [INFO] [stderr] | [INFO] [stderr] 384 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:392:44 [INFO] [stderr] | [INFO] [stderr] 392 | if let Some(c) = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:394:36 [INFO] [stderr] | [INFO] [stderr] 394 | r.skip_chars(2)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:397:34 [INFO] [stderr] | [INFO] [stderr] 397 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:403:26 [INFO] [stderr] | [INFO] [stderr] 403 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:418:25 [INFO] [stderr] | [INFO] [stderr] 418 | match r.peek_char(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:424:34 [INFO] [stderr] | [INFO] [stderr] 424 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:426:45 [INFO] [stderr] | [INFO] [stderr] 426 | match r.peek_char(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:429:50 [INFO] [stderr] | [INFO] [stderr] 429 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:434:46 [INFO] [stderr] | [INFO] [stderr] 434 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:438:46 [INFO] [stderr] | [INFO] [stderr] 438 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:443:66 [INFO] [stderr] | [INFO] [stderr] 443 | ... while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:459:50 [INFO] [stderr] | [INFO] [stderr] 459 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:463:46 [INFO] [stderr] | [INFO] [stderr] 463 | ... r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:478:34 [INFO] [stderr] | [INFO] [stderr] 478 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:486:26 [INFO] [stderr] | [INFO] [stderr] 486 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:492:26 [INFO] [stderr] | [INFO] [stderr] 492 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:498:26 [INFO] [stderr] | [INFO] [stderr] 498 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:504:26 [INFO] [stderr] | [INFO] [stderr] 504 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:510:26 [INFO] [stderr] | [INFO] [stderr] 510 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:516:26 [INFO] [stderr] | [INFO] [stderr] 516 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:522:26 [INFO] [stderr] | [INFO] [stderr] 522 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:528:26 [INFO] [stderr] | [INFO] [stderr] 528 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:534:26 [INFO] [stderr] | [INFO] [stderr] 534 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:540:26 [INFO] [stderr] | [INFO] [stderr] 540 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:546:26 [INFO] [stderr] | [INFO] [stderr] 546 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:551:46 [INFO] [stderr] | [INFO] [stderr] 551 | if let Some('>') = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:553:32 [INFO] [stderr] | [INFO] [stderr] 553 | r.skip_chars(2)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:558:30 [INFO] [stderr] | [INFO] [stderr] 558 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:565:26 [INFO] [stderr] | [INFO] [stderr] 565 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:566:26 [INFO] [stderr] | [INFO] [stderr] 566 | r.skip_while(&|c| c.is_alphanumeric())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:566:27: 566:50]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:566:51 [INFO] [stderr] | [INFO] [stderr] 566 | r.skip_while(&|c| c.is_alphanumeric())?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:568:50 [INFO] [stderr] | [INFO] [stderr] 568 | let d = r.slice(p1.offset, p2.offset)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:566:26 [INFO] [stderr] | [INFO] [stderr] 566 | r.skip_while(&|c| c.is_alphanumeric())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:566:27: 566:50]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:566:51 [INFO] [stderr] | [INFO] [stderr] 566 | r.skip_while(&|c| c.is_alphanumeric())?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:568:50 [INFO] [stderr] | [INFO] [stderr] 568 | let d = r.slice(p1.offset, p2.offset)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:582:26 [INFO] [stderr] | [INFO] [stderr] 582 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:582:27: 582:62]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:582:63 [INFO] [stderr] | [INFO] [stderr] 582 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:588:43 [INFO] [stderr] | [INFO] [stderr] 588 | if let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:590:34 [INFO] [stderr] | [INFO] [stderr] 590 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:590:35: 590:70]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:590:71 [INFO] [stderr] | [INFO] [stderr] 590 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:604:46 [INFO] [stderr] | [INFO] [stderr] 604 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:607:34 [INFO] [stderr] | [INFO] [stderr] 607 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:628:46 [INFO] [stderr] | [INFO] [stderr] 628 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:631:34 [INFO] [stderr] | [INFO] [stderr] 631 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:582:26 [INFO] [stderr] | [INFO] [stderr] 582 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:582:27: 582:62]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:582:63 [INFO] [stderr] | [INFO] [stderr] 582 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:588:43 [INFO] [stderr] | [INFO] [stderr] 588 | if let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:644:20 [INFO] [stderr] | [INFO] [stderr] 644 | r.scan(&|c| c.is_digit(10))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:644:21: 644:39]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:644:40 [INFO] [stderr] | [INFO] [stderr] 644 | r.scan(&|c| c.is_digit(10))?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:855:67 [INFO] [stderr] | [INFO] [stderr] 855 | let prop = r.slice(tprop.from.offset, tprop.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:862:70 [INFO] [stderr] | [INFO] [stderr] 862 | let value = r.slice(tvalue.from.offset, tvalue.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:908:47 [INFO] [stderr] | [INFO] [stderr] 908 | Ok(r.slice(t.from.offset, t.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:914:88 [INFO] [stderr] | [INFO] [stderr] 914 | let mut channel = ParseChannel::new(r.slice(tname.from.offset, tname.to.offset)?.as_ref()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:920:85 [INFO] [stderr] | [INFO] [stderr] 920 | channel.parents.push(r.slice(tname.from.offset, tname.to.offset)?.to_string()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:938:82 [INFO] [stderr] | [INFO] [stderr] 938 | let mut mode = ParseMode::new(r.slice(tname.from.offset, tname.to.offset)?.as_ref()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:944:82 [INFO] [stderr] | [INFO] [stderr] 944 | mode.parents.push(r.slice(tname.from.offset, tname.to.offset)?.to_string()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:966:64 [INFO] [stderr] | [INFO] [stderr] 966 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:983:64 [INFO] [stderr] | [INFO] [stderr] 983 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1058:78 [INFO] [stderr] | [INFO] [stderr] 1058 | let lit = r.slice(t.from.offset + 1, t.to.offset - 1)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1073:93 [INFO] [stderr] | [INFO] [stderr] 1073 | ParseTerminal::CharSet => s.push_str(r.slice(t.from.offset, t.to.offset)?.as_ref()), [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1082:89 [INFO] [stderr] | [INFO] [stderr] 1082 | ParseTerminal::Int => s.push_str(r.slice(t.from.offset, t.to.offset)?.as_ref()), [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1087:75 [INFO] [stderr] | [INFO] [stderr] 1087 | ... let name = r.slice(t.from.offset, t.to.offset)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1140:73 [INFO] [stderr] | [INFO] [stderr] 1140 | LexerCommand::Custom(r.slice(t.from.offset, t.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1143:61 [INFO] [stderr] | [INFO] [stderr] 1143 | let id = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1151:87 [INFO] [stderr] | [INFO] [stderr] 1151 | LexerCommand::Type(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1157:87 [INFO] [stderr] | [INFO] [stderr] 1157 | LexerCommand::Mode(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1163:91 [INFO] [stderr] | [INFO] [stderr] 1163 | LexerCommand::ModePush(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1170:90 [INFO] [stderr] | [INFO] [stderr] 1170 | LexerCommand::Channel(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1176:94 [INFO] [stderr] | [INFO] [stderr] 1176 | LexerCommand::ChannelPush(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1192:64 [INFO] [stderr] | [INFO] [stderr] 1192 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] --> src/grammar/parse.rs:590:34 [INFO] [stderr] | [INFO] [stderr] 590 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:590:35: 590:70]` [INFO] [stderr] [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:590:71 [INFO] [stderr] | [INFO] [stderr] 590 | r.skip_while(&|c| c.is_alphanumeric() || c == '_')?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:604:46 [INFO] [stderr] | [INFO] [stderr] 604 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:607:34 [INFO] [stderr] | [INFO] [stderr] 607 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:628:46 [INFO] [stderr] | [INFO] [stderr] 628 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:631:34 [INFO] [stderr] | [INFO] [stderr] 631 | r.next_char()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1196:64 [INFO] [stderr] | [INFO] [stderr] 1196 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1234:88 [INFO] [stderr] | [INFO] [stderr] 1234 | f.elements.push(Element::Action(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1237:89 [INFO] [stderr] | [INFO] [stderr] 1237 | f.elements.push(Element::Literal(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1240:90 [INFO] [stderr] | [INFO] [stderr] 1240 | f.elements.push(Element::Terminal(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1243:92 [INFO] [stderr] | [INFO] [stderr] 1243 | f.elements.push(Element::Production(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/grammar/parse.rs:644:20 [INFO] [stderr] | [INFO] [stderr] 644 | r.scan(&|c| c.is_digit(10))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ types differ in mutability [INFO] [stderr] | [INFO] [stderr] = note: expected type `&mut dyn std::ops::FnMut(char) -> bool` [INFO] [stderr] found type `&[closure@src/grammar/parse.rs:644:21: 644:39]` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:644:40 [INFO] [stderr] | [INFO] [stderr] 644 | r.scan(&|c| c.is_digit(10))?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:910:52 [INFO] [stderr] | [INFO] [stderr] 910 | while let Some(c) = reader.peek_byte(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:930:35 [INFO] [stderr] | [INFO] [stderr] 930 | reader.next_byte()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:945:106 [INFO] [stderr] | [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] 945 | let mut token = Token::with_id(t.index(), t.id().into(), reader.slice(s.offset, e.offset)?.into(), s, e); [INFO] [stderr] --> src/grammar/parse.rs:855:67 [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] 855 | let prop = r.slice(tprop.from.offset, tprop.to.offset)?.to_string(); [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:949:35 [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 949 | reader.next_byte()?; [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] > [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:862:70 [INFO] [stderr] | [INFO] [stderr] 862 | let value = r.slice(tvalue.from.offset, tvalue.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:908:47 [INFO] [stderr] | [INFO] [stderr] 908 | Ok(r.slice(t.from.offset, t.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:914:88 [INFO] [stderr] | [INFO] [stderr] 914 | let mut channel = ParseChannel::new(r.slice(tname.from.offset, tname.to.offset)?.as_ref()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:953:106 [INFO] [stderr] | [INFO] [stderr] 953 | let mut token = Token::with_id(t.index(), t.id().into(), reader.slice(s.offset, e.offset)?.into(), s, e); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:920:85 [INFO] [stderr] | [INFO] [stderr] 920 | channel.parents.push(r.slice(tname.from.offset, tname.to.offset)?.to_string()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:938:82 [INFO] [stderr] | [INFO] [stderr] 938 | let mut mode = ParseMode::new(r.slice(tname.from.offset, tname.to.offset)?.as_ref()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:944:82 [INFO] [stderr] | [INFO] [stderr] 944 | mode.parents.push(r.slice(tname.from.offset, tname.to.offset)?.to_string()); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:966:64 [INFO] [stderr] | [INFO] [stderr] 966 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:983:64 [INFO] [stderr] | [INFO] [stderr] 983 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1058:78 [INFO] [stderr] | [INFO] [stderr] 1058 | let lit = r.slice(t.from.offset + 1, t.to.offset - 1)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1073:93 [INFO] [stderr] | [INFO] [stderr] 1073 | ParseTerminal::CharSet => s.push_str(r.slice(t.from.offset, t.to.offset)?.as_ref()), [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1082:89 [INFO] [stderr] | [INFO] [stderr] 1082 | ParseTerminal::Int => s.push_str(r.slice(t.from.offset, t.to.offset)?.as_ref()), [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1087:75 [INFO] [stderr] | [INFO] [stderr] 1087 | ... let name = r.slice(t.from.offset, t.to.offset)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1140:73 [INFO] [stderr] | [INFO] [stderr] 1140 | LexerCommand::Custom(r.slice(t.from.offset, t.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1143:61 [INFO] [stderr] | [INFO] [stderr] 1143 | let id = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1151:87 [INFO] [stderr] | [INFO] [stderr] 1151 | LexerCommand::Type(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1157:87 [INFO] [stderr] | [INFO] [stderr] 1157 | LexerCommand::Mode(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1163:91 [INFO] [stderr] | [INFO] [stderr] 1163 | LexerCommand::ModePush(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1170:90 [INFO] [stderr] | [INFO] [stderr] 1170 | LexerCommand::Channel(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1176:94 [INFO] [stderr] | [INFO] [stderr] 1176 | LexerCommand::ChannelPush(r.slice(tname.from.offset, tname.to.offset)?.to_string()) [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1192:64 [INFO] [stderr] | [INFO] [stderr] 1192 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1196:64 [INFO] [stderr] | [INFO] [stderr] 1196 | rule.name = r.slice(t.from.offset, t.to.offset)?.to_string(); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1234:88 [INFO] [stderr] | [INFO] [stderr] 1234 | f.elements.push(Element::Action(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1237:89 [INFO] [stderr] | [INFO] [stderr] 1237 | f.elements.push(Element::Literal(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1240:90 [INFO] [stderr] | [INFO] [stderr] 1240 | f.elements.push(Element::Terminal(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `grammar::parse::Error` [INFO] [stderr] --> src/grammar/parse.rs:1243:92 [INFO] [stderr] | [INFO] [stderr] 1243 | f.elements.push(Element::Production(r.slice(t.from.offset, t.to.offset)?.to_string())); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `grammar::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:910:52 [INFO] [stderr] | [INFO] [stderr] 910 | while let Some(c) = reader.peek_byte(0)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:930:35 [INFO] [stderr] | [INFO] [stderr] 930 | reader.next_byte()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:945:106 [INFO] [stderr] | [INFO] [stderr] 945 | let mut token = Token::with_id(t.index(), t.id().into(), reader.slice(s.offset, e.offset)?.into(), s, e); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:949:35 [INFO] [stderr] | [INFO] [stderr] 949 | reader.next_byte()?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `lexer::LexerError` [INFO] [stderr] --> src/lexer/prog.rs:953:106 [INFO] [stderr] | [INFO] [stderr] 953 | let mut token = Token::with_id(t.index(), t.id().into(), reader.slice(s.offset, e.offset)?.into(), s, e); [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `lexer::LexerError` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:58:42 [INFO] [stderr] | [INFO] [stderr] 58 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:101:39 [INFO] [stderr] | [INFO] [stderr] 101 | if let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:216:33 [INFO] [stderr] | [INFO] [stderr] 216 | match r.peek_char(0)?.unwrap() { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:236:46 [INFO] [stderr] | [INFO] [stderr] 236 | if let Some('?') = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:238:32 [INFO] [stderr] | [INFO] [stderr] 238 | r.skip_chars(1)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:183:46 [INFO] [stderr] | [INFO] [stderr] 183 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:264:46 [INFO] [stderr] | [INFO] [stderr] 264 | while let Some(mut c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error: aborting due to 88 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0412. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `kg-lang`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:58:42 [INFO] [stderr] | [INFO] [stderr] 58 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:101:39 [INFO] [stderr] | [INFO] [stderr] 101 | if let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:216:33 [INFO] [stderr] | [INFO] [stderr] 216 | match r.peek_char(0)?.unwrap() { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:236:46 [INFO] [stderr] | [INFO] [stderr] 236 | if let Some('?') = r.peek_char(1)? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:238:32 [INFO] [stderr] | [INFO] [stderr] 238 | r.skip_chars(1)?; [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:183:46 [INFO] [stderr] | [INFO] [stderr] 183 | while let Some(c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `regex::parse::Error` [INFO] [stderr] --> src/regex/parse.rs:264:46 [INFO] [stderr] | [INFO] [stderr] 264 | while let Some(mut c) = r.next_char()? { [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `regex::parse::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error: aborting due to 88 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0412. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `kg-lang`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d338c411708a3f4559178b89adff3ef1a3cc8e7bf1c0928276d68b73e59356e5"` [INFO] running `"docker" "rm" "-f" "d338c411708a3f4559178b89adff3ef1a3cc8e7bf1c0928276d68b73e59356e5"` [INFO] [stdout] d338c411708a3f4559178b89adff3ef1a3cc8e7bf1c0928276d68b73e59356e5