[INFO] fetching crate typocode 0.2.8...
[INFO] testing typocode-0.2.8 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate typocode 0.2.8 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate typocode 0.2.8
[INFO] finished tweaking crates.io crate typocode 0.2.8
[INFO] tweaked toml for crates.io crate typocode 0.2.8 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate typocode 0.2.8 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 typocode 0.2.8 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] 93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16
[INFO] running `Command { std: "docker" "start" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", 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" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16" "/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" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", 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" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling symlink v0.1.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling tracing-appender v0.2.5
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling typocode v0.2.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.33s
[INFO] running `Command { std: "docker" "inspect" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", 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" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16" "/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 rustix v1.1.4
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling mockall_derive v0.14.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling mockall v0.14.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling fragile v2.1.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling typocode v0.2.8 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.29s
[INFO] running `Command { std: "docker" "inspect" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", 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" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16" "/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.25s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/typocode/e2a55a34802b5ce3/out/typocode-e2a55a34802b5ce3)
[INFO] [stdout] 
[INFO] [stdout] running 262 tests
[INFO] [stdout] test app::tests::reflow_preserves_cursor_progress_and_cell_states ... ok
[INFO] [stdout] test app::tests::typing_last_char_correctly_auto_finishes_run ... ok
[INFO] [stdout] test app::tests::trailing_blank_lines_do_not_require_extra_enter ... ok
[INFO] [stdout] test comments::languages::c_family::tests::dart_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::c_family::tests::c_block_does_not_nest ... ok
[INFO] [stdout] test app::tests::reflow_on_same_dimensions_is_noop ... ok
[INFO] [stdout] test comments::languages::c_family::tests::go_backtick_string_preserves_markers ... ok
[INFO] [stdout] test comments::languages::c_family::tests::java_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::c_family::tests::javascript_backtick_preserves_comment_markers ... ok
[INFO] [stdout] test comments::languages::c_family::tests::cpp_handles_both_comment_styles ... ok
[INFO] [stdout] test comments::languages::c_family::tests::javascript_block_comment_inline ... ok
[INFO] [stdout] test comments::languages::c_family::tests::kotlin_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::c_family::tests::php_slash_slash_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_block_alone_drops_line ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_block_spans_lines ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_byte_raw_string_supported ... ok
[INFO] [stdout] test comments::languages::c_family::tests::php_hash_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_line_comment_after_code_preserves_code ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_line_comment_alone_drops_line ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_line_marker_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::c_family::tests::rust_raw_string_protects_inner_comment_marker ... ok
[INFO] [stdout] test comments::languages::c_family::tests::scala_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::bash_hash_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::bash_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::erlang::tests::line_comment_after_code_preserves_code ... ok
[INFO] [stdout] test comments::languages::erlang::tests::line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::erlang::tests::percent_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::bash_shebang_is_dropped_like_any_comment ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::elixir_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::perl_pod_block_drops_lines ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::python_hash_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::elixir_triple_quote_heredoc_preserves_hash ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::fish_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::perl_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::python_line_comment_after_code_preserves_code ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::python_triple_quote_preserves_hash ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::r_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::ruby_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::ruby_block_comment_drops_lines ... ok
[INFO] [stdout] test comments::languages::haskell::tests::elm_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::haskell::tests::haskell_block_spans_lines ... ok
[INFO] [stdout] test comments::languages::haskell::tests::haskell_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::haskell::tests::haskell_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::haskell::tests::purescript_block_drops_line ... ok
[INFO] [stdout] test comments::languages::julia::tests::block_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::julia::tests::line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::julia::tests::nested_block_balances ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::python_line_comment_alone_drops_line ... ok
[INFO] [stdout] test comments::languages::hash_line::tests::python_triple_quote_single_quotes ... ok
[INFO] [stdout] test comments::languages::lisp::tests::clojure_semi_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::haskell::tests::haskell_line_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::lisp::tests::clojure_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::julia::tests::triple_quote_preserves_hash ... ok
[INFO] [stdout] test comments::languages::lisp::tests::common_lisp_block_drops_line ... ok
[INFO] [stdout] test comments::languages::lisp::tests::racket_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::lisp::tests::scheme_block_nests ... ok
[INFO] [stdout] test comments::languages::lua::tests::double_quote_string_preserves_dash_dash ... ok
[INFO] [stdout] test comments::languages::lua::tests::long_bracket_block_drops_lines ... ok
[INFO] [stdout] test comments::languages::lua::tests::long_bracket_block_with_levels ... ok
[INFO] [stdout] test comments::languages::lua::tests::long_bracket_string_preserves_dash_dash ... ok
[INFO] [stdout] test comments::languages::markup::tests::html_block_drops_line ... ok
[INFO] [stdout] test comments::languages::lua::tests::line_comment_after_code_preserves_code ... ok
[INFO] [stdout] test comments::languages::markup::tests::html_block_spans_lines ... ok
[INFO] [stdout] test comments::languages::lua::tests::line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::markup::tests::markdown_block_drops_line ... ok
[INFO] [stdout] test comments::languages::markup::tests::html_inline_block_keeps_surrounding_code ... ok
[INFO] [stdout] test comments::languages::markup::tests::svg_block_drops_line ... ok
[INFO] [stdout] test comments::languages::markup::tests::xml_block_drops_line ... ok
[INFO] [stdout] test comments::languages::misc::tests::gleam_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::misc::tests::crystal_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::misc::tests::nim_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::misc::tests::nim_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::ml::tests::fsharp_block_drops_line ... ok
[INFO] [stdout] test comments::languages::ml::tests::fsharp_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::misc::tests::zig_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::ml::tests::ocaml_block_drops_line ... ok
[INFO] [stdout] test comments::languages::ml::tests::ocaml_marker_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::ml::tests::ocaml_nested_block_balances ... ok
[INFO] [stdout] test comments::languages::ml::tests::sml_block_drops_line ... ok
[INFO] [stdout] test comments::languages::sql::tests::dash_dash_inside_string_preserved ... ok
[INFO] [stdout] test comments::languages::sql::tests::line_comment_after_code_preserves_code ... ok
[INFO] [stdout] test comments::languages::sql::tests::block_comment_drops_line ... ok
[INFO] [stdout] test comments::registry::tests::unknown_extension_returns_none ... ok
[INFO] [stdout] test comments::languages::sql::tests::line_comment_drops_line ... ok
[INFO] [stdout] test comments::stripper::tests::all_leading_comments_yields_empty ... ok
[INFO] [stdout] test comments::stripper::tests::backtick_string_preserves_comment_markers ... ok
[INFO] [stdout] test comments::stripper::tests::block_comment_inline_keeps_surrounding_code ... ok
[INFO] [stdout] test comments::stripper::tests::block_comment_marker_inside_simple_string_preserved ... ok
[INFO] [stdout] test comments::stripper::tests::block_comment_alone_drops_line ... ok
[INFO] [stdout] test comments::stripper::tests::block_comment_starting_after_code_keeps_first_line ... ok
[INFO] [stdout] test comments::stripper::tests::code_only_passes_through ... ok
[INFO] [stdout] test comments::stripper::tests::drops_blank_after_leading_comment_block ... ok
[INFO] [stdout] test comments::stripper::tests::drops_blank_after_leading_block_comment ... ok
[INFO] [stdout] test comments::stripper::tests::block_comment_spans_multiple_lines ... ok
[INFO] [stdout] test comments::stripper::tests::drops_blank_after_leading_line_comment ... ok
[INFO] [stdout] test comments::stripper::tests::drops_multiple_blanks_after_leading_comment ... ok
[INFO] [stdout] test comments::stripper::tests::empty_input_yields_empty_output ... ok
[INFO] [stdout] test comments::stripper::tests::escaped_quote_does_not_close_simple_string ... ok
[INFO] [stdout] test comments::stripper::tests::file_entirely_comments_yields_empty ... ok
[INFO] [stdout] test comments::stripper::tests::indented_line_comment_drops_line ... ok
[INFO] [stdout] test comments::stripper::tests::leading_comment_without_separator_still_clean ... ok
[INFO] [stdout] test comments::stripper::tests::line_comment_alone_drops_line ... ok
[INFO] [stdout] test comments::stripper::tests::line_comment_inside_simple_string_preserved ... ok
[INFO] [stdout] test comments::stripper::tests::long_bracket_block_comment_drops_lines ... ok
[INFO] [stdout] test comments::stripper::tests::long_bracket_block_with_eq_levels ... ok
[INFO] [stdout] test comments::stripper::tests::long_bracket_string_preserves_inner_line_comment_marker ... ok
[INFO] [stdout] test comments::stripper::tests::nested_block_balances ... ok
[INFO] [stdout] test comments::stripper::tests::no_trailing_newline_handled ... ok
[INFO] [stdout] test comments::stripper::tests::preserves_internal_blank_lines ... ok
[INFO] [stdout] test comments::stripper::tests::preserves_leading_blanks_when_no_leading_comment ... ok
[INFO] [stdout] test comments::stripper::tests::preserves_pre_comment_blank_but_drops_post_comment_blank ... ok
[INFO] [stdout] test comments::stripper::tests::raw_hash_string_preserves_inner_line_comment ... ok
[INFO] [stdout] test comments::stripper::tests::raw_hash_string_preserves_quote_until_matching_hashes ... ok
[INFO] [stdout] test comments::stripper::tests::trailing_whitespace_on_kept_line_is_trimmed ... ok
[INFO] [stdout] test comments::stripper::tests::triple_quote_string_preserves_hash ... ok
[INFO] [stdout] test comments::stripper::tests::unterminated_block_consumes_to_eof ... ok
[INFO] [stdout] test comments::stripper::tests::utf8_content_preserved ... ok
[INFO] [stdout] test comments::tests::missing_extension_yields_none ... ok
[INFO] [stdout] test comments::tests::unknown_extension_yields_none ... ok
[INFO] [stdout] test file::tests::counts_logical_source_lines ... ok
[INFO] [stdout] test file::tests::expands_back_to_back_tabs ... ok
[INFO] [stdout] test file::tests::expands_tabs_to_two_spaces ... ok
[INFO] [stdout] test file::tests::leaves_unrelated_characters_untouched ... ok
[INFO] [stdout] test file::tests::load_with_strip_comments_drops_leading_comment_and_separator ... ok
[INFO] [stdout] test file::tests::load_with_strip_comments_passes_through_unknown_extension ... ok
[INFO] [stdout] test comments::stripper::tests::line_comment_after_code_keeps_code ... ok
[INFO] [stdout] test comments::stripper::tests::nestable_engine_does_not_descend_when_disabled ... ok
[INFO] [stdout] test comments::stripper::tests::strips_inner_comments_when_no_leading_comments_present ... ok
[INFO] [stdout] test file::tests::load_with_strip_comments_removes_rust_comments ... ok
[INFO] [stdout] test file::tests::normalizes_non_breaking_spaces_to_regular_spaces ... ok
[INFO] [stdout] test file::tests::normalizes_smart_quotes_to_straight_quotes ... ok
[INFO] [stdout] test file::tests::load_without_strip_comments_keeps_comments ... ok
[INFO] [stdout] test file::tests::rejects_empty_input ... ok
[INFO] [stdout] test file::tests::preserves_internal_blank_lines ... ok
[INFO] [stdout] test file::tests::preserves_utf8_multibyte_chars ... ok
[INFO] [stdout] test file::tests::strips_carriage_returns_to_normalize_crlf ... ok
[INFO] [stdout] test file::tests::strips_mixed_trailing_blank_lines_and_whitespace ... ok
[INFO] [stdout] test file::tests::strips_standalone_carriage_returns ... ok
[INFO] [stdout] test file::tests::strips_trailing_blank_lines ... ok
[INFO] [stdout] test file::tests::strips_trailing_whitespace_inside_last_line ... ok
[INFO] [stdout] test file::tests::whitespace_only_file_rejected_as_empty ... ok
[INFO] [stdout] test stats::tests::accuracy_reports_rounded_percent ... ok
[INFO] [stdout] test stats::tests::record_correct_increments_correct_only ... ok
[INFO] [stdout] test stats::tests::accuracy_rounds_half_up ... ok
[INFO] [stdout] test stats::tests::fresh_stats_report_full_accuracy ... ok
[INFO] [stdout] test stats::tests::record_incorrect_increments_incorrect_only ... ok
[INFO] [stdout] test stats::tests::reset_clears_counters ... ok
[INFO] [stdout] test stats::tests::wpm_is_zero_when_elapsed_is_zero ... ok
[INFO] [stdout] test stats::tests::wpm_is_zero_with_no_correct_keystrokes ... ok
[INFO] [stdout] test stats::tests::wpm_uses_correct_chars_only_speedtyper_formula ... ok
[INFO] [stdout] test text::pagination::tests::blank_line_still_occupies_one_row ... ok
[INFO] [stdout] test text::pagination::tests::cells_start_in_pending_state ... ok
[INFO] [stdout] test text::pagination::tests::empty_input_yields_no_pages ... ok
[INFO] [stdout] test text::pagination::tests::fits_in_budget_as_single_page ... ok
[INFO] [stdout] test text::pagination::tests::line_longer_than_budget_gets_its_own_overflowing_page ... ok
[INFO] [stdout] test text::pagination::tests::pages_concatenate_to_original_input ... ok
[INFO] [stdout] test text::pagination::tests::rows_per_page_zero_is_clamped_to_one ... ok
[INFO] [stdout] test app::tests::typing_last_char_wrong_keeps_run_active ... ok
[INFO] [stdout] test comments::languages::c_family::tests::csharp_line_comment_drops_line ... ok
[INFO] [stdout] test comments::languages::c_family::tests::swift_nested_block_balances ... ok
[INFO] [stdout] test stats::tests::wpm_rounds_to_nearest_whole ... ok
[INFO] [stdout] test comments::languages::c_family::tests::typescript_line_comment_drops_line ... ok
[INFO] [stdout] test stats::tests::wpm_scales_with_short_elapsed_windows ... ok
[INFO] [stdout] test file::tests::normalizes_em_and_en_dashes_to_hyphen ... ok
[INFO] [stdout] test text::pagination::tests::single_line_with_trailing_newline_is_one_page ... ok
[INFO] [stdout] test text::pagination::tests::splits_when_exceeding_budget ... ok
[INFO] [stdout] test text::pagination::tests::single_line_without_newline_is_one_page ... ok
[INFO] [stdout] test text::pagination::tests::tracks_line_ranges_across_multiple_pages ... ok
[INFO] [stdout] test text::tests::new_rejects_empty_pages ... ok
[INFO] [stdout] test text::tests::restore_progress_at_end_of_last_page_parks_cursor_past_end ... ok
[INFO] [stdout] test text::tests::restore_progress_at_page_boundary_advances_to_next_page ... ok
[INFO] [stdout] test text::tests::restore_progress_resets_stale_correct_states_outside_prefix ... ok
[INFO] [stdout] test text::tests::restore_progress_zero_stays_on_first_page ... ok
[INFO] [stdout] test text::tests::total_reflects_page_count ... ok
[INFO] [stdout] test text::wrap::tests::cols_zero_is_clamped_to_one ... ok
[INFO] [stdout] test text::wrap::tests::empty_line_takes_one_row ... ok
[INFO] [stdout] test text::tests::restore_progress_marks_prefix_correct_and_lands_on_target_page ... ok
[INFO] [stdout] test text::wrap::tests::gutter_labels_leave_wrap_continuations_blank ... ok
[INFO] [stdout] test text::wrap::tests::line_equal_to_width_takes_one_row ... ok
[INFO] [stdout] test text::wrap::tests::gutter_labels_length_matches_wrap_row_count ... ok
[INFO] [stdout] test text::wrap::tests::gutter_labels_match_source_line_starts ... ok
[INFO] [stdout] test text::wrap::tests::gutter_labels_respect_line_start_offset ... ok
[INFO] [stdout] test text::wrap::tests::line_longer_than_width_wraps ... ok
[INFO] [stdout] test text::wrap::tests::line_shorter_than_width_takes_one_row ... ok
[INFO] [stdout] test text::pagination::tests::wrapped_line_consumes_multiple_visual_rows ... ok
[INFO] [stdout] test text::wrap::tests::wrap_drops_newline_terminators ... ok
[INFO] [stdout] test text::tests::global_progress_sums_prior_pages_plus_cu_ptr ... ok
[INFO] [stdout] test text::wrap::tests::wrap_preserves_blank_lines ... ok
[INFO] [stdout] test text::tests::next_and_prev_saturate_at_bounds ... ok
[INFO] [stdout] test text::tests::restore_progress_clamps_overflow_to_total ... ok
[INFO] [stdout] test text::wrap::tests::wrap_row_count_matches_visual_rows_helper ... ok
[INFO] [stdout] test timer::tests::idle_stopwatch_reports_zero ... ok
[INFO] [stdout] test timer::tests::reset_returns_to_idle ... ok
[INFO] [stdout] test timer::tests::reset_then_start_picks_up_new_origin ... ok
[INFO] [stdout] test timer::tests::second_start_is_ignored ... ok
[INFO] [stdout] test timer::tests::second_stop_is_ignored ... ok
[INFO] [stdout] test timer::tests::start_sets_running_and_elapsed_tracks_delta ... ok
[INFO] [stdout] test timer::tests::stop_before_start_is_a_noop ... ok
[INFO] [stdout] test timer::tests::stop_freezes_elapsed_and_marks_not_running ... ok
[INFO] [stdout] test text::wrap::tests::wrap_splits_long_line_into_chunks ... ok
[INFO] [stdout] test timer::tests::format_mm_ss_grows_minutes_past_100 ... ok
[INFO] [stdout] test update::tests::backspace_at_origin_of_first_page_is_noop ... ok
[INFO] [stdout] test timer::tests::format_mm_ss_pads_both_fields ... ok
[INFO] [stdout] test update::tests::backspace_at_page_start_rewinds_to_previous_page ... ok
[INFO] [stdout] test timer::tests::reset_clears_frozen_total ... ok
[INFO] [stdout] test update::tests::backspace_is_never_counted ... ok
[INFO] [stdout] test update::tests::backspace_pops_extras_before_reverting_cells ... ok
[INFO] [stdout] test update::tests::char_at_end_of_page_is_ignored ... ok
[INFO] [stdout] test update::tests::char_past_end_of_final_page_is_uncounted ... ok
[INFO] [stdout] test update::tests::correct_char_marks_cell_and_advances_cursor ... ok
[INFO] [stdout] test update::tests::correct_char_with_pending_extras_just_stacks_extras ... ok
[INFO] [stdout] test update::tests::correct_enter_classified_as_correct_keystroke ... ok
[INFO] [stdout] test update::tests::enter_at_last_cell_advances_to_next_page ... ok
[INFO] [stdout] test update::tests::enter_mid_line_pushes_extra_without_advancing ... ok
[INFO] [stdout] test update::tests::enter_on_final_page_last_cell_is_noop ... ok
[INFO] [stdout] test update::tests::enter_at_newline_with_pending_extras_is_noop ... ok
[INFO] [stdout] test update::tests::enter_on_newline_advances_and_skips_leading_spaces ... ok
[INFO] [stdout] test update::tests::extras_cap_at_remaining_to_eol_plus_one ... ok
[INFO] [stdout] test update::tests::extras_cap_shrinks_as_cursor_advances_toward_eol ... ok
[INFO] [stdout] test update::tests::space_against_expected_newline_caps_extras_at_one ... ok
[INFO] [stdout] test update::tests::space_mid_line_wrong_stacks_extras ... ok
[INFO] [stdout] test update::tests::space_on_expected_space_advances_cursor ... ok
[INFO] [stdout] test update::tests::tab_is_never_counted ... ok
[INFO] [stdout] test update::tests::tab_restarts_cells_cursor_and_page ... ok
[INFO] [stdout] test update::tests::word_backspace_at_origin_of_first_page_is_noop ... ok
[INFO] [stdout] test update::tests::word_backspace_at_origin_of_non_first_page_steps_back_one_page ... ok
[INFO] [stdout] test update::tests::word_backspace_clears_entire_extras_buffer ... ok
[INFO] [stdout] test update::tests::word_backspace_crosses_newline_through_whitespace ... ok
[INFO] [stdout] test update::tests::word_backspace_deletes_alphanumeric_word ... ok
[INFO] [stdout] test update::tests::word_backspace_deletes_correct_prefix_along_with_extras ... ok
[INFO] [stdout] test update::tests::word_backspace_eats_trailing_whitespace_before_word ... ok
[INFO] [stdout] test update::tests::word_backspace_groups_symbol_runs ... ok
[INFO] [stdout] test update::tests::word_backspace_is_never_counted ... ok
[INFO] [stdout] test update::tests::word_backspace_stops_at_punctuation_then_eats_punct_run ... ok
[INFO] [stdout] test update::tests::wrong_char_against_expected_newline_caps_extras_at_one ... ok
[INFO] [stdout] test update::tests::wrong_char_at_line_tail_cap_still_counts_as_incorrect ... ok
[INFO] [stdout] test update::tests::backspace_reverts_last_cell_to_pending ... ok
[INFO] [stdout] test update::tests::backspace_rewinds_across_auto_skipped_whitespace_to_newline ... ok
[INFO] [stdout] test update::tests::correct_char_classified_as_correct_keystroke ... ok
[INFO] [stdout] test update::tests::wrong_char_classified_as_incorrect_keystroke ... ok
[INFO] [stdout] test update::tests::wrong_char_pushes_extra_without_advancing ... ok
[INFO] [stdout] test update::tests::wrong_enter_classified_as_incorrect_keystroke ... ok
[INFO] [stdout] test update::tests::wrong_enter_mid_line_respects_cap ... ok
[INFO] [stdout] test widgets::body::tests::char_wrap_bumps_row ... ok
[INFO] [stdout] test widgets::body::tests::cursor_advances_within_a_line ... ok
[INFO] [stdout] test widgets::body::tests::cursor_at_origin_with_no_extras ... ok
[INFO] [stdout] test widgets::body::tests::extras_bump_column_and_may_wrap ... ok
[INFO] [stdout] test widgets::body::tests::newline_drops_cursor_to_next_row ... ok
[INFO] [stdout] test widgets::body::tests::zero_body_cols_short_circuits_to_origin ... ok
[INFO] [stdout] test widgets::footer::tests::footer_at_run_start_reads_zero_wpm ... ok
[INFO] [stdout] test widgets::footer::tests::footer_order_is_page_time_accuracy_wpm ... ok
[INFO] [stdout] test widgets::summary::tests::summary_at_100_percent ... ok
[INFO] [stdout] test view::tests::small_viewport_falls_back_to_plain ... ok
[INFO] [stdout] test view::tests::bat_frame_default ... ok
[INFO] [stdout] test view::tests::wrong_space_renders_space_glyph ... ok
[INFO] [stdout] test view::tests::wrong_enter_renders_newline_glyph ... ok
[INFO] [stdout] test widgets::summary::tests::summary_at_80_percent ... ok
[INFO] [stdout] test widgets::summary::tests::summary_shows_three_digit_wpm ... ok
[INFO] [stdout] test widgets::summary::tests::summary_at_zero_accuracy ... ok
[INFO] [stdout] test widgets::summary::tests::summary_at_single_digit_accuracy ... ok
[INFO] [stdout] test view::tests::bat_frame_with_wrong_keystroke_overlay ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 262 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/typocode/56602bc65371a3bb/out/typo-56602bc65371a3bb)
[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] [stderr]    Doc-tests typocode
[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" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16", kill_on_drop: false }`
[INFO] [stdout] 93e1a82bbed3c04843d823c310b1fd5ef931f0dfa0dabfd52cdb7387bdae1c16
