[INFO] fetching crate sprout 1.0.0...
[INFO] testing sprout-1.0.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate sprout 1.0.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate sprout 1.0.0
[INFO] finished tweaking crates.io crate sprout 1.0.0
[INFO] tweaked toml for crates.io crate sprout 1.0.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sprout 1.0.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 18 packages to latest compatible versions
[INFO] [stderr]       Adding colored v2.2.0 (available: v3.1.1)
[INFO] [stderr]       Adding petgraph v0.6.5 (available: v0.8.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e5538850e633d92cf3e5a8de6c32fa4d4b58f044d0c957e656eac8a9ba673fa4
[INFO] running `Command { std: "docker" "start" "-a" "e5538850e633d92cf3e5a8de6c32fa4d4b58f044d0c957e656eac8a9ba673fa4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e5538850e633d92cf3e5a8de6c32fa4d4b58f044d0c957e656eac8a9ba673fa4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5538850e633d92cf3e5a8de6c32fa4d4b58f044d0c957e656eac8a9ba673fa4", kill_on_drop: false }`
[INFO] [stdout] e5538850e633d92cf3e5a8de6c32fa4d4b58f044d0c957e656eac8a9ba673fa4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d679af5cefb7d94dbadf2aee6e2af518b29186857bb2e0a5bf357af44b764229
[INFO] running `Command { std: "docker" "start" "-a" "d679af5cefb7d94dbadf2aee6e2af518b29186857bb2e0a5bf357af44b764229", kill_on_drop: false }`
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling trees v0.4.2
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling sprout v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.25s
[INFO] running `Command { std: "docker" "inspect" "d679af5cefb7d94dbadf2aee6e2af518b29186857bb2e0a5bf357af44b764229", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d679af5cefb7d94dbadf2aee6e2af518b29186857bb2e0a5bf357af44b764229", kill_on_drop: false }`
[INFO] [stdout] d679af5cefb7d94dbadf2aee6e2af518b29186857bb2e0a5bf357af44b764229
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a158e9d3a09c82020612c9d3ed41cf70ac73ca8be8f3bf74d7c2626d01a4890
[INFO] running `Command { std: "docker" "start" "-a" "6a158e9d3a09c82020612c9d3ed41cf70ac73ca8be8f3bf74d7c2626d01a4890", kill_on_drop: false }`
[INFO] [stderr]    Compiling sprout v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.71s
[INFO] running `Command { std: "docker" "inspect" "6a158e9d3a09c82020612c9d3ed41cf70ac73ca8be8f3bf74d7c2626d01a4890", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a158e9d3a09c82020612c9d3ed41cf70ac73ca8be8f3bf74d7c2626d01a4890", kill_on_drop: false }`
[INFO] [stdout] 6a158e9d3a09c82020612c9d3ed41cf70ac73ca8be8f3bf74d7c2626d01a4890
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8d3abda3526342434bfd7a05a26299d2d4b2b8c19c65fa88a4bae6d9ea15d4e1
[INFO] running `Command { std: "docker" "start" "-a" "8d3abda3526342434bfd7a05a26299d2d4b2b8c19c65fa88a4bae6d9ea15d4e1", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sprout-f2aa87321064c2c1)
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test compare::match_graph::tests::match_error_should_construct_correctly ... ok
[INFO] [stdout] test compare::match_graph::tests::match_error_with_single_expectation_should_display_correctly ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_should_handle_splits ... ok
[INFO] [stdout] test compare::match_graph::tests::match_error_with_multiple_expectations_should_display_correctly ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_should_handle_splits_in_exhaustive_mode ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_should_handle_splits_with_partial_matches_of_different_depths ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_should_ignore_empty_matcher_nodes ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_should_handle_splits_with_signature_match ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_with_single_matcher_node_should_work ... ok
[INFO] [stdout] test compare::match_graph_builder::tests::append_works ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_with_single_matcher_node_should_work_in_exhaustive_mode ... ok
[INFO] [stdout] test compare::match_graph_builder::tests::duplicate_works ... ok
[INFO] [stdout] test compare::match_graph_builder::tests::choice_construction_works ... ok
[INFO] [stdout] test compare::match_graph_builder::tests::optional_construction_works ... ok
[INFO] [stdout] test compare::sequence_view::tests::items_function_should_account_for_index ... ok
[INFO] [stdout] test compare::match_graph_builder::tests::repeat_construction_works ... ok
[INFO] [stdout] test compare::sequence_view::tests::items_function_should_return_correclty ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_delimited_min_1_repeats ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_choices ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_optionals ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_delimited_repeats ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_min_1_repeats ... ok
[INFO] [stdout] test compare::match_graph::tests::match_graph_should_handle_splits_with_partial_match ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_multiple_procs ... ok
[INFO] [stdout] test parse::grammar::tests::should_correctly_handle_whitespace_in_proc_def_when_whitespace_is_configured ... ok
[INFO] [stdout] test parse::grammar::tests::correctly_parses_token_sequence ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_completely_unmatched_sub_proc_errors ... ok
[INFO] [stdout] test compare::match_graph_builder::tests::push_get_and_pop_return_works ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_nested_primitive_proc_errors ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_non_primitive_proc_errors ... ok
[INFO] [stdout] test parse::grammar::tests::correctly_parses_mixed_sequence ... ok
[INFO] [stdout] test compare::sequence_view::tests::should_construct_correctly ... ok
[INFO] [stdout] test parse::grammar::tests::configuring_whitespace_works ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_partial_split_proc_errors ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_split_proc_errors ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_partial_split_proc_errors_at_same_depth ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_procs ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_primitive_proc_errors ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_sub_proc_errors ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_split_with_signature ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_repeats ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_allow_defining_procs_with_procs ... ok
[INFO] [stdout] test tests::parsing_error_should_format_properly ... ok
[INFO] [stdout] test tests::parsing_error_should_format_ellipses_properly ... ok
[INFO] [stdout] test tests::parsing_error_with_small_char_should_format_properly ... ok
[INFO] [stdout] test token_match::tests::can_match_exact ... ok
[INFO] [stdout] test token_match::tests::escape_in_choice_works ... ok
[INFO] [stdout] test token_match::tests::can_repeat_multiple ... ok
[INFO] [stdout] test token_match::tests::escape_works ... ok
[INFO] [stdout] test token_match::tests::can_repeat_single ... ok
[INFO] [stdout] test token_match::tests::optional_works ... ok
[INFO] [stdout] test token_match::tests::choice_works ... ok
[INFO] [stdout] test token_match::tests::exact_char_matcher_works ... ok
[INFO] [stdout] test parse::grammar::tests::correctly_parses_single_proc ... ok
[INFO] [stdout] test token_match::tests::multiple_ranges_work ... ok
[INFO] [stdout] test parse::grammar::tests::correctly_parses_single_token ... ok
[INFO] [stdout] test token_match::tests::can_repeat_multiple_plus ... ok
[INFO] [stdout] test token_match::tests::range_char_matcher_works ... ok
[INFO] [stdout] test token_match::tests::ranges_work ... ok
[INFO] [stdout] test token_match::tests::repeated_choice_works ... ok
[INFO] [stdout] test tokenize::tests::allows_duplicates ... ok
[INFO] [stdout] test tokenize::tests::can_register_tokens ... ok
[INFO] [stdout] test parse::grammar::tests::should_handle_hidden_proc_errors ... ok
[INFO] [stdout] test parse::build_grammar::tests::should_panic_when_defining_proc_as_primitive_and_non_primitive - should panic ... ok
[INFO] [stdout] test tokenize::tests::tokenization_works ... ok
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-c8ae320dd0267d7b)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sprout
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test example_from_readme ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test src/parse/grammar.rs - parse::grammar::ParsingSettings (line 119) ... ok
[INFO] [stdout] test src/lib.rs - ParsingError::new (line 120) ... ok
[INFO] [stdout] test src/tokenize.rs - tokenize::Token<N>::new (line 51) ... ok
[INFO] [stdout] test src/tokenize.rs - tokenize::Alphabet<N>::register_token (line 134) ... ok
[INFO] [stdout] test src/tokenize.rs - tokenize::Alphabet (line 81) ... ok
[INFO] [stdout] test src/parse/build_grammar.rs - parse::build_grammar::grammar (line 441) ... ok
[INFO] [stdout] test src/tokenize.rs - tokenize::alphabet (line 193) ... ok
[INFO] [stdout] test src/lib.rs - Parser (line 181) ... ok
[INFO] [stdout] test src/parse/build_grammar.rs - parse::build_grammar::grammar (line 393) ... ok
[INFO] [stdout] test src/tokenize.rs - tokenize::Alphabet (line 99) ... ok
[INFO] [stdout] test src/lib.rs - ASTNode<PN>::new (line 76) ... ok
[INFO] [stdout] test src/parse/grammar.rs - parse::grammar::Grammar<PN,TN>::parse (line 356) ... ok
[INFO] [stdout] test src/parse/grammar.rs - parse::grammar::Grammar (line 296) ... ok
[INFO] [stdout] test src/lib.rs - Parser<PN,TN>::parse (line 254) ... ok
[INFO] [stdout] test src/parse/build_grammar.rs - parse::build_grammar::GrammarBuilder (line 21) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.07s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8d3abda3526342434bfd7a05a26299d2d4b2b8c19c65fa88a4bae6d9ea15d4e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d3abda3526342434bfd7a05a26299d2d4b2b8c19c65fa88a4bae6d9ea15d4e1", kill_on_drop: false }`
[INFO] [stdout] 8d3abda3526342434bfd7a05a26299d2d4b2b8c19c65fa88a4bae6d9ea15d4e1
