[INFO] fetching crate sayd-core 0.1.0...
[INFO] testing sayd-core-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate sayd-core 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate sayd-core 0.1.0
[INFO] finished tweaking crates.io crate sayd-core 0.1.0
[INFO] tweaked toml for crates.io crate sayd-core 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sayd-core 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sayd-core 0.1.0 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3
[INFO] running `Command { std: "docker" "start" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling sayd-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.03s
[INFO] running `Command { std: "docker" "inspect" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling sayd-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.06s
[INFO] running `Command { std: "docker" "inspect" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/sayd-core/5ee612db52830500/out/sayd_core-5ee612db52830500)
[INFO] [stdout] 
[INFO] [stdout] running 144 tests
[INFO] [stdout] test audio::tests::vec_sink_accepts_up_to_capacity ... ok
[INFO] [stdout] test audio::tests::vec_sink_drain_simulates_playback ... ok
[INFO] [stdout] test audio::tests::vec_sink_tracks_pause_state ... ok
[INFO] [stdout] test audio::tests::vec_sink_total_written_survives_clear_and_drain ... ok
[INFO] [stdout] test chunk::tests::marks_paragraph_starts ... ok
[INFO] [stdout] test chunk::tests::split_oversized_keeps_a_long_word_whole_when_embedded ... ok
[INFO] [stdout] test chunk::tests::refit_only_the_first_piece_keeps_the_paragraph_flag ... ok
[INFO] [stdout] test chunk::tests::sentences_still_breaks_at_a_newline_after_terminal_punctuation ... ok
[INFO] [stdout] test audio::tests::vec_sink_records_everything_written ... ok
[INFO] [stdout] test chunk::tests::refit_splits_chunks_that_overrun_the_token_budget ... ok
[INFO] [stdout] test chunk::tests::merges_short_sentences_up_to_the_target ... ok
[INFO] [stdout] test audio::tests::vec_sink_clear_empties_pending_but_keeps_the_record ... ok
[INFO] [stdout] test chunk::tests::splits_an_oversized_sentence_on_commas_then_spaces ... ok
[INFO] [stdout] test chunk::tests::never_produces_an_empty_chunk ... ok
[INFO] [stdout] test chunk::tests::refit_keeps_chunks_that_already_fit ... ok
[INFO] [stdout] test chunk::tests::chunk_does_not_insert_spaces_into_a_run_of_terminal_punctuation ... ok
[INFO] [stdout] test chunk::tests::preserves_all_words ... ok
[INFO] [stdout] test chunk::tests::refit_gives_up_on_an_unsplittable_chunk_rather_than_looping ... ok
[INFO] [stdout] test chunk::tests::splits_on_sentence_boundaries ... ok
[INFO] [stdout] test chunk::tests::supercalifragilisticexpialidocious_is_long_at_a_small_target ... ok
[INFO] [stdout] test chunk::tests::split_oversized_keeps_a_long_word_whole_when_alone ... ok
[INFO] [stdout] test chunk::tests::word_preservation_property ... ok
[INFO] [stdout] test cleanup::tests::every_transform_can_be_disabled ... ok
[INFO] [stdout] test chunk::tests::sentences_keeps_runs_of_terminal_punctuation_together ... ok
[INFO] [stdout] test cleanup::tests::acronym_glued_directly_to_a_url_is_not_spelled_out ... ok
[INFO] [stdout] test cleanup::tests::private_use_codepoints_with_no_url_pass_through_unmolested ... ok
[INFO] [stdout] test cleanup::tests::drops_fenced_code_blocks_entirely ... ok
[INFO] [stdout] test cleanup::tests::acronym_separated_from_a_url_by_whitespace_is_still_spelled_out ... ok
[INFO] [stdout] test cleanup::tests::spells_out_allcaps_acronyms ... ok
[INFO] [stdout] test cleanup::tests::multiple_urls_domain_policy ... ok
[INFO] [stdout] test cleanup::tests::bullet_immediately_followed_by_url_is_still_stripped ... ok
[INFO] [stdout] test cleanup::tests::genuine_bullet_heading_and_numbered_list_are_still_stripped ... ok
[INFO] [stdout] test cleanup::tests::a_realistic_terminal_selection ... ok
[INFO] [stdout] test cleanup::tests::host_of_mangles_ipv6_literals_known_wrong_deferred ... ok
[INFO] [stdout] test cleanup::tests::rejoins_hyphenated_line_breaks ... ok
[INFO] [stdout] test cleanup::tests::stray_placeholder_codepoints_alongside_a_real_url_are_not_swapped ... ok
[INFO] [stdout] test cleanup::tests::leaves_single_letters_and_normal_words_alone ... ok
[INFO] [stdout] test cleanup::tests::url_at_very_start_and_very_end_of_input ... ok
[INFO] [stdout] test cleanup::tests::replaces_urls_with_the_word_link ... ok
[INFO] [stdout] test cleanup::tests::strips_embedded_nul_bytes ... ok
[INFO] [stdout] test cleanup::tests::collapses_whitespace_runs ... ok
[INFO] [stdout] test cleanup::tests::unterminated_code_fence_drops_to_end_of_text ... ok
[INFO] [stdout] test cleanup::tests::url_followed_by_punctuation_does_not_lose_its_separator ... ok
[INFO] [stdout] test cleanup::tests::strips_heading_hashes_and_list_bullets ... ok
[INFO] [stdout] test cleanup::tests::strips_control_characters ... ok
[INFO] [stdout] test cleanup::tests::url_policy_domain_keeps_the_host ... ok
[INFO] [stdout] test cleanup::tests::strips_markdown_emphasis_and_code_ticks ... ok
[INFO] [stdout] test cleanup::tests::url_policy_domain_strips_fragment_from_host ... ok
[INFO] [stdout] test cleanup::tests::heading_and_numbered_list_still_stripped_alongside_a_url ... ok
[INFO] [stdout] test cleanup::tests::multiple_urls_keep_policy ... ok
[INFO] [stdout] test cleanup::tests::marker_after_interior_newline_is_still_stripped ... ok
[INFO] [stdout] test cleanup::tests::url_policy_domain_strips_query_string_from_host ... ok
[INFO] [stdout] test cleanup::tests::hyphen_wrap_onto_a_marker_line_does_not_fuse_the_two_words ... ok
[INFO] [stdout] test cleanup::tests::empty_input_stays_empty ... ok
[INFO] [stdout] test cleanup::tests::url_policy_domain_strips_credentials_and_port ... ok
[INFO] [stdout] test cleanup::tests::url_policy_domain_preserves_underscore_in_hostname ... ok
[INFO] [stdout] test cleanup::tests::url_policy_keep_leaves_it_alone ... ok
[INFO] [stdout] test config::tests::defaults_match_the_measured_benchmarks ... ok
[INFO] [stdout] test engine::tests::a_later_successful_say_clears_the_error ... ok
[INFO] [stdout] test cleanup::tests::url_policy_keep_preserves_underscore_when_stripping_markdown ... ok
[INFO] [stdout] test engine::tests::cancel_removes_a_queued_utterance ... ok
[INFO] [stdout] test config::tests::partial_file_fills_the_rest_from_defaults ... ok
[INFO] [stdout] test engine::tests::clear_queue_keeps_the_current_utterance ... ok
[INFO] [stdout] test config::tests::malformed_file_yields_defaults_and_reports_the_error ... ok
[INFO] [stdout] test config::tests::missing_file_yields_defaults_without_an_error ... ok
[INFO] [stdout] test config::tests::roundtrips_through_toml ... ok
[INFO] [stdout] test engine::tests::hotkey_source_replaces_by_default ... ok
[INFO] [stdout] test engine::tests::a_stuck_error_survives_plain_ticking_with_no_command ... ok
[INFO] [stdout] test engine::tests::idle_unload_drops_the_model_after_the_configured_delay ... ok
[INFO] [stdout] test config::tests::save_is_atomic_leaving_no_temp_file_behind ... ok
[INFO] [stdout] test cleanup::tests::url_policy_keep_strips_surrounding_markdown_emphasis ... ok
[INFO] [stdout] test engine::tests::empty_text_is_accepted_and_produces_nothing ... ok
[INFO] [stdout] test engine::tests::explicit_policy_overrides_the_source_default ... ok
[INFO] [stdout] test engine::tests::next_dismisses_a_stuck_error_when_the_queue_is_empty ... ok
[INFO] [stdout] test engine::tests::device_failure_while_paused_unpauses_the_sink_and_reaches_error ... ok
[INFO] [stdout] test engine::tests::pause_and_resume_toggle_state ... ok
[INFO] [stdout] test engine::tests::rejection_while_speaking_leaves_playback_untouched ... ok
[INFO] [stdout] test engine::tests::remaining_seconds_halves_at_double_speed ... ok
[INFO] [stdout] test engine::tests::a_device_failure_surfaces_as_error_rather_than_wedging ... ok
[INFO] [stdout] test engine::tests::play_pause_toggles_both_ways ... ok
[INFO] [stdout] test engine::tests::paused_engine_with_pending_audio_does_not_go_idle_or_spin ... ok
[INFO] [stdout] test engine::tests::rejection_while_paused_leaves_playback_untouched ... ok
[INFO] [stdout] test engine::tests::remaining_seconds_scales_with_word_count ... ok
[INFO] [stdout] test engine::tests::model_does_not_unload_while_speaking ... ok
[INFO] [stdout] test engine::tests::muted_accepts_and_discards ... ok
[INFO] [stdout] test engine::tests::next_advances_to_the_following_utterance ... ok
[INFO] [stdout] test engine::tests::pause_when_idle_is_a_no_op ... ok
[INFO] [stdout] test engine::tests::remaining_seconds_includes_audio_parked_in_carry ... ok
[INFO] [stdout] test engine::tests::returns_to_idle_when_the_queue_empties ... ok
[INFO] [stdout] test engine::tests::lookahead_is_bounded ... ok
[INFO] [stdout] test engine::tests::say_moves_to_speaking_and_produces_audio ... ok
[INFO] [stdout] test engine::tests::stop_clears_the_queue_and_goes_idle ... ok
[INFO] [stdout] test engine::tests::skip_sentence_dismisses_a_stuck_error_from_a_synthesis_failure ... ok
[INFO] [stdout] test engine::tests::stop_dismisses_a_stuck_error ... ok
[INFO] [stdout] test engine::tests::submit_returns_none_for_text_that_is_empty_after_cleanup ... ok
[INFO] [stdout] test engine::tests::replace_sink_recovers_from_a_device_failure_that_arrived_while_paused ... ok
[INFO] [stdout] test engine::tests::text_over_max_chars_is_rejected ... ok
[INFO] [stdout] test engine::tests::submit_accepted_returns_the_id_that_later_appears_as_current_id ... ok
[INFO] [stdout] test engine::tests::submit_still_returns_err_when_rejected ... ok
[INFO] [stdout] test engine::tests::huge_lookahead_chunks_does_not_overflow ... ok
[INFO] [stdout] test handle::tests::handle_is_send_and_sync ... ok
[INFO] [stdout] test engine::tests::skip_sentence_stops_current_audio_promptly ... ok
[INFO] [stdout] test engine::tests::submit_rejection_while_idle_returns_err_and_sets_error_state ... ok
[INFO] [stdout] test engine::tests::set_voice_applies_to_the_next_utterance ... ok
[INFO] [stdout] test engine::tests::synth_failure_surfaces_as_error_and_does_not_wedge ... ok
[INFO] [stdout] test engine::tests::submit_returns_none_when_muted ... ok
[INFO] [stdout] test engine::tests::skip_sentence_dismisses_a_stuck_error_from_a_rejected_submission ... ok
[INFO] [stdout] test engine::tests::submit_returns_some_nonzero_id_when_queued ... ok
[INFO] [stdout] test engine::tests::starts_idle ... ok
[INFO] [stdout] test engine::tests::replace_sink_clears_the_error_and_accepts_new_work ... ok
[INFO] [stdout] test engine::tests::state_stays_speaking_while_audio_is_still_pending_in_the_sink ... ok
[INFO] [stdout] test engine::tests::submit_rejection_while_speaking_returns_err_but_leaves_state_untouched ... ok
[INFO] [stdout] test handle::tests::shutdown_joins_the_thread_and_does_not_hang ... ok
[INFO] [stdout] test handle::tests::snapshot_after_shutdown_does_not_panic ... ok
[INFO] [stdout] test queue::tests::clear_returns_the_dropped_ids ... ok
[INFO] [stdout] test queue::tests::cancel_removes_one_by_id ... ok
[INFO] [stdout] test handle::tests::spawns_idle_and_reports_a_snapshot ... ok
[INFO] [stdout] test queue::tests::default_and_new_agree_and_start_at_one ... ok
[INFO] [stdout] test handle::tests::submit_returns_the_engines_answer ... ok
[INFO] [stdout] test queue::tests::enqueue_appends_in_order ... ok
[INFO] [stdout] test handle::tests::concurrent_shutdown_from_two_clones_does_not_hang_or_panic ... ok
[INFO] [stdout] test handle::tests::has_shut_down_becomes_true_after_a_shutdown_command_over_the_channel ... ok
[INFO] [stdout] test handle::tests::shutdown_twice_on_the_same_handle_does_not_hang_or_panic ... ok
[INFO] [stdout] test handle::tests::commands_reach_the_engine ... ok
[INFO] [stdout] test synth::tests::stub_counts_calls ... ok
[INFO] [stdout] test synth::tests::stub_fits_respects_the_configured_budget ... ok
[INFO] [stdout] test queue::tests::front_jumps_the_line_without_dropping_anything ... ok
[INFO] [stdout] test queue::tests::ids_are_unique_and_increasing ... ok
[INFO] [stdout] test queue::tests::interrupt_jumps_the_line_and_keeps_pending ... ok
[INFO] [stdout] test queue::tests::source_defaults_match_the_spec ... ok
[INFO] [stdout] test synth::tests::stub_phonemize_is_identity_lowercased ... ok
[INFO] [stdout] test synth::tests::stub_produces_silence_proportional_to_length ... ok
[INFO] [stdout] test synth::tests::stub_speed_shortens_output ... ok
[INFO] [stdout] test synth::tests::stub_tracks_load_state ... ok
[INFO] [stdout] test handle::tests::submit_propagates_a_rejection ... ok
[INFO] [stdout] test handle::tests::has_shut_down_becomes_true_when_the_engine_thread_panics ... ok
[INFO] [stdout] test handle::tests::the_handle_is_clonable_and_shared_across_threads ... ok
[INFO] [stdout] test queue::tests::pop_front_drains_in_order ... ok
[INFO] [stdout] test queue::tests::replace_clears_everything_pending ... ok
[INFO] [stdout] test handle::tests::the_engine_ticks_on_its_own_thread ... ok
[INFO] [stdout] test handle::tests::submit_after_shutdown_returns_an_error_instead_of_hanging ... ok
[INFO] [stdout] test handle::tests::replace_sink_forwards_to_the_engine ... ok
[INFO] [stdout] test handle::tests::has_shut_down_is_false_until_shutdown_completes ... ok
[INFO] [stderr]    Doc-tests sayd_core
[INFO] [stdout] test engine::tests::error_state_invariant_holds_after_every_command_from_every_state ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3", kill_on_drop: false }`
[INFO] [stdout] 622bdd716592efd374b83ed33d19416af78f7e5b69aef5b166113ae0af84e5a3
