[INFO] fetching crate dlexer 0.1.7...
[INFO] testing dlexer-0.1.7 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate dlexer 0.1.7 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate dlexer 0.1.7
[INFO] finished tweaking crates.io crate dlexer 0.1.7
[INFO] tweaked toml for crates.io crate dlexer 0.1.7 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dlexer 0.1.7 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dlexer 0.1.7 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b000bc30fd1d27578f976d88801ef844d1768ae32ee82e26a00cc6f467097f34
[INFO] running `Command { std: "docker" "start" "-a" "b000bc30fd1d27578f976d88801ef844d1768ae32ee82e26a00cc6f467097f34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b000bc30fd1d27578f976d88801ef844d1768ae32ee82e26a00cc6f467097f34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b000bc30fd1d27578f976d88801ef844d1768ae32ee82e26a00cc6f467097f34", kill_on_drop: false }`
[INFO] [stdout] b000bc30fd1d27578f976d88801ef844d1768ae32ee82e26a00cc6f467097f34
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e03c5662471bbb02b76f2173486368e61d3b742051f4b05999644346d6cf6745
[INFO] running `Command { std: "docker" "start" "-a" "e03c5662471bbb02b76f2173486368e61d3b742051f4b05999644346d6cf6745", kill_on_drop: false }`
[INFO] [stderr]    Compiling dlexer v0.1.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.78s
[INFO] running `Command { std: "docker" "inspect" "e03c5662471bbb02b76f2173486368e61d3b742051f4b05999644346d6cf6745", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e03c5662471bbb02b76f2173486368e61d3b742051f4b05999644346d6cf6745", kill_on_drop: false }`
[INFO] [stdout] e03c5662471bbb02b76f2173486368e61d3b742051f4b05999644346d6cf6745
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02d4f8797e0bce129afb3cd84fbc788fa5c3f99076d15a734dbd4aa9314c04d3
[INFO] running `Command { std: "docker" "start" "-a" "02d4f8797e0bce129afb3cd84fbc788fa5c3f99076d15a734dbd4aa9314c04d3", kill_on_drop: false }`
[INFO] [stderr]    Compiling dlexer v0.1.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.35s
[INFO] running `Command { std: "docker" "inspect" "02d4f8797e0bce129afb3cd84fbc788fa5c3f99076d15a734dbd4aa9314c04d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02d4f8797e0bce129afb3cd84fbc788fa5c3f99076d15a734dbd4aa9314c04d3", kill_on_drop: false }`
[INFO] [stdout] 02d4f8797e0bce129afb3cd84fbc788fa5c3f99076d15a734dbd4aa9314c04d3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0e1429b7312649d46967b97891dd66190ac4431f025d698aafb45fe02412b71b
[INFO] running `Command { std: "docker" "start" "-a" "0e1429b7312649d46967b97891dd66190ac4431f025d698aafb45fe02412b71b", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dlexer-5099132385b8c1bd)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test examples::xml_parser::test::test_xml_parser ... ok
[INFO] [stdout] test examples::json_parser::tests::test_json_parser ... ok
[INFO] [stdout] test tests::binary_test ... ok
[INFO] [stdout] test examples::hex_color_parser::tests::test_hex_color ... ok
[INFO] [stdout] test tests::chain_test ... ok
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] test tests::take_test ... ok
[INFO] [stdout] test tests::util_test ... ok
[INFO] [stdout] test tests::escape_test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests dlexer
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test src/lex.rs - lex (line 26) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::integer (line 729) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::float (line 768) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::LineSkipper (line 202) ... ok
[INFO] [stdout] test src/binary.rs - binary (line 22) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::token (line 610) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::number (line 807) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::symbol (line 853) ... FAILED
[INFO] [stdout] test src/lib.rs - do_parse (line 113) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 28) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::CharSkipper (line 163) ... ok
[INFO] [stdout] test src/lex.rs - lex::BlockSkipper (line 249) ... ok
[INFO] [stdout] test src/parsec/extra.rs - parsec::extra::build_ident (line 24) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec (line 14) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::bind (line 195) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::between (line 278) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::many1 (line 411) ... FAILED
[INFO] [stdout] test src/lib.rs - map (line 69) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::many (line 382) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::many_till (line 508) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::map (line 148) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::opt (line 333) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::or (line 305) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep1 (line 618) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::then (line 237) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep (line 577) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::take (line 443) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::satisfy (line 1304) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::with (line 257) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::item (line 1339) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::char (line 1460) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lex.rs - lex (line 26) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/lex.rs:36:26
[INFO] [stdout]    |
[INFO] [stdout] 36 | let result = let_keyword.parse("  let  ", WhitespaceSkipper);
[INFO] [stdout]    |                          ^^^^^ multiple `parse` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lex.rs - lex::integer (line 729) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:735:25
[INFO] [stdout]     |
[INFO] [stdout] 735 | let result = hex_parser.parse("  FF  ", WhitespaceSkipper);
[INFO] [stdout]     |                         ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lex.rs - lex::float (line 768) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:774:21
[INFO] [stdout]     |
[INFO] [stdout] 774 | let result = parser.parse("  3.14  ", WhitespaceSkipper);
[INFO] [stdout]     |                     ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/binary.rs - binary (line 22) stdout ----
[INFO] [stdout] error: cannot find macro `do_parse` in this scope
[INFO] [stdout]   --> src/binary.rs:28:31
[INFO] [stdout]    |
[INFO] [stdout] 28 | let parser: BasicByteParser = do_parse!(
[INFO] [stdout]    |                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 21 + use dlexer::do_parse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lex.rs - lex::token (line 610) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:616:19
[INFO] [stdout]     |
[INFO] [stdout] 616 | assert_eq!(parser.parse("ab", WhitespaceSkipper).unwrap(), 'b');
[INFO] [stdout]     |                   ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:617:16
[INFO] [stdout]     |
[INFO] [stdout] 617 | assert!(parser.parse("a b", WhitespaceSkipper).is_err());
[INFO] [stdout]     |                ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lex.rs - lex::number (line 807) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:813:19
[INFO] [stdout]     |
[INFO] [stdout] 813 | assert_eq!(parser.parse("123", WhitespaceSkipper).unwrap(), 123.0);
[INFO] [stdout]     |                   ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:814:19
[INFO] [stdout]     |
[INFO] [stdout] 814 | assert_eq!(parser.parse("123.45", WhitespaceSkipper).unwrap(), 123.45);
[INFO] [stdout]     |                   ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lex.rs - lex::symbol (line 853) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/lex.rs:859:21
[INFO] [stdout]     |
[INFO] [stdout] 859 | let result = parser.parse("  if  ", WhitespaceSkipper);
[INFO] [stdout]     |                     ^^^^^ multiple `parse` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - do_parse (line 113) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 |   let pair_parser: BasicParser = do_parse!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 120 | |     char('(');
[INFO] [stdout] 121 | |     let% x = decimal_digit();
[INFO] [stdout] 122 | |     char(',');
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |     pure((x, y)) // The return value
[INFO] [stdout] 126 | | );
[INFO] [stdout]     | | ^
[INFO] [stdout]     | | |
[INFO] [stdout]     | |_expected `Parsec<LexIter, ..., char>`, found `Parsec<_, _, (char, char)>`
[INFO] [stdout]     |   arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Parsec<LexIter, SimpleParserError<str>, char>`
[INFO] [stdout]                found struct `Parsec<_, _, (char, char)>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/parsec/mod.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 |     pub fn then<B: 'static>(self, other: Parsec<S, E, B>) -> Parsec<S, E, B> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     = note: this error originates in the macro `do_parse` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/lib.rs:129:20
[INFO] [stdout]     |
[INFO] [stdout] 129 | assert_eq!(result, ('3', '4'));
[INFO] [stdout]     |                    ^^^^^^^^^^ expected `char`, found `(char, char)`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected type `char`
[INFO] [stdout]               found tuple `(char, char)`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 28) stdout ----
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/lib.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 | let result = list_parser.parse("1, 2, 3", WhitespaceSkipper);
[INFO] [stdout]    |                          ^^^^^ multiple `parse` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl for the type `Parsec<ByteLexIter, E, A>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl for the type `Parsec<LexIter, E, A>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0034`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/extra.rs - parsec::extra::build_ident (line 24) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Parsec<LexIter, _, String>`
[INFO] [stdout]    --> src/parsec/extra.rs:30:5
[INFO] [stdout]     |
[INFO] [stdout]  30 | let ident_parser = build_ident(["if", "else"]);
[INFO] [stdout]     |     ^^^^^^^^^^^^   --------------------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]    --> src/errors.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `build_ident`
[INFO] [stdout]    --> src/parsec/extra.rs:41:8
[INFO] [stdout]     |
[INFO] [stdout]  38 | pub fn build_ident<const N: usize, S, E>(reserved: [&'static str; N]) -> Parsec<S, E, String>
[INFO] [stdout]     |        ----------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout]  41 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `build_ident`
[INFO] [stdout] help: consider giving `ident_parser` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]     |
[INFO] [stdout]  30 | let ident_parser: Parsec<_, E, _> = build_ident(["if", "else"]);
[INFO] [stdout]     |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec (line 14) stdout ----
[INFO] [stdout] error[E0284]: type annotations needed for `Parsec<_, _, char>`
[INFO] [stdout]   --> src/parsec/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | let parser = char('a');
[INFO] [stdout]    |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout]    = note: cannot satisfy `<_ as LexIterTrait>::Context == _`
[INFO] [stdout] help: consider giving `parser` an explicit type, where the type for type parameter `S` is specified
[INFO] [stdout]    |
[INFO] [stdout] 19 | let parser: Parsec<S, E, _> = char('a');
[INFO] [stdout]    |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0284`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::bind (line 195) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:200:14
[INFO] [stdout]      |
[INFO] [stdout]  200 | let parser = decimal_digit()
[INFO] [stdout]      |              ^^^^^^^^^^^^^ cannot infer type of the type parameter `E` declared on the function `decimal_digit`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit`
[INFO] [stdout]     --> src/parsec/mod.rs:1362:8
[INFO] [stdout]      |
[INFO] [stdout] 1359 | pub fn decimal_digit<S, E>() -> Parsec<S, E, char>
[INFO] [stdout]      |        ------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  200 | let parser = decimal_digit::<LexIter, E>()
[INFO] [stdout]      |                           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::between (line 278) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:282:15
[INFO] [stdout]      |
[INFO] [stdout]  282 | let content = alpha().many1().collect::<String>();
[INFO] [stdout]      |               ^^^^^ cannot infer type of the type parameter `E` declared on the function `alpha`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::alpha`
[INFO] [stdout]     --> src/parsec/mod.rs:1402:8
[INFO] [stdout]      |
[INFO] [stdout] 1399 | pub fn alpha<S, E>() -> Parsec<S, E, char>
[INFO] [stdout]      |        ----- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1402 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `alpha`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  282 | let content = alpha::<LexIter, E>().many1().collect::<String>();
[INFO] [stdout]      |                    ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::many1 (line 411) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:415:14
[INFO] [stdout]      |
[INFO] [stdout]  415 | let parser = char('a').many1();
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  415 | let parser = char::<LexIter, E>('a').many1();
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - map (line 69) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:83:5
[INFO] [stdout]     |
[INFO] [stdout]  83 |     symbol("let") => Keyword::Let,
[INFO] [stdout]     |     ^^^^^^ cannot infer type of the type parameter `E` declared on the function `symbol`
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]    --> src/errors.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `symbol`
[INFO] [stdout]    --> src/lex.rs:865:8
[INFO] [stdout]     |
[INFO] [stdout] 862 | pub fn symbol<S, E>(expected: &str) -> Parsec<S, E, String>
[INFO] [stdout]     |        ------ required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 865 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `symbol`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout]  83 |     symbol::<LexIter, E>("let") => Keyword::Let,
[INFO] [stdout]     |           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::many (line 382) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:386:14
[INFO] [stdout]      |
[INFO] [stdout]  386 | let parser = char('a').many();
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  386 | let parser = char::<LexIter, E>('a').many();
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::many_till (line 508) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:512:14
[INFO] [stdout]      |
[INFO] [stdout]  512 | let parser = any().many_till(char(';')).collect::<String>();
[INFO] [stdout]      |              ^^^ cannot infer type of the type parameter `E` declared on the function `any`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::any`
[INFO] [stdout]     --> src/parsec/mod.rs:1285:8
[INFO] [stdout]      |
[INFO] [stdout] 1282 | pub fn any<S, E>() -> Parsec<S, E, S::Item>
[INFO] [stdout]      |        --- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1285 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `any`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  512 | let parser = any::<LexIter, E>().many_till(char(';')).collect::<String>();
[INFO] [stdout]      |                 ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::map (line 148) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Parsec<LexIter, _, u32>`
[INFO] [stdout]     --> src/parsec/mod.rs:152:5
[INFO] [stdout]      |
[INFO] [stdout]  152 | let parser = decimal_digit().map(|c| c.to_digit(10).unwrap());
[INFO] [stdout]      |     ^^^^^^   --------------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit`
[INFO] [stdout]     --> src/parsec/mod.rs:1362:8
[INFO] [stdout]      |
[INFO] [stdout] 1359 | pub fn decimal_digit<S, E>() -> Parsec<S, E, char>
[INFO] [stdout]      |        ------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit`
[INFO] [stdout] help: consider giving `parser` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]      |
[INFO] [stdout]  152 | let parser: Parsec<_, E, _> = decimal_digit().map(|c| c.to_digit(10).unwrap());
[INFO] [stdout]      |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::opt (line 333) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:337:14
[INFO] [stdout]      |
[INFO] [stdout]  337 | let parser = char('a').opt();
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  337 | let parser = char::<LexIter, E>('a').opt();
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::or (line 305) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:309:14
[INFO] [stdout]      |
[INFO] [stdout]  309 | let parser = char('a').or(char('b')); // equivalent to char('a') | char('b')
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  309 | let parser = char::<LexIter, E>('a').or(char('b')); // equivalent to char('a') | char('b')
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep1 (line 618) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:622:14
[INFO] [stdout]      |
[INFO] [stdout]  622 | let parser = decimal_digit().sep1(char(','));
[INFO] [stdout]      |              ^^^^^^^^^^^^^ cannot infer type of the type parameter `E` declared on the function `decimal_digit`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit`
[INFO] [stdout]     --> src/parsec/mod.rs:1362:8
[INFO] [stdout]      |
[INFO] [stdout] 1359 | pub fn decimal_digit<S, E>() -> Parsec<S, E, char>
[INFO] [stdout]      |        ------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  622 | let parser = decimal_digit::<LexIter, E>().sep1(char(','));
[INFO] [stdout]      |                           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::then (line 237) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:241:14
[INFO] [stdout]      |
[INFO] [stdout]  241 | let parser = char('a').then(char('b')); // equivalent to char('a') >> char('b')
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  241 | let parser = char::<LexIter, E>('a').then(char('b')); // equivalent to char('a') >> char('b')
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep (line 577) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:581:14
[INFO] [stdout]      |
[INFO] [stdout]  581 | let parser = decimal_digit().sep(char(','));
[INFO] [stdout]      |              ^^^^^^^^^^^^^ cannot infer type of the type parameter `E` declared on the function `decimal_digit`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit`
[INFO] [stdout]     --> src/parsec/mod.rs:1362:8
[INFO] [stdout]      |
[INFO] [stdout] 1359 | pub fn decimal_digit<S, E>() -> Parsec<S, E, char>
[INFO] [stdout]      |        ------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  581 | let parser = decimal_digit::<LexIter, E>().sep(char(','));
[INFO] [stdout]      |                           ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::take (line 443) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:447:14
[INFO] [stdout]      |
[INFO] [stdout]  447 | let parser = char('a').take(2..=3).collect::<String>();
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  447 | let parser = char::<LexIter, E>('a').take(2..=3).collect::<String>();
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::satisfy (line 1304) stdout ----
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]     --> src/parsec/mod.rs:1308:23
[INFO] [stdout]      |
[INFO] [stdout] 1308 | let parser = satisfy(|c| c.is_alphabetic());
[INFO] [stdout]      |                       ^  - type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]      |
[INFO] [stdout] 1308 | let parser = satisfy(|c: &_| c.is_alphabetic());
[INFO] [stdout]      |                        ++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::with (line 257) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]     --> src/parsec/mod.rs:261:14
[INFO] [stdout]      |
[INFO] [stdout]  261 | let parser = char('a').with(char('b')); // equivalent to char('a') << char('b')
[INFO] [stdout]      |              ^^^^ cannot infer type of the type parameter `E` declared on the function `char`
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]      |
[INFO] [stdout]  261 | let parser = char::<LexIter, E>('a').with(char('b')); // equivalent to char('a') << char('b')
[INFO] [stdout]      |                  ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::item (line 1339) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Parsec<LexIter, _, char>`
[INFO] [stdout]     --> src/parsec/mod.rs:1343:5
[INFO] [stdout]      |
[INFO] [stdout] 1343 | let parser = item('a');
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::item`
[INFO] [stdout]     --> src/parsec/mod.rs:1350:8
[INFO] [stdout]      |
[INFO] [stdout] 1347 | pub fn item<S, E>(expected: S::Item) -> Parsec<S, E, S::Item>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1350 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `item`
[INFO] [stdout] help: consider giving `parser` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1343 | let parser: Parsec<_, E, _> = item('a');
[INFO] [stdout]      |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/parsec/mod.rs - parsec::char (line 1460) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `Parsec<LexIter, _, char>`
[INFO] [stdout]     --> src/parsec/mod.rs:1464:5
[INFO] [stdout]      |
[INFO] [stdout] 1464 | let parser = char('a');
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: cannot satisfy `_: ParserError`
[INFO] [stdout] help: the trait `ParserError` is implemented for `SimpleParserError<U>`
[INFO] [stdout]     --> src/errors.rs:122:1
[INFO] [stdout]      |
[INFO] [stdout]  122 | impl<U: ?Sized> ParserError for SimpleParserError<U> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1471:8
[INFO] [stdout]      |
[INFO] [stdout] 1468 | pub fn char<S, E>(expected: char) -> Parsec<S, E, char>
[INFO] [stdout]      |        ---- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 1471 |     E: ParserError<Context = S::Context> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[INFO] [stdout] help: consider giving `parser` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]      |
[INFO] [stdout] 1464 | let parser: Parsec<_, E, _> = char('a');
[INFO] [stdout]      |           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/binary.rs - binary (line 22)
[INFO] [stdout]     src/lex.rs - lex (line 26)
[INFO] [stdout]     src/lex.rs - lex::float (line 768)
[INFO] [stdout]     src/lex.rs - lex::integer (line 729)
[INFO] [stdout]     src/lex.rs - lex::number (line 807)
[INFO] [stdout]     src/lex.rs - lex::symbol (line 853)
[INFO] [stdout]     src/lex.rs - lex::token (line 610)
[INFO] [stdout]     src/lib.rs - (line 28)
[INFO] [stdout]     src/lib.rs - do_parse (line 113)
[INFO] [stdout]     src/lib.rs - map (line 69)
[INFO] [stdout]     src/parsec/extra.rs - parsec::extra::build_ident (line 24)
[INFO] [stdout]     src/parsec/mod.rs - parsec (line 14)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::between (line 278)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::bind (line 195)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::many (line 382)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::many1 (line 411)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::many_till (line 508)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::map (line 148)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::opt (line 333)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::or (line 305)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep (line 577)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep1 (line 618)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::take (line 443)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::then (line 237)
[INFO] [stdout]     src/parsec/mod.rs - parsec::Parsec<S,E,A>::with (line 257)
[INFO] [stdout]     src/parsec/mod.rs - parsec::char (line 1460)
[INFO] [stdout]     src/parsec/mod.rs - parsec::item (line 1339)
[INFO] [stdout]     src/parsec/mod.rs - parsec::satisfy (line 1304)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 28 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.83s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "0e1429b7312649d46967b97891dd66190ac4431f025d698aafb45fe02412b71b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e1429b7312649d46967b97891dd66190ac4431f025d698aafb45fe02412b71b", kill_on_drop: false }`
[INFO] [stdout] 0e1429b7312649d46967b97891dd66190ac4431f025d698aafb45fe02412b71b
