[INFO] fetching crate dlexer 0.1.7... [INFO] testing dlexer-0.1.7 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-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 cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 49821f3d3921bbd773868928dc6d9695992535cb72a2eac3194b9fd64bc1d131 [INFO] running `Command { std: "docker" "start" "-a" "49821f3d3921bbd773868928dc6d9695992535cb72a2eac3194b9fd64bc1d131", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "49821f3d3921bbd773868928dc6d9695992535cb72a2eac3194b9fd64bc1d131", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49821f3d3921bbd773868928dc6d9695992535cb72a2eac3194b9fd64bc1d131", kill_on_drop: false }` [INFO] [stdout] 49821f3d3921bbd773868928dc6d9695992535cb72a2eac3194b9fd64bc1d131 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1501f3bc74b1b96ead2c63ab80d369b08acadb1cdb0e89f02f447d7e595c8638 [INFO] running `Command { std: "docker" "start" "-a" "1501f3bc74b1b96ead2c63ab80d369b08acadb1cdb0e89f02f447d7e595c8638", 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.60s [INFO] running `Command { std: "docker" "inspect" "1501f3bc74b1b96ead2c63ab80d369b08acadb1cdb0e89f02f447d7e595c8638", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1501f3bc74b1b96ead2c63ab80d369b08acadb1cdb0e89f02f447d7e595c8638", kill_on_drop: false }` [INFO] [stdout] 1501f3bc74b1b96ead2c63ab80d369b08acadb1cdb0e89f02f447d7e595c8638 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7bd6e1c9b243ff2ae13fa55f3839a668075885411c6bb708bfb2d284c48b8c53 [INFO] running `Command { std: "docker" "start" "-a" "7bd6e1c9b243ff2ae13fa55f3839a668075885411c6bb708bfb2d284c48b8c53", 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.88s [INFO] running `Command { std: "docker" "inspect" "7bd6e1c9b243ff2ae13fa55f3839a668075885411c6bb708bfb2d284c48b8c53", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7bd6e1c9b243ff2ae13fa55f3839a668075885411c6bb708bfb2d284c48b8c53", kill_on_drop: false }` [INFO] [stdout] 7bd6e1c9b243ff2ae13fa55f3839a668075885411c6bb708bfb2d284c48b8c53 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b2374fbac3d1cdc4d58624f607c6cdafa9c5e2dea8d2695f14f1994b3acea46a [INFO] running `Command { std: "docker" "start" "-a" "b2374fbac3d1cdc4d58624f607c6cdafa9c5e2dea8d2695f14f1994b3acea46a", 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::hex_color_parser::tests::test_hex_color ... ok [INFO] [stdout] test tests::chain_test ... ok [INFO] [stdout] test tests::take_test ... ok [INFO] [stdout] test tests::util_test ... ok [INFO] [stdout] test tests::binary_test ... ok [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] test tests::escape_test ... ok [INFO] [stdout] test examples::json_parser::tests::test_json_parser ... ok [INFO] [stderr] Doc-tests dlexer [INFO] [stdout] test examples::xml_parser::test::test_xml_parser ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test src/lex.rs - lex (line 26) ... FAILED [INFO] [stdout] test src/lex.rs - lex::float (line 768) ... 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/binary.rs - binary (line 22) ... FAILED [INFO] [stdout] test src/lib.rs - (line 28) ... FAILED [INFO] [stdout] test src/lex.rs - lex::token (line 610) ... FAILED [INFO] [stdout] test src/lex.rs - lex::integer (line 729) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::opt (line 333) ... FAILED [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/lib.rs - map (line 69) ... FAILED [INFO] [stdout] test src/lex.rs - lex::CharSkipper (line 163) ... ok [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::between (line 278) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::map (line 148) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::many (line 382) ... FAILED [INFO] [stdout] test src/lib.rs - do_parse (line 113) ... FAILED [INFO] [stdout] test src/lex.rs - lex::BlockSkipper (line 249) ... ok [INFO] [stdout] test src/parsec/mod.rs - parsec::satisfy (line 1304) ... FAILED [INFO] [stdout] test src/lex.rs - lex::LineSkipper (line 202) ... ok [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::sep1 (line 618) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::many_till (line 508) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::or (line 305) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::bind (line 195) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::sep (line 577) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::many1 (line 411) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::char (line 1460) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::with (line 257) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::then (line 237) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::item (line 1339) ... FAILED [INFO] [stdout] test src/parsec/mod.rs - parsec::Parsec::take (line 443) ... 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] 13 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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] 9 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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::number (line 807) stdout ---- [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/lex.rs:813:19 [INFO] [stdout] | [INFO] [stdout] 9 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/lex.rs:814:19 [INFO] [stdout] | [INFO] [stdout] 10 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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] 9 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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] 9 | let parser: BasicByteParser = do_parse!( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider importing this macro [INFO] [stdout] | [INFO] [stdout] 2 + 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] 15 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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::token (line 610) stdout ---- [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/lex.rs:616:19 [INFO] [stdout] | [INFO] [stdout] 9 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [INFO] [stdout] [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/lex.rs:617:16 [INFO] [stdout] | [INFO] [stdout] 10 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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::integer (line 729) stdout ---- [INFO] [stdout] error[E0034]: multiple applicable items in scope [INFO] [stdout] --> src/lex.rs:735:25 [INFO] [stdout] | [INFO] [stdout] 9 | 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` [INFO] [stdout] = note: candidate #2 is defined in an impl for the type `Parsec` [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::Parsec::opt (line 333) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:337:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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/extra.rs - parsec::extra::build_ident (line 24) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed for `Parsec` [INFO] [stdout] --> src/parsec/extra.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 9 | 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` [INFO] [stdout] note: required by a bound in `build_ident` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/extra.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn build_ident(reserved: [&'static str; N]) -> Parsec [INFO] [stdout] | ----------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 41 | E: ParserError + '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] 9 | 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] 8 | 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] 8 | let parser: Parsec = 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/lib.rs - map (line 69) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/lib.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 17 | 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` [INFO] [stdout] note: required by a bound in `symbol` [INFO] [stdout] --> /opt/rustwide/workdir/src/lex.rs:865:8 [INFO] [stdout] | [INFO] [stdout] 862 | pub fn symbol(expected: &str) -> Parsec [INFO] [stdout] | ------ required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 865 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `symbol` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 17 | symbol::("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::between (line 278) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:282:15 [INFO] [stdout] | [INFO] [stdout] 7 | let content = alpha().many1().collect::(); [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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::alpha` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1402:8 [INFO] [stdout] | [INFO] [stdout] 1399 | pub fn alpha() -> Parsec [INFO] [stdout] | ----- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1402 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `alpha` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let content = alpha::().many1().collect::(); [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::map (line 148) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed for `Parsec` [INFO] [stdout] --> src/parsec/mod.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1362:8 [INFO] [stdout] | [INFO] [stdout] 1359 | pub fn decimal_digit() -> Parsec [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1362 | E: ParserError + '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] 7 | 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::many (line 382) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:386:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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/lib.rs - do_parse (line 113) stdout ---- [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:119:32 [INFO] [stdout] | [INFO] [stdout] 9 | let pair_parser: BasicParser = do_parse!( [INFO] [stdout] | ________________________________^ [INFO] [stdout] 10 | | char('('); [INFO] [stdout] 11 | | let% x = decimal_digit(); [INFO] [stdout] 12 | | char(','); [INFO] [stdout] ... | [INFO] [stdout] 15 | | pure((x, y)) // The return value [INFO] [stdout] 16 | | ); [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_expected `Parsec`, found `Parsec<_, _, (char, char)>` [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Parsec, char>` [INFO] [stdout] found struct `Parsec<_, _, (char, char)>` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:244:12 [INFO] [stdout] | [INFO] [stdout] 244 | pub fn then(self, other: Parsec) -> Parsec { [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] 19 | 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::satisfy (line 1304) stdout ---- [INFO] [stdout] error[E0282]: type annotations needed for `&_` [INFO] [stdout] --> src/parsec/mod.rs:1308:23 [INFO] [stdout] | [INFO] [stdout] 7 | 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] 7 | 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::sep1 (line 618) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:622:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1362:8 [INFO] [stdout] | [INFO] [stdout] 1359 | pub fn decimal_digit() -> Parsec [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1362 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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::many_till (line 508) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:512:14 [INFO] [stdout] | [INFO] [stdout] 7 | let parser = any().many_till(char(';')).collect::(); [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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::any` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1285:8 [INFO] [stdout] | [INFO] [stdout] 1282 | pub fn any() -> Parsec [INFO] [stdout] | --- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1285 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `any` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = any::().many_till(char(';')).collect::(); [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::or (line 305) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:309:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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::bind (line 195) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:200:14 [INFO] [stdout] | [INFO] [stdout] 8 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1362:8 [INFO] [stdout] | [INFO] [stdout] 1359 | pub fn decimal_digit() -> Parsec [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1362 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 8 | let parser = 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::sep (line 577) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:581:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::decimal_digit` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1362:8 [INFO] [stdout] | [INFO] [stdout] 1359 | pub fn decimal_digit() -> Parsec [INFO] [stdout] | ------------- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1362 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `decimal_digit` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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::many1 (line 411) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:415:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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::char (line 1460) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed for `Parsec` [INFO] [stdout] --> src/parsec/mod.rs:1464:5 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + '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] 7 | 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] ---- src/parsec/mod.rs - parsec::Parsec::with (line 257) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:261:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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::then (line 237) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:241:14 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = 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::item (line 1339) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed for `Parsec` [INFO] [stdout] --> src/parsec/mod.rs:1343:5 [INFO] [stdout] | [INFO] [stdout] 7 | 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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::item` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1350:8 [INFO] [stdout] | [INFO] [stdout] 1347 | pub fn item(expected: S::Item) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1350 | E: ParserError + '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] 7 | 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::Parsec::take (line 443) stdout ---- [INFO] [stdout] error[E0283]: type annotations needed [INFO] [stdout] --> src/parsec/mod.rs:447:14 [INFO] [stdout] | [INFO] [stdout] 7 | let parser = char('a').take(2..=3).collect::(); [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` [INFO] [stdout] note: required by a bound in `dlexer::parsec::char` [INFO] [stdout] --> /opt/rustwide/workdir/src/parsec/mod.rs:1471:8 [INFO] [stdout] | [INFO] [stdout] 1468 | pub fn char(expected: char) -> Parsec [INFO] [stdout] | ---- required by a bound in this function [INFO] [stdout] ... [INFO] [stdout] 1471 | E: ParserError + 'static, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `char` [INFO] [stdout] help: consider specifying the generic arguments [INFO] [stdout] | [INFO] [stdout] 7 | let parser = char::('a').take(2..=3).collect::(); [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::between (line 278) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::bind (line 195) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::many (line 382) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::many1 (line 411) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::many_till (line 508) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::map (line 148) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::opt (line 333) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::or (line 305) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::sep (line 577) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::sep1 (line 618) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::take (line 443) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::then (line 237) [INFO] [stdout] src/parsec/mod.rs - parsec::Parsec::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.33s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "b2374fbac3d1cdc4d58624f607c6cdafa9c5e2dea8d2695f14f1994b3acea46a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2374fbac3d1cdc4d58624f607c6cdafa9c5e2dea8d2695f14f1994b3acea46a", kill_on_drop: false }` [INFO] [stdout] b2374fbac3d1cdc4d58624f607c6cdafa9c5e2dea8d2695f14f1994b3acea46a