[INFO] cloning repository https://github.com/DexerMatters/dlexer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DexerMatters/dlexer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDexerMatters%2Fdlexer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDexerMatters%2Fdlexer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 60ebd4c66546d815a48d6b385db59c988a08fe66
[INFO] testing DexerMatters/dlexer against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDexerMatters%2Fdlexer" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DexerMatters/dlexer
[INFO] finished tweaking git repo https://github.com/DexerMatters/dlexer
[INFO] tweaked toml for git repo https://github.com/DexerMatters/dlexer written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DexerMatters/dlexer on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DexerMatters/dlexer 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" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9768919d14c32b58409cb71fe7f322b56ae978386bf21560793dd87eaa64a905
[INFO] running `Command { std: "docker" "start" "-a" "9768919d14c32b58409cb71fe7f322b56ae978386bf21560793dd87eaa64a905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9768919d14c32b58409cb71fe7f322b56ae978386bf21560793dd87eaa64a905", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9768919d14c32b58409cb71fe7f322b56ae978386bf21560793dd87eaa64a905", kill_on_drop: false }`
[INFO] [stdout] 9768919d14c32b58409cb71fe7f322b56ae978386bf21560793dd87eaa64a905
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 320ed4b5054af20c0d417f60248841aec42a8396038bd92fab7290fa6b77f33b
[INFO] running `Command { std: "docker" "start" "-a" "320ed4b5054af20c0d417f60248841aec42a8396038bd92fab7290fa6b77f33b", 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.69s
[INFO] running `Command { std: "docker" "inspect" "320ed4b5054af20c0d417f60248841aec42a8396038bd92fab7290fa6b77f33b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "320ed4b5054af20c0d417f60248841aec42a8396038bd92fab7290fa6b77f33b", kill_on_drop: false }`
[INFO] [stdout] 320ed4b5054af20c0d417f60248841aec42a8396038bd92fab7290fa6b77f33b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6b2eb6b571ddf87141997bad584cb0e49c7855b9fdea5b2a626bccf95798a84
[INFO] running `Command { std: "docker" "start" "-a" "a6b2eb6b571ddf87141997bad584cb0e49c7855b9fdea5b2a626bccf95798a84", kill_on_drop: false }`
[INFO] [stderr]    Compiling dlexer v0.1.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.71s
[INFO] running `Command { std: "docker" "inspect" "a6b2eb6b571ddf87141997bad584cb0e49c7855b9fdea5b2a626bccf95798a84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6b2eb6b571ddf87141997bad584cb0e49c7855b9fdea5b2a626bccf95798a84", kill_on_drop: false }`
[INFO] [stdout] a6b2eb6b571ddf87141997bad584cb0e49c7855b9fdea5b2a626bccf95798a84
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 323e569f04e5956fe3739191091d716a1626b6c754e27ae49211bac5f5948582
[INFO] running `Command { std: "docker" "start" "-a" "323e569f04e5956fe3739191091d716a1626b6c754e27ae49211bac5f5948582", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[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::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::it_works ... ok
[INFO] [stdout] test tests::take_test ... ok
[INFO] [stdout] test tests::util_test ... ok
[INFO] [stdout] test examples::xml_parser::test::test_xml_parser ... ok
[INFO] [stdout] test tests::chain_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::number (line 807) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::symbol (line 853) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec (line 14) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::token (line 610) ... FAILED
[INFO] [stdout] test src/binary.rs - binary (line 22) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 28) ... 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/parsec/extra.rs - parsec::extra::build_ident (line 24) ... FAILED
[INFO] [stdout] test src/lex.rs - lex (line 26) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::CharSkipper (line 163) ... ok
[INFO] [stdout] test src/lib.rs - do_parse (line 113) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::LineSkipper (line 202) ... ok
[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>::many1 (line 411) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::sep (line 577) ... FAILED
[INFO] [stdout] test src/lex.rs - lex::BlockSkipper (line 249) ... ok
[INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec<S,E,A>::many (line 382) ... 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>::bind (line 195) ... 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>::many_till (line 508) ... 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>::between (line 278) ... FAILED
[INFO] [stdout] test src/lib.rs - map (line 69) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::char (line 1460) ... 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>::with (line 257) ... 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>::take (line 443) ... FAILED
[INFO] [stdout] test src/parsec/mod.rs - parsec::item (line 1339) ... FAILED
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[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/parsec/mod.rs - parsec (line 14) stdout ----
[INFO] [stdout] error[E0283]: 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: the type must implement `LexIterTrait`
[INFO] [stdout] help: the following types implement trait `LexIterTrait`
[INFO] [stdout]     --> src/lex.rs:563:1
[INFO] [stdout]      |
[INFO] [stdout]  563 | impl LexIterTrait for LexIter {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `LexIter`
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/binary.rs:86:1
[INFO] [stdout]      |
[INFO] [stdout]   86 | impl LexIterTrait for ByteLexIter {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `ByteLexIter`
[INFO] [stdout] note: required by a bound in `dlexer::parsec::char`
[INFO] [stdout]     --> src/parsec/mod.rs:1470: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] 1469 | where
[INFO] [stdout] 1470 |     S: LexIterTrait<Item = char> + 'static,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char`
[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 E0283`.
[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/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/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/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/parsec/extra.rs - parsec::extra::build_ident (line 24) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[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: the type must implement `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: /* Type */ = 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/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/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/parsec/mod.rs - parsec::Parsec<S,E,A>::opt (line 333) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:337:5
[INFO] [stdout]      |
[INFO] [stdout]  337 | let parser = char('a').opt();
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  337 | let parser: /* Type */ = char('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>::many1 (line 411) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:415:5
[INFO] [stdout]      |
[INFO] [stdout]  415 | let parser = char('a').many1();
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  415 | let parser: /* Type */ = char('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/parsec/mod.rs - parsec::Parsec<S,E,A>::sep (line 577) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:581:5
[INFO] [stdout]      |
[INFO] [stdout]  581 | let parser = decimal_digit().sep(char(','));
[INFO] [stdout]      |     ^^^^^^   --------------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  581 | let parser: /* Type */ = decimal_digit().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>::many (line 382) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:386:5
[INFO] [stdout]      |
[INFO] [stdout]  386 | let parser = char('a').many();
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  386 | let parser: /* Type */ = char('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::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 placeholder `_` is 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>::bind (line 195) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:200:5
[INFO] [stdout]      |
[INFO] [stdout]  200 | let parser = decimal_digit()
[INFO] [stdout]      |     ^^^^^^   --------------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  200 | let parser: /* Type */ = decimal_digit()
[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 for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:622:5
[INFO] [stdout]      |
[INFO] [stdout]  622 | let parser = decimal_digit().sep1(char(','));
[INFO] [stdout]      |     ^^^^^^   --------------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  622 | let parser: /* Type */ = decimal_digit().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>::many_till (line 508) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:512:5
[INFO] [stdout]      |
[INFO] [stdout]  512 | let parser = any().many_till(char(';')).collect::<String>();
[INFO] [stdout]      |     ^^^^^^   ----- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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 giving `parser` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]      |
[INFO] [stdout]  512 | let parser: /* Type */ = any().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>::or (line 305) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:309:5
[INFO] [stdout]      |
[INFO] [stdout]  309 | let parser = char('a').or(char('b')); // equivalent to char('a') | char('b')
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  309 | let parser: /* Type */ = char('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>::between (line 278) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:282:5
[INFO] [stdout]      |
[INFO] [stdout]  282 | let content = alpha().many1().collect::<String>();
[INFO] [stdout]      |     ^^^^^^^   ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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 giving `content` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]      |
[INFO] [stdout]  282 | let content: /* Type */ = alpha().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/lib.rs - map (line 69) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]    --> src/lib.rs:82:5
[INFO] [stdout]     |
[INFO] [stdout]  82 | let keyword_parser = map!(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]  83 |     symbol("let") => Keyword::Let,
[INFO] [stdout]     |     ------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type must implement `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 giving `keyword_parser` an explicit type, where the type for type parameter `E` is specified
[INFO] [stdout]     |
[INFO] [stdout]  82 | let keyword_parser: /* Type */ = map!(
[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 `SimpleParserError<U>`
[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: the type must implement `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: /* Type */ = 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] ---- src/parsec/mod.rs - parsec::Parsec<S,E,A>::map (line 148) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[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: the type must implement `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: /* Type */ = 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>::with (line 257) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:261:5
[INFO] [stdout]      |
[INFO] [stdout]  261 | let parser = char('a').with(char('b')); // equivalent to char('a') << char('b')
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  261 | let parser: /* Type */ = char('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::Parsec<S,E,A>::then (line 237) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:241:5
[INFO] [stdout]      |
[INFO] [stdout]  241 | let parser = char('a').then(char('b')); // equivalent to char('a') >> char('b')
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  241 | let parser: /* Type */ = char('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>::take (line 443) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[INFO] [stdout]     --> src/parsec/mod.rs:447:5
[INFO] [stdout]      |
[INFO] [stdout]  447 | let parser = char('a').take(2..=3).collect::<String>();
[INFO] [stdout]      |     ^^^^^^   --------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type must implement `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]  447 | let parser: /* Type */ = char('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::item (line 1339) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed for `SimpleParserError<U>`
[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: the type must implement `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: /* Type */ = 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] 
[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 1.56s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "323e569f04e5956fe3739191091d716a1626b6c754e27ae49211bac5f5948582", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "323e569f04e5956fe3739191091d716a1626b6c754e27ae49211bac5f5948582", kill_on_drop: false }`
[INFO] [stdout] 323e569f04e5956fe3739191091d716a1626b6c754e27ae49211bac5f5948582
