[INFO] cloning repository https://github.com/YoloDev/skorm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/YoloDev/skorm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYoloDev%2Fskorm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYoloDev%2Fskorm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c0e896de8868bf8ccbeaaf9428d5a317f21c130a [INFO] checking YoloDev/skorm/c0e896de8868bf8ccbeaaf9428d5a317f21c130a against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYoloDev%2Fskorm" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/YoloDev/skorm on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config [INFO] started tweaking git repo https://github.com/YoloDev/skorm [INFO] finished tweaking git repo https://github.com/YoloDev/skorm [INFO] tweaked toml for git repo https://github.com/YoloDev/skorm written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/YoloDev/skorm already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 34 packages to latest compatible versions [INFO] [stderr] Updating arrayvec v0.4.12 -> v0.5.2 (available: v0.7.6) [INFO] [stderr] Adding autocfg v1.4.0 [INFO] [stderr] Updating base64 v0.10.1 -> v0.13.1 (available: v0.22.1) [INFO] [stderr] Updating bitmaps v2.0.0 -> v2.1.0 (available: v3.2.1) [INFO] [stderr] Adding bitvec v0.19.6 (available: v1.0.1) [INFO] [stderr] Updating bytes v0.5.3 -> v1.7.2 [INFO] [stderr] Adding cfg-if v1.0.0 [INFO] [stderr] Updating crossbeam-utils v0.7.0 -> v0.8.20 [INFO] [stderr] Adding funty v1.1.0 (available: v2.0.0) [INFO] [stderr] Updating im v14.0.0 -> v15.1.0 [INFO] [stderr] Adding instant v0.1.13 [INFO] [stderr] Updating itertools v0.8.2 -> v0.10.5 (available: v0.13.0) [INFO] [stderr] Updating lexical-core v0.4.6 -> v0.7.6 (available: v1.0.2) [INFO] [stderr] Updating libc v0.2.65 -> v0.2.159 [INFO] [stderr] Updating lock_api v0.3.1 -> v0.4.12 [INFO] [stderr] Updating nom v5.0.1 -> v6.2.2 (available: v7.1.3) [INFO] [stderr] Adding oorandom v11.1.4 [INFO] [stderr] Updating parking_lot v0.10.0 -> v0.11.2 (available: v0.12.3) [INFO] [stderr] Updating parking_lot_core v0.7.0 -> v0.8.6 (available: v0.9.10) [INFO] [stderr] Adding radium v0.5.3 (available: v1.1.0) [INFO] [stderr] Updating rand_core v0.5.1 -> v0.6.4 [INFO] [stderr] Updating rand_xoshiro v0.4.0 -> v0.6.0 [INFO] [stderr] Updating redox_syscall v0.1.56 -> v0.2.16 (available: v0.5.6) [INFO] [stderr] Updating ron v0.5.1 -> v0.6.6 (available: v0.8.1) [INFO] [stderr] Updating salsa v0.14.1 -> v0.16.1 [INFO] [stderr] Updating salsa-macros v0.14.1 -> v0.16.0 [INFO] [stderr] Updating scopeguard v1.0.0 -> v1.2.0 [INFO] [stderr] Updating sized-chunks v0.5.0 -> v0.6.5 (available: v0.7.0) [INFO] [stderr] Updating smallvec v1.0.0 -> v1.13.2 [INFO] [stderr] Updating static_assertions v0.3.4 -> v1.1.0 [INFO] [stderr] Adding tap v1.0.1 [INFO] [stderr] Updating typenum v1.11.2 -> v1.17.0 [INFO] [stderr] Updating winapi v0.3.8 -> v0.3.9 [INFO] [stderr] Adding wyz v0.2.0 (available: v0.6.1) [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded evitable v0.5.0 [INFO] [stderr] Downloaded structopt-derive v0.3.4 [INFO] [stderr] Downloaded structopt v0.3.4 [INFO] [stderr] Downloaded evitable-derive v0.5.0 [INFO] [stderr] Downloaded rust_decimal v1.0.3 [INFO] [stderr] Downloaded evitable-syn-meta-ext v0.5.0 [INFO] [stderr] Downloaded evitable-derive-core v0.5.0 [INFO] [stderr] Downloaded datatest v0.6.0 [INFO] [stderr] Downloaded unicode-normalization v0.1.9 [INFO] [stderr] Downloaded datatest-derive v0.6.0 [INFO] [stderr] Downloaded nom v6.2.2 [INFO] [stderr] Downloaded regex v1.3.3 [INFO] [stderr] Downloaded regex-syntax v0.6.13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 21ef74b3774ac517111cd0b95201c4b825ee5ead20287bb36e9883dd9b26aaf0 [INFO] running `Command { std: "docker" "start" "-a" "21ef74b3774ac517111cd0b95201c4b825ee5ead20287bb36e9883dd9b26aaf0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "21ef74b3774ac517111cd0b95201c4b825ee5ead20287bb36e9883dd9b26aaf0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21ef74b3774ac517111cd0b95201c4b825ee5ead20287bb36e9883dd9b26aaf0", kill_on_drop: false }` [INFO] [stdout] 21ef74b3774ac517111cd0b95201c4b825ee5ead20287bb36e9883dd9b26aaf0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f51578e4e4b835106bce37d556fad0023153efcc569d2b555975903880cdc25 [INFO] running `Command { std: "docker" "start" "-a" "4f51578e4e4b835106bce37d556fad0023153efcc569d2b555975903880cdc25", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.8 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling unicode-segmentation v1.6.0 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling version_check v0.9.1 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling cc v1.0.47 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling radium v0.5.3 [INFO] [stderr] Compiling num-traits v0.2.9 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Checking skorm-core v0.1.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Compiling num-bigint v0.2.3 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking glob v0.3.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling nom v6.2.2 [INFO] [stderr] Checking maybe-uninit v2.0.0 [INFO] [stderr] Compiling num-complex v0.2.3 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling num-rational v0.2.2 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking funty v1.1.0 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling serde v1.0.102 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking wyz v0.2.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling indexmap v1.3.0 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking linked-hash-map v0.5.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Checking yaml-rust v0.4.3 [INFO] [stderr] Checking bitvec v0.19.6 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Checking unicode-normalization v0.1.9 [INFO] [stderr] Checking skorm-parse v0.1.0 (/opt/rustwide/workdir/crates/parse) [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking dtoa v0.4.4 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling datatest v0.6.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Checking regex-syntax v0.6.13 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking rustc-hash v1.0.1 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking skorm-format v0.1.0 (/opt/rustwide/workdir/crates/format) [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Checking url v2.1.0 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking rust_decimal v1.0.3 [INFO] [stderr] Checking regex v1.3.3 [INFO] [stderr] Compiling proc-macro-error v0.2.6 [INFO] [stderr] Compiling evitable-syn-meta-ext v0.5.0 [INFO] [stderr] Compiling evitable-derive-core v0.5.0 [INFO] [stderr] Compiling structopt-derive v0.3.4 [INFO] [stderr] Compiling serde_derive v1.0.102 [INFO] [stderr] Compiling salsa-macros v0.16.0 [INFO] [stderr] Compiling datatest-derive v0.6.0 [INFO] [stderr] Compiling ctor v0.1.12 [INFO] [stderr] Compiling evitable-derive v0.5.0 [INFO] [stderr] Checking evitable v0.5.0 [INFO] [stderr] Checking structopt v0.3.4 [INFO] [stderr] Checking skorm-turtle-parse v0.1.0 (/opt/rustwide/workdir/crates/turtle-parse) [INFO] [stderr] Checking xtask v0.1.0 (/opt/rustwide/workdir/xtask) [INFO] [stdout] warning: fields `name` and `dir` are never read [INFO] [stdout] --> xtask/src/lib.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Crate { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 22 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 23 | dir: PathBuf, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Crate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `dir` are never read [INFO] [stdout] --> xtask/src/lib.rs:22:3 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Crate { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 22 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 23 | dir: PathBuf, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Crate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0053]: method `slice_index` has an incompatible type for trait [INFO] [stdout] --> crates/turtle-parse/src/parse/input.rs:151:42 [INFO] [stdout] | [INFO] [stdout] 151 | fn slice_index(&self, count: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ expected `std::result::Result`, found `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected signature `fn(&InputBuf<'_>, _) -> std::result::Result` [INFO] [stdout] found signature `fn(&InputBuf<'_>, _) -> Option` [INFO] [stdout] help: change the output type to match the trait [INFO] [stdout] | [INFO] [stdout] 151 | fn slice_index(&self, count: usize) -> std::result::Result { [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `add_context` found for struct `VerboseError` in the current scope [INFO] [stdout] --> crates/turtle-parse/src/parse/productions.rs:504:34 [INFO] [stdout] | [INFO] [stdout] 504 | let outer_error = E::add_context(i2, "predicate_object_list", inner_error); [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `VerboseError>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `ContextError` which provides `add_context` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use nom::error::ContextError; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking salsa v0.16.1 [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:88:46 [INFO] [stdout] | [INFO] [stdout] 88 | None => Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 88 | None => Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:285:54 [INFO] [stdout] | [INFO] [stdout] 285 | None => Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 285 | None => Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:294:57 [INFO] [stdout] | [INFO] [stdout] 294 | None => return Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 294 | None => return Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'a>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:254:38 [INFO] [stdout] | [INFO] [stdout] 254 | fn long_str<'a>(quote_char: char) -> impl Fn(I<'a>) -> O<'a, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'a>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'a>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:351:54 [INFO] [stdout] | [INFO] [stdout] 351 | None => Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 351 | None => Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:360:57 [INFO] [stdout] | [INFO] [stdout] 360 | None => return Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 360 | None => return Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'a>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:313:40 [INFO] [stdout] | [INFO] [stdout] 313 | fn simple_str<'a>(quote_char: char) -> impl Fn(I<'a>) -> O<'a, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'a>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'a>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, String), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'a>)` closure, found `impl FnMut(InputBuf<'a>) -> std::result::Result<(InputBuf<'a>, ()), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:50 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'a>)` closure, found `impl FnMut(InputBuf<'a>) -> std::result::Result<(InputBuf<'a>, ()), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'a>)` is not implemented for `impl FnMut(InputBuf<'a>) -> std::result::Result<(InputBuf<'a>, ()), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'a>) -> std::result::Result<(InputBuf<'a>, ()), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/input.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 151 | fn slice_index(&self, count: usize) -> Option { [INFO] [stdout] | ------------- expected `Option` because of return type [INFO] [stdout] 152 | self.slice().slice_index(count) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `std::result::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/input.rs:202:53 [INFO] [stdout] | [INFO] [stdout] 202 | None => Err(Err::Incomplete(nom::Needed::Size(1))), [INFO] [stdout] | ----------------- ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 202 | None => Err(Err::Incomplete(nom::Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/input.rs:223:53 [INFO] [stdout] | [INFO] [stdout] 223 | None => Err(Err::Incomplete(nom::Needed::Size(1))), [INFO] [stdout] | ----------------- ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 223 | None => Err(Err::Incomplete(nom::Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:49:46 [INFO] [stdout] | [INFO] [stdout] 49 | None => Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 49 | None => Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:61:46 [INFO] [stdout] | [INFO] [stdout] 61 | None => Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 61 | None => Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:192:32 [INFO] [stdout] | [INFO] [stdout] 192 | start_mid_end(pn_chars_base, alt((pn_chars, char('.'))), pn_chars)(buf) [INFO] [stdout] | ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:192:3 [INFO] [stdout] | [INFO] [stdout] 192 | start_mid_end(pn_chars_base, alt((pn_chars, char('.'))), pn_chars)(buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:197:5 [INFO] [stdout] | [INFO] [stdout] 196 | start_mid_end( [INFO] [stdout] | ------------- required by a bound introduced by this call [INFO] [stdout] 197 | alt((pn_chars_u, char(':'), dec, plx)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 196 | start_mid_end( [INFO] [stdout] | ------------- required by a bound introduced by this call [INFO] [stdout] 197 | alt((pn_chars_u, char(':'), dec, plx)), [INFO] [stdout] 198 | alt((pn_chars, char('.'), char(':'), plx)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 196 | start_mid_end( [INFO] [stdout] | ------------- required by a bound introduced by this call [INFO] [stdout] ... [INFO] [stdout] 199 | alt((pn_chars, char(':'), plx)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 132 | cend: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:196:3 [INFO] [stdout] | [INFO] [stdout] 196 | / start_mid_end( [INFO] [stdout] 197 | | alt((pn_chars_u, char(':'), dec, plx)), [INFO] [stdout] 198 | | alt((pn_chars, char('.'), char(':'), plx)), [INFO] [stdout] 199 | | alt((pn_chars, char(':'), plx)), [INFO] [stdout] 200 | | )(buf) [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:196:3 [INFO] [stdout] | [INFO] [stdout] 196 | / start_mid_end( [INFO] [stdout] 197 | | alt((pn_chars_u, char(':'), dec, plx)), [INFO] [stdout] 198 | | alt((pn_chars, char('.'), char(':'), plx)), [INFO] [stdout] 199 | | alt((pn_chars, char(':'), plx)), [INFO] [stdout] 200 | | )(buf) [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:196:3 [INFO] [stdout] | [INFO] [stdout] 196 | / start_mid_end( [INFO] [stdout] 197 | | alt((pn_chars_u, char(':'), dec, plx)), [INFO] [stdout] 198 | | alt((pn_chars, char('.'), char(':'), plx)), [INFO] [stdout] 199 | | alt((pn_chars, char(':'), plx)), [INFO] [stdout] 200 | | )(buf) [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:132:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 132 | cend: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:408:15 [INFO] [stdout] | [INFO] [stdout] 408 | matched_str(preceded( [INFO] [stdout] | ___-----------_^ [INFO] [stdout] | | | [INFO] [stdout] | | required by a bound introduced by this call [INFO] [stdout] 409 | | alt((char('e'), char('E'))), [INFO] [stdout] 410 | | tuple((unary_op, many1_count(dec))), [INFO] [stdout] 411 | | ))(buf) [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:408:3 [INFO] [stdout] | [INFO] [stdout] 408 | / matched_str(preceded( [INFO] [stdout] 409 | | alt((char('e'), char('E'))), [INFO] [stdout] 410 | | tuple((unary_op, many1_count(dec))), [INFO] [stdout] 411 | | ))(buf) [INFO] [stdout] | |____^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:416:19 [INFO] [stdout] | [INFO] [stdout] 416 | let arm1 = void(tuple(( [INFO] [stdout] | ______________----_^ [INFO] [stdout] | | | [INFO] [stdout] | | required by a bound introduced by this call [INFO] [stdout] 417 | | many1_count(dec), [INFO] [stdout] 418 | | char('.'), [INFO] [stdout] 419 | | many0_count(dec), [INFO] [stdout] 420 | | exponent, [INFO] [stdout] 421 | | ))); [INFO] [stdout] | |____^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:416:14 [INFO] [stdout] | [INFO] [stdout] 416 | let arm1 = void(tuple(( [INFO] [stdout] | ______________^ [INFO] [stdout] 417 | | many1_count(dec), [INFO] [stdout] 418 | | char('.'), [INFO] [stdout] 419 | | many0_count(dec), [INFO] [stdout] 420 | | exponent, [INFO] [stdout] 421 | | ))); [INFO] [stdout] | |_____^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:424:19 [INFO] [stdout] | [INFO] [stdout] 424 | let arm2 = void(tuple((char('.'), many1_count(dec), exponent))); [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:424:14 [INFO] [stdout] | [INFO] [stdout] 424 | let arm2 = void(tuple((char('.'), many1_count(dec), exponent))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:427:19 [INFO] [stdout] | [INFO] [stdout] 427 | let arm3 = void(tuple((many1_count(dec), exponent))); [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:427:14 [INFO] [stdout] | [INFO] [stdout] 427 | let arm3 = void(tuple((many1_count(dec), exponent))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:34 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:34 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:34 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:34 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:34 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:34 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:17 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:430:5 [INFO] [stdout] | [INFO] [stdout] 430 | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ________________^ [INFO] [stdout] 430 | | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] 431 | | |s| s.parse::(), [INFO] [stdout] 432 | | ); [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ________________^ [INFO] [stdout] 430 | | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] 431 | | |s| s.parse::(), [INFO] [stdout] 432 | | ); [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ________________^ [INFO] [stdout] 430 | | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] 431 | | |s| s.parse::(), [INFO] [stdout] 432 | | ); [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | let parser = map( [INFO] [stdout] | ________________^ [INFO] [stdout] 430 | | matched_str(tuple((unary_op, alt((arm1, arm2, arm3))))), [INFO] [stdout] 431 | | |s| s.parse::(), [INFO] [stdout] 432 | | ); [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | match parser(buf) { [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, ())), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | match parser(buf) { [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | match parser(buf) { [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (char, usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | match parser(buf) { [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, &str)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `void` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:395:24 [INFO] [stdout] | [INFO] [stdout] 395 | fn void<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `void` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `add_context` found for struct `VerboseError` in the current scope [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:438:28 [INFO] [stdout] | [INFO] [stdout] 438 | let outer_error = E::add_context(i, "error parsing as f64", inner_error); [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `VerboseError>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `ContextError` which provides `add_context` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use nom::error::ContextError; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:447:17 [INFO] [stdout] | [INFO] [stdout] 447 | matched_str(tuple(( [INFO] [stdout] | _____-----------_^ [INFO] [stdout] | | | [INFO] [stdout] | | required by a bound introduced by this call [INFO] [stdout] 448 | | unary_op, [INFO] [stdout] 449 | | many0_count(dec), [INFO] [stdout] 450 | | char('.'), [INFO] [stdout] 451 | | many1_count(dec), [INFO] [stdout] 452 | | ))), [INFO] [stdout] | |______^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 447 | / matched_str(tuple(( [INFO] [stdout] 448 | | unary_op, [INFO] [stdout] 449 | | many0_count(dec), [INFO] [stdout] 450 | | char('.'), [INFO] [stdout] 451 | | many1_count(dec), [INFO] [stdout] 452 | | ))), [INFO] [stdout] | |_______^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:446:16 [INFO] [stdout] | [INFO] [stdout] 446 | let parser = map( [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:446:16 [INFO] [stdout] | [INFO] [stdout] 446 | let parser = map( [INFO] [stdout] | ________________^ [INFO] [stdout] 447 | | matched_str(tuple(( [INFO] [stdout] 448 | | unary_op, [INFO] [stdout] 449 | | many0_count(dec), [INFO] [stdout] ... | [INFO] [stdout] 453 | | |s| s.parse::(), [INFO] [stdout] 454 | | ); [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 456 | match parser(buf) { [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize, char, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `add_context` found for struct `VerboseError` in the current scope [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:460:28 [INFO] [stdout] | [INFO] [stdout] 460 | let outer_error = E::add_context(i, "error parsing as d128", inner_error); [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `VerboseError>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `ContextError` which provides `add_context` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use nom::error::ContextError; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:468:32 [INFO] [stdout] | [INFO] [stdout] 468 | let parser = map(matched_str(tuple((unary_op, many1_count(dec)))), |s| { [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:468:20 [INFO] [stdout] | [INFO] [stdout] 468 | let parser = map(matched_str(tuple((unary_op, many1_count(dec)))), |s| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:468:16 [INFO] [stdout] | [INFO] [stdout] 468 | let parser = map(matched_str(tuple((unary_op, many1_count(dec)))), |s| { [INFO] [stdout] | ^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:468:16 [INFO] [stdout] | [INFO] [stdout] 468 | let parser = map(matched_str(tuple((unary_op, many1_count(dec)))), |s| { [INFO] [stdout] | ________________^ [INFO] [stdout] 469 | | s.parse::() [INFO] [stdout] 470 | | }); [INFO] [stdout] | |____^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | match parser(buf) { [INFO] [stdout] | ^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (UnaryOp, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `add_context` found for struct `VerboseError` in the current scope [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:476:28 [INFO] [stdout] | [INFO] [stdout] 476 | let outer_error = E::add_context(i, "error parsing as i64", inner_error); [INFO] [stdout] | ^^^^^^^^^^^ function or associated item not found in `VerboseError>` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `ContextError` which provides `add_context` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 1 + use nom::error::ContextError; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:497:35 [INFO] [stdout] | [INFO] [stdout] 497 | preceded(char('@'), matched_str(lang_tag_ident_part))(buf) [INFO] [stdout] | ----------- ^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:497:23 [INFO] [stdout] | [INFO] [stdout] 497 | preceded(char('@'), matched_str(lang_tag_ident_part))(buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:497:3 [INFO] [stdout] | [INFO] [stdout] 497 | preceded(char('@'), matched_str(lang_tag_ident_part))(buf) [INFO] [stdout] | ^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:497:3 [INFO] [stdout] | [INFO] [stdout] 497 | preceded(char('@'), matched_str(lang_tag_ident_part))(buf) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, (usize, usize)), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `matched_str` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:400:31 [INFO] [stdout] | [INFO] [stdout] 400 | fn matched_str<'a, T>(f: impl Fn(I<'a>) -> O<'a, T>) -> impl Fn(I<'a>) -> O<'a, &'a str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `matched_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:504:7 [INFO] [stdout] | [INFO] [stdout] 503 | start_mid_end( [INFO] [stdout] | ------------- required by a bound introduced by this call [INFO] [stdout] 504 | alt((pn_chars_u, char_range('0', '9'))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:505:7 [INFO] [stdout] | [INFO] [stdout] 503 | start_mid_end( [INFO] [stdout] | ------------- required by a bound introduced by this call [INFO] [stdout] 504 | alt((pn_chars_u, char_range('0', '9'))), [INFO] [stdout] 505 | alt((pn_chars, char('.'))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | / start_mid_end( [INFO] [stdout] 504 | | alt((pn_chars_u, char_range('0', '9'))), [INFO] [stdout] 505 | | alt((pn_chars, char('.'))), [INFO] [stdout] 506 | | pn_chars, [INFO] [stdout] 507 | | ), [INFO] [stdout] | |_____^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:503:5 [INFO] [stdout] | [INFO] [stdout] 503 | / start_mid_end( [INFO] [stdout] 504 | | alt((pn_chars_u, char_range('0', '9'))), [INFO] [stdout] 505 | | alt((pn_chars, char('.'))), [INFO] [stdout] 506 | | pn_chars, [INFO] [stdout] 507 | | ), [INFO] [stdout] | |_____^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:501:3 [INFO] [stdout] | [INFO] [stdout] 501 | preceded( [INFO] [stdout] | ^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:501:3 [INFO] [stdout] | [INFO] [stdout] 501 | preceded( [INFO] [stdout] | ^^^^^^^^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:501:3 [INFO] [stdout] | [INFO] [stdout] 501 | / preceded( [INFO] [stdout] 502 | | tag("_:"), [INFO] [stdout] 503 | | start_mid_end( [INFO] [stdout] 504 | | alt((pn_chars_u, char_range('0', '9'))), [INFO] [stdout] ... | [INFO] [stdout] 507 | | ), [INFO] [stdout] 508 | | )(buf) [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:130:16 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: expected a `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:501:3 [INFO] [stdout] | [INFO] [stdout] 501 | / preceded( [INFO] [stdout] 502 | | tag("_:"), [INFO] [stdout] 503 | | start_mid_end( [INFO] [stdout] 504 | | alt((pn_chars_u, char_range('0', '9'))), [INFO] [stdout] ... | [INFO] [stdout] 507 | | ), [INFO] [stdout] 508 | | )(buf) [INFO] [stdout] | |___^ expected an `Fn(InputBuf<'_>)` closure, found `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Fn(InputBuf<'_>)` is not implemented for `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` [INFO] [stdout] = note: `impl FnMut(InputBuf<'_>) -> std::result::Result<(InputBuf<'_>, char), nom::Err>>>` implements `FnMut`, but it must implement `Fn`, which is more general [INFO] [stdout] note: required by a bound in `start_mid_end` [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 129 | fn start_mid_end<'a>( [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] 130 | cstart: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] 131 | cmid: impl Fn(I<'a>) -> O<'a, char>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `start_mid_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:573:54 [INFO] [stdout] | [INFO] [stdout] 573 | None => Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 573 | None => Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:582:57 [INFO] [stdout] | [INFO] [stdout] 582 | None => return Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 582 | None => return Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:613:57 [INFO] [stdout] | [INFO] [stdout] 613 | None => return Err(Err::Incomplete(Needed::Size(1))), [INFO] [stdout] | ------------ ^ expected `NonZero`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this enum variant are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `NonZero` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: tuple variant defined here [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/nom-6.2.2/src/internal.rs:54:3 [INFO] [stdout] | [INFO] [stdout] 54 | Size(NonZeroUsize), [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider calling `NonZero::new` [INFO] [stdout] | [INFO] [stdout] 613 | None => return Err(Err::Incomplete(Needed::Size(NonZero::new(1).unwrap()))), [INFO] [stdout] | +++++++++++++ ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `parser` as mutable, as it is not declared as mutable [INFO] [stdout] --> crates/turtle-parse/src/parse/terminals.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | match parser(buf) { [INFO] [stdout] | ^^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 385 | let mut parser = opt(alt((char('+'), char('-')))); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 92 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0053, E0277, E0308, E0596, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0053`. [INFO] [stdout] [INFO] [stderr] error: could not compile `skorm-turtle-parse` (lib) due to 93 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "4f51578e4e4b835106bce37d556fad0023153efcc569d2b555975903880cdc25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f51578e4e4b835106bce37d556fad0023153efcc569d2b555975903880cdc25", kill_on_drop: false }` [INFO] [stdout] 4f51578e4e4b835106bce37d556fad0023153efcc569d2b555975903880cdc25