[INFO] cloning repository https://github.com/geeknoid/cargo-spellotron
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/geeknoid/cargo-spellotron" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeeknoid%2Fcargo-spellotron", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeeknoid%2Fcargo-spellotron'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b2d8dcaeee88e1883867a196da20ad024fd42453
[INFO] testing geeknoid/cargo-spellotron against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgeeknoid%2Fcargo-spellotron" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/geeknoid/cargo-spellotron
[INFO] finished tweaking git repo https://github.com/geeknoid/cargo-spellotron
[INFO] tweaked toml for git repo https://github.com/geeknoid/cargo-spellotron written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/geeknoid/cargo-spellotron on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/geeknoid/cargo-spellotron 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-text` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lsp` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-extract` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lib` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-fuzz` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-engine` (manifest) generated 2 warnings
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded caseless v0.2.2
[INFO] [stderr]   Downloaded divan v0.1.21
[INFO] [stderr]   Downloaded bolero-engine v0.13.4
[INFO] [stderr]   Downloaded mimalloc v0.1.52
[INFO] [stderr]   Downloaded divan-macros v0.1.21
[INFO] [stderr]   Downloaded condtype v1.3.0
[INFO] [stderr]   Downloaded bolero v0.13.4
[INFO] [stderr]   Downloaded bolero-generator-derive v0.13.4
[INFO] [stderr]   Downloaded terminal_size v0.4.4
[INFO] [stderr]   Downloaded pretty-hex v0.4.2
[INFO] [stderr]   Downloaded atomicwrites v0.4.4
[INFO] [stderr]   Downloaded bolero-kani v0.13.0
[INFO] [stderr]   Downloaded libredox v0.1.20
[INFO] [stderr]   Downloaded serde_repr v0.1.21
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded globset v0.4.20
[INFO] [stderr]   Downloaded lsp-server v0.10.0
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.11
[INFO] [stderr]   Downloaded rand_xoshiro v0.7.0
[INFO] [stderr]   Downloaded xmlparser v0.13.6
[INFO] [stderr]   Downloaded bolero-generator v0.13.5
[INFO] [stderr]   Downloaded owo-colors v4.3.0
[INFO] [stderr]   Downloaded camino v1.2.5
[INFO] [stderr]   Downloaded clap v4.6.6
[INFO] [stderr]   Downloaded toml v1.1.4+spec-1.1.0
[INFO] [stderr]   Downloaded either v1.18.0
[INFO] [stderr]   Downloaded fluent-uri v0.1.4
[INFO] [stderr]   Downloaded clap_complete v4.6.9
[INFO] [stderr]   Downloaded ignore v0.4.33
[INFO] [stderr]   Downloaded lsp-types v0.97.0
[INFO] [stderr]   Downloaded saphyr-parser v0.0.12
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.56
[INFO] [stderr]   Downloaded regex-lite v0.1.9
[INFO] [stderr]   Downloaded cc v1.4.4
[INFO] [stderr]   Downloaded compact_str v0.10.0
[INFO] [stderr]   Downloaded bolero-afl v0.13.0
[INFO] [stderr]   Downloaded bolero-libfuzzer v0.13.0
[INFO] [stderr]   Downloaded aho-corasick v1.1.5
[INFO] [stderr]   Downloaded clap_builder v4.6.6
[INFO] [stderr]   Downloaded zerocopy v0.8.56
[INFO] [stderr]   Downloaded bstr v1.13.1
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.49
[INFO] [stderr]   Downloaded spellbook v0.4.2
[INFO] [stderr]   Downloaded regex-automata v0.4.18
[INFO] [stderr]   Downloaded bolero-honggfuzz v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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] 4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001
[INFO] running `Command { std: "docker" "start" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", 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" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", 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" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-fuzz` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-engine` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-text` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-extract` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lsp` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lib` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling camino v1.2.5
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.16
[INFO] [stderr]    Compiling fluent-uri v0.1.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling caseless v0.2.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling spellbook v0.4.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling rustc-hash v2.1.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.49
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling xmlparser v0.13.6
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling atomicwrites v0.4.4
[INFO] [stderr]    Compiling mimalloc v0.1.52
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling serde_repr v0.1.21
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling saphyr-parser v0.0.12
[INFO] [stderr]    Compiling ignore v0.4.33
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling clap_complete v4.6.9
[INFO] [stderr]    Compiling cargo-spellotron-text v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-text)
[INFO] [stderr]    Compiling lsp-server v0.10.0
[INFO] [stderr]    Compiling compact_str v0.10.0
[INFO] [stderr]    Compiling lsp-types v0.97.0
[INFO] [stderr]    Compiling cargo-spellotron-extract v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-extract)
[INFO] [stderr]    Compiling cargo-spellotron-engine v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-engine)
[INFO] [stderr]    Compiling cargo-spellotron-lsp v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-lsp)
[INFO] [stderr]    Compiling cargo-spellotron-lib v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-lib)
[INFO] [stderr]    Compiling cargo-spellotron v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", 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" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-fuzz` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-engine` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-text` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-extract` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lsp` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lib` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling condtype v1.3.0
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling pretty-hex v0.4.2
[INFO] [stderr]    Compiling cargo-spellotron-lsp v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-lsp)
[INFO] [stderr]    Compiling cargo-spellotron-extract v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-extract)
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]    Compiling divan-macros v0.1.21
[INFO] [stderr]    Compiling bolero-generator-derive v0.13.4
[INFO] [stderr]    Compiling divan v0.1.21
[INFO] [stderr]    Compiling bolero-generator v0.13.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ignore v0.4.33
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling cargo-spellotron-lib v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-lib)
[INFO] [stderr]    Compiling bolero-engine v0.13.4
[INFO] [stderr]    Compiling bolero v0.13.4
[INFO] [stderr]    Compiling cargo-spellotron-fuzz v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-fuzz)
[INFO] [stderr]    Compiling cargo-spellotron-engine v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-engine)
[INFO] [stderr]    Compiling cargo-spellotron-text v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron-text)
[INFO] [stderr]    Compiling cargo-spellotron v0.1.0 (/opt/rustwide/workdir/crates/cargo-spellotron)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", 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" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: workspace (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-fuzz/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-fuzz` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-engine/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-engine` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-text/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-text` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-extract/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-extract` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lsp/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lsp` (manifest) generated 2 warnings
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-errors-doc` is deprecated in favor of `lints.clippy.missing_errors_doc` and will not work in a future edition
[INFO] [stderr] warning: crates/cargo-spellotron-lib/Cargo.toml: `lints.clippy.missing-panics-doc` is deprecated in favor of `lints.clippy.missing_panics_doc` and will not work in a future edition
[INFO] [stderr] warning: `cargo-spellotron-lib` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] [stderr]      Running unittests src/cargo-spellotron.rs (/opt/rustwide/target/debug/deps/cargo_spellotron-a71fa75a15cad17c)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test entry::tests::a_flush_failure_overrides_a_successful_command ... ok
[INFO] [stdout] test terminal::tests::a_final_flush_failure_is_observable_on_either_stream ... ok
[INFO] [stdout] test terminal::tests::a_process_with_no_terminal_reports_no_width_and_no_color ... ok
[INFO] [stdout] test terminal::tests::terminal_dimensions_are_reported_as_a_plain_width ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 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/deps/spellotron-c39891d7997c8bcf)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test terminal::tests::a_process_with_no_terminal_reports_no_width_and_no_color ... ok
[INFO] [stdout] test terminal::tests::a_final_flush_failure_is_observable_on_either_stream ... ok
[INFO] [stdout] test entry::tests::a_flush_failure_overrides_a_successful_command ... ok
[INFO] [stdout] test terminal::tests::terminal_dimensions_are_reported_as_a_plain_width ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/editor.rs (/opt/rustwide/target/debug/deps/editor-92a35fa55412a62f)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test dropping_an_editor_kills_and_reaps_its_running_server ... ok
[INFO] [stderr]      Running tests/terminal.rs (/opt/rustwide/target/debug/deps/terminal-c7d58220e6293aab)
[INFO] [stdout] test an_editor_gets_diagnostics_and_quick_fixes_from_the_installed_binary ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.37s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test help_and_usage_errors_exercise_the_real_binary_parser ... ok
[INFO] [stdout] test a_report_goes_to_standard_output_uncolored_when_nothing_is_attached ... ok
[INFO] [stdout] test with_a_terminal::a_report_on_a_terminal_is_colored ... ok
[INFO] [stdout] test with_a_terminal::a_terminal_that_closes_without_answering_ends_the_run ... ok
[INFO] [stdout] test with_a_terminal::a_terminal_that_asks_for_no_color_gets_none ... ok
[INFO] [stdout] test a_question_asked_of_a_pipe_ends_the_run ... ok
[INFO] [stdout] test with_a_terminal::enter_after_the_correction_menu_key_does_not_submit_an_empty_correction ... ok
[INFO] [stdout] test with_a_terminal::a_question_asked_of_a_terminal_is_answered ... ok
[INFO] [stdout] test cargo_subcommand_invocation_runs_the_checker ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.49s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cargo_spellotron_engine-fe7c699f7c586290)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test checker::tests::a_segment_from_another_source_has_no_text ... ok
[INFO] [stdout] test dictionary::tests::cloning_shares_the_parsed_tables ... ok
[INFO] [stdout] test word_checker::tests::the_production_suggestion_cache_limit_is_pinned ... ok
[INFO] [stdout] test checker::tests::a_miscapitalized_allow_listed_word_is_arbitrated_alongside_ordinary_findings ... ok
[INFO] [stdout] test wordlist::tests::colliding_case_folded_keys_still_disambiguate_by_the_original_entry ... ok
[INFO] [stdout] test word_error::tests::every_error_carries_a_captured_backtrace ... ok
[INFO] [stdout] test word_checker::tests::dropping_a_published_fill_does_not_abandon_it ... ok
[INFO] [stdout] test word_checker::tests::surrounding_runs_reject_invalid_spans_and_find_joined_text ... ok
[INFO] [stdout] test dictionary::tests::model_flags_reads_the_affix_field_and_ignores_the_rest ... ok
[INFO] [stdout] test word_checker::tests::stale_flights_cannot_publish_or_abandon_another_fill ... ok
[INFO] [stdout] test dictionary::tests::duplicate_suggestions_keep_their_first_occurrence ... ok
[INFO] [stdout] test word_checker::tests::the_cache_stays_bounded_with_eviction ... ok
[INFO] [stdout] test word_checker::tests::cloned_checkers_share_engine_state_and_suggestion_cache ... ok
[INFO] [stdout] test word_checker::tests::configuring_a_clone_is_copy_on_write_and_keeps_the_valid_cache ... ok
[INFO] [stdout] test word_checker::tests::a_poisoned_cache_lock_recovers ... ok
[INFO] [stdout] test word_checker::tests::a_panicking_fill_wakes_waiters_and_allows_retry ... ok
[INFO] [stdout] test tokenizer::tests::a_range_that_splits_a_character_yields_no_word_rather_than_a_panic ... ok
[INFO] [stdout] test word_checker::tests::distinct_words_fill_while_another_word_is_blocked ... ok
[INFO] [stdout] test word_checker::tests::concurrent_misses_for_one_word_run_one_fill ... ok
[INFO] [stdout] test casefold::tests::streamed_folds_match_materialized_unicode_keys ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api.rs (/opt/rustwide/target/debug/deps/api-0dcbffc62f4af327)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test path_inference_reads_no_file ... ok
[INFO] [stdout] test an_unknown_path_returns_a_typed_error ... ok
[INFO] [stdout] test an_unknown_language_names_its_path_without_a_source ... ok
[INFO] [stdout] test a_dictionary_error_preserves_its_source ... ok
[INFO] [stdout] test suggestions_from_several_sources_are_deduplicated_and_bounded_by_the_limit ... ok
[INFO] [stdout] test suggestions_are_gathered_from_every_source_before_the_limit_applies ... ok
[INFO] [stdout] test a_model_the_two_sources_agree_on_is_not_ambiguous ... ok
[INFO] [stdout] test an_unknown_model_is_reported_rather_than_applied ... ok
[INFO] [stdout] test a_word_inherits_the_inflections_of_its_model ... ok
[INFO] [stdout] test direct_dictionary_construction_returns_a_working_checker ... ok
[INFO] [stdout] test a_model_known_differently_by_two_sources_is_ambiguous_until_one_is_named ... ok
[INFO] [stdout] test the_supported_surface_checks_a_document_end_to_end ... ok
[INFO] [stdout] test flagged_words_and_segment_selection_are_public_policy ... ok
[INFO] [stdout] test a_checker_is_a_cheap_shared_handle ... ok
[INFO] [stdout] test every_language_checks_extracted_text_end_to_end ... ok
[INFO] [stdout] test every_builder_input_reaches_the_word_engine ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/checking.rs (/opt/rustwide/target/debug/deps/checking-f0b11bf2273247cf)
[INFO] [stdout] 
[INFO] [stdout] running 99 tests
[INFO] [stdout] test checker::a_compound_on_the_word_list_is_accepted_whole_too ... ok
[INFO] [stdout] test checker::a_compound_whose_parts_are_each_known_is_accepted_though_no_list_holds_it_whole ... ok
[INFO] [stdout] test checker::a_dictionary_word_that_is_only_known_capitalized_is_reported_as_a_capitalization ... ok
[INFO] [stdout] test checker::a_compound_the_dictionary_lists_whole_is_accepted_whole ... ok
[INFO] [stdout] test checker::a_hyphenated_prefix_after_the_word_it_would_have_led_is_reported ... ok
[INFO] [stdout] test checker::a_hyphen_with_nothing_after_it_makes_no_compound ... ok
[INFO] [stdout] test checker::a_compound_the_dictionary_does_not_list_is_reported_component_by_component ... ok
[INFO] [stdout] test checker::a_compound_is_still_recognized_when_the_text_starts_partway_through_a_file ... ok
[INFO] [stdout] test checker::a_hyphenated_prefix_is_accepted_in_front_of_a_word ... ok
[INFO] [stdout] test checker::a_dash_with_spaces_around_it_does_not_join_the_words_beside_it ... ok
[INFO] [stdout] test checker::a_cached_answer_is_not_handed_out_for_a_different_word ... ok
[INFO] [stdout] test checker::a_four_part_compound_is_accepted_at_the_upper_boundary ... ok
[INFO] [stdout] test checker::a_bare_possessive_marker_is_not_treated_as_a_stem ... ok
[INFO] [stdout] test checker::a_corpus_is_never_asked_about_a_word_the_dictionary_accepts ... ok
[INFO] [stdout] test checker::a_checker_is_created_with_no_corpus_at_all ... ok
[INFO] [stdout] test checker::a_misspelled_possessive_is_still_reported ... ok
[INFO] [stdout] test checker::a_misspelling_is_reported_with_its_span ... ok
[INFO] [stdout] test checker::a_misspelled_part_of_an_otherwise_acceptable_compound_is_reported_on_its_own_span ... ok
[INFO] [stdout] test checker::a_hyphenated_prefix_standing_on_its_own_is_still_reported ... ok
[INFO] [stdout] test checker::a_misspelling_inside_an_identifier_is_found_and_pointed_at ... ok
[INFO] [stdout] test checker::a_longer_chain_of_fragments_is_checked_fragment_by_fragment ... ok
[INFO] [stdout] test checker::a_replaced_tokenizer_is_used ... ok
[INFO] [stdout] test checker::a_cached_suggestion_is_the_same_one_that_was_generated ... ok
[INFO] [stdout] test checker::a_word_known_only_in_another_casing_is_explained_as_that ... ok
[INFO] [stdout] test checker::a_single_letter_part_does_not_condemn_the_compound_it_sits_in ... ok
[INFO] [stdout] test checker::a_word_list_entry_is_not_a_capitalization_complaint_against_itself ... ok
[INFO] [stdout] test checker::a_word_list_entry_with_an_internal_capital_accepts_the_identifier_it_names ... ok
[INFO] [stdout] test checker::a_word_list_entry_names_the_capitalization_it_expects ... ok
[INFO] [stdout] test checker::a_word_the_corpus_knows_is_reported_as_the_typo_it_is ... ok
[INFO] [stdout] test checker::a_zero_limit_suggests_nothing_and_caches_nothing ... ok
[INFO] [stdout] test checker::a_word_the_dictionary_knows_is_accepted_directly ... ok
[INFO] [stdout] test checker::allowed_words_are_never_reported ... ok
[INFO] [stdout] test checker::a_word_the_corpus_does_not_know_still_gets_the_dictionaries_guesses ... ok
[INFO] [stdout] test checker::an_allowed_word_is_accepted_when_asked_about_directly ... ok
[INFO] [stdout] test checker::an_entry_with_capitals_does_not_accept_a_longer_identifier_containing_it ... ok
[INFO] [stdout] test checker::an_explanation_agrees_with_what_a_check_would_do ... ok
[INFO] [stdout] test checker::an_identifier_nobody_listed_is_still_checked_component_by_component ... ok
[INFO] [stdout] test checker::an_ordinary_misspelling_expects_no_particular_capitalization ... ok
[INFO] [stdout] test checker::every_rule_that_can_decide_a_word_is_named_when_one_does ... ok
[INFO] [stdout] test checker::correct_text_yields_nothing ... ok
[INFO] [stdout] test checker::spans_are_relative_to_the_base_offset ... ok
[INFO] [stdout] test checker::only_the_wrong_half_of_a_hyphenated_pair_is_reported ... ok
[INFO] [stdout] test checker::possessives_are_accepted_when_the_stem_is ... ok
[INFO] [stdout] test checker::suggesting_appends_rather_than_replacing ... ok
[INFO] [stdout] test checker::text_with_no_words_at_all_yields_nothing ... ok
[INFO] [stdout] test checker::suggestions_are_offered ... ok
[INFO] [stdout] test checker::the_buffer_form_reuses_its_scratch_space ... ok
[INFO] [stdout] test checker::the_suggestion_cap_is_honored ... ok
[INFO] [stdout] test checker::the_same_misspelling_twice_carries_the_same_advice_both_times ... ok
[INFO] [stdout] test checker::the_possessive_of_an_allowed_word_is_accepted_too ... ok
[INFO] [stdout] test checker::cached_suggestions_match_direct_dictionary_generation ... ok
[INFO] [stdout] test document_checking::a_ban_wins_over_an_ordinary_spelling_finding ... ok
[INFO] [stdout] test document_checking::a_forbidden_term_uses_the_replacement_casing_rule ... ok
[INFO] [stdout] test document_checking::a_sic_marker_is_inert_when_the_option_is_off ... ok
[INFO] [stdout] test checker::suggestions_from_one_word_do_not_leak_into_the_next ... ok
[INFO] [stdout] test document_checking::a_forbidden_term_wins_over_a_known_correction_at_one_span ... ok
[INFO] [stdout] test document_checking::a_bare_bracket_that_is_not_sic_suppresses_nothing ... ok
[INFO] [stdout] test document_checking::a_sic_marker_never_excuses_a_forbidden_term ... ok
[INFO] [stdout] test document_checking::a_sic_marker_is_recognized_regardless_of_case ... ok
[INFO] [stdout] test document_checking::a_sic_reaches_across_quotes_and_punctuation_but_not_a_neighbor ... ok
[INFO] [stdout] test document_checking::directives_and_flagged_words_share_the_document_pipeline ... ok
[INFO] [stdout] test document_checking::a_sic_marker_works_in_prose_as_it_does_in_a_comment ... ok
[INFO] [stdout] test document_checking::a_configured_replacement_wins_over_a_forbidden_term_at_one_span ... ok
[INFO] [stdout] test document_checking::a_forbidden_term_is_reported_before_the_dictionary_accepts_it ... ok
[INFO] [stdout] test document_checking::segment_selection_is_explicit ... ok
[INFO] [stdout] test document_checking::spans_point_into_the_original_document ... ok
[INFO] [stdout] test misspelling::a_corrected_word_expects_the_one_correction_the_corpus_gives ... ok
[INFO] [stdout] test misspelling::a_flagged_word_expects_the_replacement_the_project_mandates ... ok
[INFO] [stdout] test misspelling::a_flagged_word_without_a_replacement_offers_no_deletion ... ok
[INFO] [stdout] test misspelling::a_forbidden_term_carries_no_suggestion_or_expected_form ... ok
[INFO] [stdout] test misspelling::a_miscapitalized_word_expects_the_casing_it_should_have_had ... ok
[INFO] [stdout] test document_checking::a_trailing_sic_suppresses_only_the_word_before_it ... ok
[INFO] [stdout] test misspelling::every_reason_formats_with_its_report_name ... ok
[INFO] [stdout] test misspelling::a_misspelling_may_have_no_suggestions ... ok
[INFO] [stdout] test misspelling::the_reasons_a_word_can_be_reported_for_are_each_recorded ... ok
[INFO] [stdout] test misspelling::a_corrected_word_with_no_corrections_at_all_expects_nothing ... ok
[INFO] [stdout] test misspelling::every_reason_has_a_name_and_says_whether_it_is_certain ... ok
[INFO] [stdout] test misspelling::a_reason_worth_saying_is_part_of_the_json_form ... ok
[INFO] [stdout] test misspelling::the_json_form_round_trips ... ok
[INFO] [stdout] test misspelling::a_word_that_is_a_misspelling_of_two_words_expects_neither ... ok
[INFO] [stdout] test misspelling::every_spelling_reason_can_offer_a_fix_except_a_forbidden_term ... ok
[INFO] [stdout] test policy::short_words_are_skipped_by_default ... ok
[INFO] [stdout] test policy::allowed_words_are_not_looked_up ... ok
[INFO] [stdout] test misspelling::a_misspelling_carries_its_word_span_and_suggestions ... ok
[INFO] [stdout] test misspelling::an_empty_suggestion_list_is_not_confused_with_a_missing_one ... ok
[INFO] [stdout] test policy::acronym_skipping_can_be_switched_off ... ok
[INFO] [stdout] test document_checking::the_observer_sees_admitted_unsuppressed_tokens_and_diagnostics ... ok
[INFO] [stdout] test misspelling::ranking_puts_the_best_scored_suggestion_first_and_keeps_the_rest_in_order ... ok
[INFO] [stdout] test misspelling::the_json_form_names_its_fields ... ok
[INFO] [stdout] test verdict::a_verdict_names_the_setting_that_decided_it ... ok
[INFO] [stdout] test verdict::the_accepting_verdicts_are_the_ones_that_report_nothing ... ok
[INFO] [stdout] test misspelling::suggestions_keep_the_order_they_were_given ... ok
[INFO] [stdout] test policy::the_builder_and_read_accessors_are_the_public_configuration_surface ... ok
[INFO] [stdout] test policy::the_length_floor_is_configurable ... ok
[INFO] [stdout] test policy::acronyms_are_skipped_by_default ... ok
[INFO] [stdout] test policy::ordinary_words_are_admitted ... ok
[INFO] [stdout] test word_checker_traits::checker_is_send_and_sync ... ok
[INFO] [stdout] test policy::digit_skipping_can_be_switched_off ... ok
[INFO] [stdout] test policy::words_with_digits_are_skipped_by_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dictionaries.rs (/opt/rustwide/target/debug/deps/dictionaries-29e008e580baf9fa)
[INFO] [stdout] 
[INFO] [stdout] running 64 tests
[INFO] [stdout] test corpus::a_known_typo_yields_the_word_it_was_meant_to_be ... ok
[INFO] [stdout] test corpus::a_typo_shouted_is_corrected_in_the_same_voice ... ok
[INFO] [stdout] test corpus::a_corpus_loaded_after_a_question_was_asked_is_still_consulted ... ok
[INFO] [stdout] test corpus::a_hand_edited_line_is_normalized_rather_than_taken_whole ... ok
[INFO] [stdout] test corpus::a_line_with_no_typo_at_all_is_skipped_rather_than_refused ... ok
[INFO] [stdout] test corpus::a_corpus_owning_its_text_is_consulted_like_any_other ... ok
[INFO] [stdout] test corpus::a_typo_whose_correction_is_nothing_at_all_corrects_to_nothing ... ok
[INFO] [stdout] test corpus::a_word_the_corpus_does_not_know_yields_nothing ... ok
[INFO] [stdout] test corpus::a_word_with_no_letters_at_all_is_corrected_as_written ... ok
[INFO] [stdout] test corpus::an_empty_corpus_knows_nothing ... ok
[INFO] [stdout] test corpus::a_refused_corpus_leaves_the_ones_already_loaded_alone ... ok
[INFO] [stdout] test corpus::an_entry_is_matched_without_regard_to_the_case_it_was_written_in ... ok
[INFO] [stdout] test corpus::a_typo_written_with_a_leading_capital_is_corrected_with_one ... ok
[INFO] [stdout] test corpus::blank_lines_and_comments_are_ignored ... ok
[INFO] [stdout] test corpus::a_typo_with_whitespace_in_it_is_refused_rather_than_silently_never_matching ... ok
[INFO] [stdout] test corpus::a_single_letter_capital_is_a_leading_capital_rather_than_a_shout ... ok
[INFO] [stdout] test corpus::a_line_the_quick_reading_cannot_settle_is_still_read_in_full ... ok
[INFO] [stdout] test corpus::a_corpus_loaded_after_another_wins_where_they_disagree ... ok
[INFO] [stdout] test corpus::a_typo_with_several_corrections_offers_all_of_them_in_order ... ok
[INFO] [stdout] test corpus::a_line_whose_typo_is_only_whitespace_is_skipped ... ok
[INFO] [stdout] test dictionary::a_malformed_second_dictionary_is_reported_rather_than_panicking ... ok
[INFO] [stdout] test dictionary::a_second_language_does_not_widen_what_the_first_rejects ... ok
[INFO] [stdout] test corpus::an_entry_uses_unicode_default_case_folding ... ok
[INFO] [stdout] test corpus::a_correction_that_is_empty_after_the_typo_leaves_the_others_alone ... ok
[INFO] [stdout] test corpus::corrections_come_back_as_owned_strings_a_caller_can_keep ... ok
[INFO] [stdout] test corpus::an_entry_with_no_correction_is_refused_by_name ... ok
[INFO] [stdout] test corpus::an_entry_with_only_empty_corrections_is_refused ... ok
[INFO] [stdout] test corpus::the_last_entry_for_a_typo_wins ... ok
[INFO] [stdout] test corpus::a_corpus_of_nothing_but_comments_knows_nothing ... ok
[INFO] [stdout] test dictionary::a_malformed_dictionary_is_reported_rather_than_panicking ... ok
[INFO] [stdout] test error::corpus_error_quotes_the_offending_entry ... ok
[INFO] [stdout] test dictionary::known_words_are_found ... ok
[INFO] [stdout] test dictionary::a_word_only_the_second_language_knows_is_accepted ... ok
[INFO] [stdout] test dictionary::one_dictionary_counts_as_one_language ... ok
[INFO] [stdout] test dictionary::a_zero_limit_asks_for_nothing ... ok
[INFO] [stdout] test dictionary::a_zero_limit_leaves_a_populated_buffer_exactly_as_it_was ... ok
[INFO] [stdout] test dictionary::suggestions_are_offered_for_a_near_miss ... ok
[INFO] [stdout] test dictionary::suggestions_are_capped_at_the_limit ... ok
[INFO] [stdout] test dictionary::debugging_a_dictionary_says_how_many_languages_rather_than_printing_them ... ok
[INFO] [stdout] test wordlist::a_list_with_an_entry_of_either_kind_is_not_empty ... ok
[INFO] [stdout] test dictionary::unknown_words_are_not_found ... ok
[INFO] [stdout] test dictionary::suggestions_append_to_what_is_already_there ... ok
[INFO] [stdout] test dictionary::the_limit_counts_what_is_added_rather_than_what_the_buffer_ends_up_holding ... ok
[INFO] [stdout] test error::dictionary_error_preserves_the_parser_as_its_source ... ok
[INFO] [stdout] test dictionary::the_limit_is_shared_across_the_languages_rather_than_applied_to_each ... ok
[INFO] [stdout] test error::errors_meet_the_canonical_thread_safe_error_contract ... ok
[INFO] [stdout] test error::word_list_error_quotes_the_offending_entry ... ok
[INFO] [stdout] test wordlist::an_entry_expects_nothing_of_a_word_it_already_accepts ... ok
[INFO] [stdout] test wordlist::an_entry_of_nothing_but_space_is_accepted_and_adds_nothing ... ok
[INFO] [stdout] test wordlist::blank_lines_and_comments_are_ignored ... ok
[INFO] [stdout] test wordlist::duplicate_entries_are_folded_together ... ok
[INFO] [stdout] test wordlist::expected_casing_uses_unicode_default_case_folding ... ok
[INFO] [stdout] test wordlist::two_entries_that_differ_only_in_case_resolve_to_the_first ... ok
[INFO] [stdout] test wordlist::an_entry_with_capitals_matches_exactly ... ok
[INFO] [stdout] test wordlist::an_entry_with_capitals_names_the_casing_it_expects ... ok
[INFO] [stdout] test dictionary::suggestions_lead_with_the_first_configured_language ... ok
[INFO] [stdout] test dictionary::a_suggestion_both_languages_offer_is_listed_once ... ok
[INFO] [stdout] test dictionary::a_suggestion_already_in_the_buffer_is_not_added_again ... ok
[INFO] [stdout] test wordlist::a_new_list_accepts_nothing ... ok
[INFO] [stdout] test wordlist::a_refused_entry_does_not_stop_the_list_being_used ... ok
[INFO] [stdout] test wordlist::an_entry_with_whitespace_is_refused_by_name ... ok
[INFO] [stdout] test wordlist::a_lowercase_entry_uses_unicode_default_case_folding ... ok
[INFO] [stdout] test wordlist::a_word_the_list_has_never_heard_of_expects_nothing ... ok
[INFO] [stdout] test wordlist::a_lowercase_entry_matches_any_casing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/text.rs (/opt/rustwide/target/debug/deps/text-eefbfb4aae75b311)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test span::len_and_emptiness_agree ... ok
[INFO] [stdout] test span::an_inverted_span_is_empty_rather_than_underflowing ... ok
[INFO] [stdout] test span::shifting_moves_both_ends ... ok
[INFO] [stdout] test span::shifting_saturates_instead_of_wrapping ... ok
[INFO] [stdout] test tokenizer::a_fenced_block_is_skipped_whole ... ok
[INFO] [stdout] test tokenizer::a_run_of_backticks_only_closes_on_a_run_of_the_same_length ... ok
[INFO] [stdout] test span::slicing_yields_the_covered_text ... ok
[INFO] [stdout] test tokenizer::a_typographic_apostrophe_is_trimmed_like_a_typewriter_one ... ok
[INFO] [stdout] test tokenizer::a_dotted_name_is_not_a_word ... ok
[INFO] [stdout] test tokenizer::a_repeated_chunk_gets_distinct_spans ... ok
[INFO] [stdout] test span::contains_excludes_the_end ... ok
[INFO] [stdout] test span::range_conversion_round_trips ... ok
[INFO] [stdout] test span::slicing_past_the_end_yields_none ... ok
[INFO] [stdout] test tokenizer::a_sentence_ending_in_a_full_stop_still_yields_its_last_word ... ok
[INFO] [stdout] test tokenizer::an_acronym_run_keeps_its_capitals_together ... ok
[INFO] [stdout] test span::display_reads_as_a_range ... ok
[INFO] [stdout] test tokenizer::a_trailing_acronym_is_not_split ... ok
[INFO] [stdout] test tokenizer::a_bare_host_name_is_not_prose ... ok
[INFO] [stdout] test tokenizer::hex_literals_are_dropped_whole ... ok
[INFO] [stdout] test tokenizer::an_unmatched_backtick_does_not_swallow_the_rest_of_the_text ... ok
[INFO] [stdout] test tokenizer::kebab_case_splits_on_hyphens ... ok
[INFO] [stdout] test tokenizer::identifier_splitting_can_be_switched_off ... ok
[INFO] [stdout] test tokenizer::multibyte_text_yields_spans_on_character_boundaries ... ok
[INFO] [stdout] test tokenizer::code_spans_can_be_checked_when_asked_for ... ok
[INFO] [stdout] test tokenizer::a_word_after_a_code_span_keeps_its_position ... ok
[INFO] [stdout] test tokenizer::non_latin_scripts_are_tokenized_rather_than_dropped ... ok
[INFO] [stdout] test tokenizer::an_abbreviation_is_left_alone_rather_than_reported ... ok
[INFO] [stdout] test tokenizer::contractions_survive_tokenization ... ok
[INFO] [stdout] test tokenizer::an_identifier_component_that_starts_with_a_digit_is_not_a_word ... ok
[INFO] [stdout] test tokenizer::camel_case_splits_into_components ... ok
[INFO] [stdout] test tokenizer::empty_text_yields_no_words ... ok
[INFO] [stdout] test tokenizer::email_addresses_are_dropped_whole ... ok
[INFO] [stdout] test tokenizer::numbers_and_punctuation_yield_no_words ... ok
[INFO] [stdout] test tokenizer::pascal_case_splits_into_components ... ok
[INFO] [stdout] test tokenizer::paths_are_dropped_whole ... ok
[INFO] [stdout] test tokenizer::plain_prose_splits_on_whitespace_and_punctuation ... ok
[INFO] [stdout] test tokenizer::possessives_survive_tokenization ... ok
[INFO] [stdout] test tokenizer::quoting_apostrophes_are_stripped ... ok
[INFO] [stdout] test tokenizer::screaming_snake_case_yields_whole_components ... ok
[INFO] [stdout] test tokenizer::snake_case_splits_on_underscores ... ok
[INFO] [stdout] test tokenizer::spans_point_at_the_original_text ... ok
[INFO] [stdout] test tokenizer::spans_within_a_split_identifier_point_at_the_component ... ok
[INFO] [stdout] test tokenizer::text_between_backticks_is_skipped ... ok
[INFO] [stdout] test word::digits_are_detected ... ok
[INFO] [stdout] test tokenizer::the_base_offset_is_added_to_every_span ... ok
[INFO] [stdout] test word::length_is_counted_in_characters_not_bytes ... ok
[INFO] [stdout] test tokenizer::typographic_apostrophes_are_handled_like_ascii_ones ... ok
[INFO] [stdout] test tokenizer::the_buffer_form_appends_rather_than_replacing ... ok
[INFO] [stdout] test tokenizer::the_default_tokenizer_is_the_one_new_makes ... ok
[INFO] [stdout] test tokenizer::urls_are_dropped_whole ... ok
[INFO] [stdout] test word::all_caps_detects_acronyms ... ok
[INFO] [stdout] test word::a_word_remembers_its_text_and_span ... ok
[INFO] [stdout] test word::all_caps_requires_a_cased_character ... ok
[INFO] [stdout] test word::all_caps_tolerates_uncased_characters_among_capitals ... ok
[INFO] [stdout] test tokenizer::an_uppercase_hexadecimal_literal_is_dropped_like_a_lowercase_one ... ok
[INFO] [stdout] test span::slicing_off_a_character_boundary_yields_none ... ok
[INFO] [stderr]      Running tests/tokenizer_properties.rs (/opt/rustwide/target/debug/deps/tokenizer_properties-95b9e5d745f246c9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test spans_arrive_in_order_and_do_not_overlap ... ok
[INFO] [stdout] test every_span_slices_to_exactly_the_word_it_reported ... ok
[INFO] [stdout] test tokenizing_into_a_used_buffer_appends_and_disturbs_nothing ... ok
[INFO] [stdout] test a_base_offset_shifts_every_span_and_changes_nothing_else ... ok
[INFO] [stdout] test a_word_always_has_something_to_look_up ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.17s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cargo_spellotron_extract-2da695f16ed66487)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test language::tests::a_line_comment_language_wraps_a_directive_with_its_marker ... ok
[INFO] [stdout] test scanner::tests::invalid_word_offsets_and_parenthesized_lists_are_handled ... ok
[INFO] [stdout] test syntax::tests::a_prefixed_string_is_closed_by_a_bare_delimiter ... ok
[INFO] [stdout] test scanner::tests::fence_delimiters_require_a_long_clean_closing_run ... ok
[INFO] [stdout] test language::tests::a_block_only_language_wraps_a_directive_in_the_block_form ... ok
[INFO] [stdout] test syntax::tests::a_block_string_spans_lines ... ok
[INFO] [stdout] test scanner::tests::a_non_escaping_single_line_string_stops_at_its_delimiter_or_newline ... ok
[INFO] [stdout] test syntax::tests::a_quoted_string_does_not_span_lines ... ok
[INFO] [stdout] test syntax::tests::doc_markers_are_listed_before_the_ordinary_ones_they_extend ... ok
[INFO] [stdout] test language::tests::every_known_language_can_carry_an_inert_directive ... ok
[INFO] [stdout] test syntax::tests::nesting_is_a_per_language_decision_rather_than_a_global_one ... ok
[INFO] [stdout] test syntax::tests::python_tries_triple_quotes_before_single_ones ... ok
[INFO] [stdout] test syntax::tests::a_raw_string_has_no_escape_character ... ok
[INFO] [stdout] test syntax::tests::prose_syntax_has_nothing_to_skip ... ok
[INFO] [stdout] test language::tests::every_language_describes_some_text_worth_checking ... ok
[INFO] [stdout] test scanner::tests::an_unclosed_backtick_run_has_no_match ... ok
[INFO] [stdout] test language::tests::every_language_has_something_to_scan_for ... ok
[INFO] [stdout] test scanner::tests::the_private_scanner_entrypoint_handles_code_and_markdown_in_unit_tests ... ok
[INFO] [stdout] test language::tests::markdown_hides_a_directive_in_an_html_comment_and_plain_text_shows_it ... ok
[INFO] [stdout] test scanner::tests::a_block_comment_searched_from_inside_a_character_is_treated_as_unterminated ... ok
[INFO] [stdout] test scanner::tests::a_segment_whose_bounds_cannot_be_sliced_is_dropped_rather_than_recorded ... ok
[INFO] [stderr]      Running tests/directives.rs (/opt/rustwide/target/debug/deps/directives-b215d76d3ee1c4fa)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test a_bare_directive_covers_its_own_line ... ok
[INFO] [stdout] test a_directive_names_words_on_its_own_line_too ... ok
[INFO] [stdout] test a_directive_naming_words_leaves_the_others_alone ... ok
[INFO] [stdout] test a_file_directive_covers_everything_including_what_came_before_it ... ok
[INFO] [stdout] test a_directive_written_in_any_language_is_found ... ok
[INFO] [stdout] test a_directive_does_not_reach_the_line_before_it ... ok
[INFO] [stdout] test a_file_directive_naming_words_leaves_the_others_alone ... ok
[INFO] [stdout] test a_trailing_comment_terminator_is_not_one_of_the_words ... ok
[INFO] [stdout] test a_next_line_directive_covers_the_following_line_and_not_its_own ... ok
[INFO] [stdout] test a_line_naming_both_ends_of_a_region_opens_nothing ... ok
[INFO] [stdout] test a_second_marker_is_not_read_as_a_word_of_the_first ... ok
[INFO] [stdout] test a_word_named_with_a_capital_is_covered_exactly ... ok
[INFO] [stdout] test a_longer_scope_wins_over_one_that_is_its_prefix ... ok
[INFO] [stdout] test an_end_with_no_start_is_ignored_rather_than_covering_the_file ... ok
[INFO] [stdout] test a_region_covers_the_lines_between_its_ends ... ok
[INFO] [stdout] test a_named_word_does_not_cover_a_different_one ... ok
[INFO] [stdout] test a_next_line_directive_on_the_last_line_covers_nothing_and_does_not_panic ... ok
[INFO] [stdout] test a_terminator_made_only_of_word_characters_is_not_one_of_the_words ... ok
[INFO] [stdout] test a_marker_that_prefixes_a_longer_token_is_not_a_directive ... ok
[INFO] [stdout] test a_word_named_in_lowercase_uses_unicode_default_case_folding ... ok
[INFO] [stdout] test a_region_naming_words_leaves_the_others_alone_throughout ... ok
[INFO] [stdout] test the_directive_text_itself_is_never_checked ... ok
[INFO] [stdout] test words_may_be_separated_by_commas ... ok
[INFO] [stdout] test a_source_with_no_directive_suppresses_nothing ... ok
[INFO] [stdout] test an_unclosed_region_runs_to_the_end_of_the_file ... ok
[INFO] [stdout] test directive_folding_handles_unicode_expansions_and_equivalent_sigmas ... ok
[INFO] [stdout] test a_word_named_in_lowercase_covers_it_in_any_casing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/extraction.rs (/opt/rustwide/target/debug/deps/extraction-b1a1df2b965a31fe)
[INFO] [stdout] 
[INFO] [stdout] running 130 tests
[INFO] [stdout] test comments::c_block_comments_do_not_nest ... ok
[INFO] [stdout] test comments::a_line_comment_is_found_without_its_marker ... ok
[INFO] [stdout] test comments::a_css_comment_is_found_and_a_url_is_not_read_as_one ... ok
[INFO] [stdout] test comments::a_block_comment_may_span_lines ... ok
[INFO] [stdout] test comments::a_doc_comment_is_distinguished_from_an_ordinary_one ... ok
[INFO] [stdout] test comments::a_block_comment_is_found_without_its_delimiters ... ok
[INFO] [stdout] test comments::a_comment_at_the_end_of_a_file_needs_no_newline ... ok
[INFO] [stdout] test comments::an_unterminated_block_comment_runs_to_the_end_of_the_file ... ok
[INFO] [stdout] test comments::surrounding_whitespace_is_not_part_of_the_segment ... ok
[INFO] [stdout] test comments::sql_comments_are_found ... ok
[INFO] [stdout] test comments::rust_block_comments_nest ... ok
[INFO] [stdout] test fence_continuity::a_fence_spans_a_documentation_marker_and_the_plain_one_where_the_language_mixes_them ... ok
[INFO] [stdout] test fence_continuity::a_fence_spans_two_documentation_markers_of_the_same_kind ... ok
[INFO] [stdout] test comments::hash_comments_are_found ... ok
[INFO] [stdout] test comments::markup_comments_are_found ... ok
[INFO] [stdout] test fence_continuity::mixing_the_markers_does_not_let_a_fence_outlive_its_comment ... ok
[INFO] [stdout] test fence_continuity::a_blank_documentation_line_does_not_end_a_fence ... ok
[INFO] [stdout] test comments::a_php_hash_comment_is_found_alongside_the_c_shaped_ones ... ok
[INFO] [stdout] test comments::an_empty_comment_yields_no_segment ... ok
[INFO] [stdout] test comments::a_javadoc_block_is_documentation ... ok
[INFO] [stdout] test comments::an_inner_doc_comment_is_documentation_too ... ok
[INFO] [stdout] test comments::an_scss_line_comment_is_found ... ok
[INFO] [stdout] test fenced_examples::a_fence_does_not_reach_across_a_change_of_comment_kind ... ok
[INFO] [stdout] test fenced_examples::a_fence_does_not_reach_across_a_line_of_code ... ok
[INFO] [stdout] test fenced_examples::the_same_rule_applies_to_other_languages_line_comments ... ok
[INFO] [stdout] test identifiers::a_keyword_inside_a_comment_does_not_declare_anything ... ok
[INFO] [stdout] test identifiers::a_keyword_inside_a_string_does_not_declare_anything ... ok
[INFO] [stdout] test identifiers::a_keyword_that_ends_a_longer_word_declares_nothing ... ok
[INFO] [stdout] test identifiers::a_keyword_with_no_name_after_it_declares_nothing ... ok
[INFO] [stdout] test identifiers::a_modifier_declares_nothing_where_no_keyword_introduced_it ... ok
[INFO] [stdout] test identifiers::a_keyword_that_is_only_the_start_of_a_longer_word_declares_nothing ... ok
[INFO] [stdout] test identifiers::a_rust_function_declares_its_name ... ok
[INFO] [stdout] test identifiers::a_name_outside_ascii_is_measured_in_bytes_like_everything_else ... ok
[INFO] [stdout] test identifiers::a_placeholder_name_is_not_a_name ... ok
[INFO] [stdout] test identifiers::an_identifier_arrives_whole_for_the_checker_to_split ... ok
[INFO] [stdout] test identifiers::a_language_with_no_declaration_keywords_declares_nothing ... ok
[INFO] [stdout] test fenced_examples::a_fenced_example_in_a_doc_comment_is_skipped ... ok
[INFO] [stdout] test fenced_examples::a_tilde_fence_is_treated_the_same_way ... ok
[INFO] [stdout] test identifiers::a_modifier_between_the_keyword_and_the_name_is_not_the_name ... ok
[INFO] [stdout] test fence_continuity::a_truly_blank_line_ends_the_comment_and_the_fence_with_it ... ok
[INFO] [stdout] test fenced_examples::a_comment_fence_closes_only_on_the_same_delimiter_and_minimum_length ... ok
[INFO] [stdout] test fenced_examples::an_attribute_on_the_fence_does_not_stop_it_being_one ... ok
[INFO] [stdout] test fenced_examples::an_unterminated_fence_stops_at_the_end_of_its_comment_block ... ok
[INFO] [stdout] test identifiers::every_kind_of_rust_declaration_is_taken ... ok
[INFO] [stdout] test identifiers::go_declares_by_its_own_keywords ... ok
[INFO] [stdout] test identifiers::languages_of_every_family_declare_something ... ok
[INFO] [stdout] test identifiers::the_span_covers_the_name_and_nothing_around_it ... ok
[INFO] [stdout] test identifiers::two_keywords_in_a_row_still_reach_the_name ... ok
[INFO] [stdout] test language_tables::a_c_like_block_documentation_comment_is_documentation ... ok
[INFO] [stdout] test language_tables::a_c_like_line_documentation_comment_is_documentation ... ok
[INFO] [stdout] test language_tables::a_javascript_template_literal_is_a_string ... ok
[INFO] [stdout] test identifiers::python_declares_by_def_and_class ... ok
[INFO] [stdout] test language_tables::a_shell_style_language_finds_both_of_its_string_forms ... ok
[INFO] [stdout] test language_tables::a_sql_string_is_single_quoted_and_a_double_quoted_name_is_not_a_string ... ok
[INFO] [stdout] test markdown::a_numbered_list_holds_its_indented_paragraph_too ... ok
[INFO] [stdout] test language_tables::javascript_tells_its_four_comment_forms_apart ... ok
[INFO] [stdout] test markdown::a_shorter_run_does_not_close_a_longer_fence ... ok
[INFO] [stdout] test language_tables::lua_finds_both_of_its_string_forms ... ok
[INFO] [stdout] test language_tables::php_finds_both_of_its_string_forms ... ok
[INFO] [stdout] test language_tables::scss_has_a_documentation_comment_that_css_does_not ... ok
[INFO] [stdout] test language_tables::php_documentation_and_block_comments_are_told_apart ... ok
[INFO] [stdout] test markdown::a_list_closes_at_the_next_unindented_paragraph ... ok
[INFO] [stdout] test markdown::a_document_may_open_with_an_indented_block ... ok
[INFO] [stdout] test markdown::an_indented_code_block_is_skipped_beside_the_fenced_form ... ok
[INFO] [stdout] test markdown::fenced_code_is_skipped ... ok
[INFO] [stdout] test markdown::inline_code_spans_are_skipped ... ok
[INFO] [stdout] test markdown::plain_text_is_prose_from_end_to_end ... ok
[INFO] [stdout] test markdown::prose_is_found ... ok
[INFO] [stdout] test markdown::tilde_fences_are_skipped_too ... ok
[INFO] [stdout] test marker_precedence::a_block_opener_beats_the_line_marker_that_is_a_prefix_of_it ... ok
[INFO] [stdout] test language_tables::php_recognizes_both_of_its_line_comment_markers ... ok
[INFO] [stdout] test language_tables::rust_block_documentation_is_documentation ... ok
[INFO] [stdout] test language_tables::sql_has_a_block_comment_as_well_as_a_line_comment ... ok
[INFO] [stdout] test markdown::a_blank_line_inside_an_indented_block_does_not_end_it ... ok
[INFO] [stdout] test markdown::a_different_delimiter_does_not_close_a_fence ... ok
[INFO] [stdout] test newer_languages::a_makefile_comment_is_found ... ok
[INFO] [stdout] test newer_languages::a_graphql_description_is_documentation ... ok
[INFO] [stdout] test newer_languages::a_dockerfile_comment_is_found ... ok
[INFO] [stdout] test newer_languages::a_protobuf_comment_is_found ... ok
[INFO] [stdout] test marker_precedence::a_documentation_marker_still_beats_the_block_opener_it_does_not_prefix ... ok
[INFO] [stdout] test newer_languages::elixir_finds_its_line_comments ... ok
[INFO] [stdout] test markdown::a_tab_indent_opens_a_code_block_the_same_way ... ok
[INFO] [stdout] test newer_languages::a_dart_triple_quoted_string_spans_lines ... ok
[INFO] [stdout] test markdown::an_unterminated_code_span_does_not_swallow_the_line ... ok
[INFO] [stdout] test markdown::an_indented_paragraph_under_a_bullet_is_still_prose ... ok
[INFO] [stdout] test newer_languages::a_vim_script_comment_is_introduced_by_a_double_quote ... ok
[INFO] [stdout] test markdown::an_inline_code_span_closes_on_the_same_backtick_run ... ok
[INFO] [stdout] test newer_languages::a_nix_indented_string_spans_lines_and_takes_no_escapes ... ok
[INFO] [stdout] test markdown::link_destinations_are_skipped_but_link_text_is_not ... ok
[INFO] [stdout] test marker_precedence::a_lua_line_comment_still_works_beside_the_block_form ... ok
[INFO] [stdout] test markdown::an_indented_continuation_of_a_paragraph_is_still_prose ... ok
[INFO] [stdout] test newer_languages::perl_still_has_ordinary_line_comments ... ok
[INFO] [stdout] test newer_languages::haskell_block_comments_nest ... ok
[INFO] [stdout] test newer_languages::an_elixir_heredoc_is_documentation ... ok
[INFO] [stdout] test newer_languages::haskell_tells_haddock_from_an_ordinary_comment ... ok
[INFO] [stdout] test newer_languages::dart_block_comments_nest ... ok
[INFO] [stdout] test newer_languages::nix_finds_both_of_its_comment_forms ... ok
[INFO] [stdout] test newer_languages::graphql_still_has_hash_comments ... ok
[INFO] [stdout] test newer_languages::perl_pod_runs_from_its_command_to_the_cut ... ok
[INFO] [stdout] test newer_languages::vim_script_does_not_read_an_autoload_name_as_a_comment ... ok
[INFO] [stdout] test newer_languages::scaladoc_is_documentation ... ok
[INFO] [stdout] test robustness::spans_always_land_on_character_boundaries ... ok
[INFO] [stdout] test robustness::an_empty_file_yields_nothing ... ok
[INFO] [stdout] test strings::a_backslash_in_a_raw_literal_is_a_backslash ... ok
[INFO] [stdout] test strings::a_go_raw_string_keeps_comment_markers_across_lines ... ok
[INFO] [stdout] test strings::a_byte_literal_is_found_the_same_way ... ok
[INFO] [stdout] test strings::a_javascript_template_literal_may_span_lines ... ok
[INFO] [stdout] test strings::a_comment_marker_inside_a_literal_is_not_a_comment ... ok
[INFO] [stdout] test robustness::a_realistic_rust_file_yields_what_a_reader_would_expect ... ok
[INFO] [stdout] test newer_languages::r_tells_roxygen_from_an_ordinary_comment ... ok
[INFO] [stdout] test newer_languages::zig_has_no_block_comment_to_run_away_with ... ok
[INFO] [stdout] test newer_languages::zig_tells_its_documentation_comments_from_its_ordinary_ones ... ok
[INFO] [stdout] test newer_languages::scala_block_comments_nest ... ok
[INFO] [stdout] test robustness::a_file_of_whitespace_yields_nothing ... ok
[INFO] [stdout] test robustness::spans_point_at_the_original_file_not_at_a_copy ... ok
[INFO] [stdout] test strings::a_triple_quote_is_not_read_as_an_empty_literal_and_a_quote ... ok
[INFO] [stdout] test strings::a_python_docstring_is_documentation_rather_than_a_literal ... ok
[INFO] [stdout] test strings::a_quoted_literal_does_not_span_lines ... ok
[INFO] [stdout] test robustness::segments_come_back_in_source_order ... ok
[INFO] [stdout] test strings::a_raw_literal_takes_as_many_hashes_as_it_was_opened_with ... ok
[INFO] [stdout] test robustness::every_language_terminates_on_adversarial_input ... ok
[INFO] [stdout] test strings::a_quote_inside_a_comment_does_not_open_a_literal ... ok
[INFO] [stdout] test strings::languages_with_no_literals_worth_checking_report_none ... ok
[INFO] [stdout] test robustness::multibyte_text_is_reported_intact ... ok
[INFO] [stdout] test strings::a_raw_literal_keeps_the_quotes_inside_it ... ok
[INFO] [stdout] test strings::a_string_literal_is_found_without_its_quotes ... ok
[INFO] [stdout] test strings::an_unterminated_literal_costs_one_literal_not_the_file ... ok
[INFO] [stdout] test strings::an_escaped_quote_does_not_end_the_literal ... ok
[INFO] [stdout] test fenced_examples::a_long_mixed_kind_fence_keeps_only_its_surrounding_comments ... ok
[INFO] [stdout] test fenced_examples::a_long_unterminated_fence_still_ends_at_the_first_adjacency_break ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 130 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/model.rs (/opt/rustwide/target/debug/deps/model-b50a729dd68b64e5)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test language::an_unknown_extension_yields_none ... ok
[INFO] [stdout] test language::path_lookup_accepts_owned_and_borrowed_paths ... ok
[INFO] [stdout] test language::path_lookup_preserves_non_utf8_component_behavior ... ok
[INFO] [stdout] test language::paths_map_to_their_language ... ok
[INFO] [stdout] test language::well_known_extensionless_files_are_recognized ... ok
[INFO] [stdout] test segment::a_segment_carries_its_kind_and_span ... ok
[INFO] [stdout] test segment::kind_names_are_stable_and_lowercase ... ok
[INFO] [stdout] test segment::text_from_the_wrong_source_yields_none_rather_than_panicking ... ok
[INFO] [stdout] test segment::text_yields_what_the_span_covers ... ok
[INFO] [stdout] test language::extensions_map_to_their_language ... ok
[INFO] [stdout] test language::no_extension_is_claimed_by_two_languages ... ok
[INFO] [stdout] test language::every_language_name_is_lowercase ... ok
[INFO] [stdout] test language::a_dotfile_is_not_mistaken_for_an_extension ... ok
[INFO] [stdout] test language::a_path_with_no_extension_is_not_a_language ... ok
[INFO] [stdout] test language::languages_display_as_their_names ... ok
[INFO] [stdout] test language::every_language_has_a_distinct_name ... ok
[INFO] [stdout] test language::every_language_appears_in_the_table_exactly_once ... ok
[INFO] [stdout] test language::extension_lookup_ignores_case ... ok
[INFO] [stdout] test segment::kinds_display_as_their_names ... ok
[INFO] [stdout] test language::a_name_that_only_looks_extensionless_still_uses_its_extension ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/extract/main.rs (/opt/rustwide/target/debug/deps/extract-b64c2abb9397e978)
[INFO] [stderr] test extract ...	run time: 17.325836ms | iterations/s: 2193 | corpus inputs: 38
[INFO] [stderr]      Running tests/tokenize/main.rs (/opt/rustwide/target/debug/deps/tokenize-5942b34a52772f3f)
[INFO] [stderr] test tokenize ...	run time: 18.178947ms | iterations/s: 2090 | corpus inputs: 38
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cargo_spellotron_lib-82fe620386c622da)
[INFO] [stdout] 
[INFO] [stdout] running 1039 tests
[INFO] [stdout] test baseline::tests::editing_the_line_does_resurrect_the_finding ... ok
[INFO] [stdout] test baseline::tests::a_path_with_a_space_in_it_survives_the_round_trip ... ok
[INFO] [stdout] test baseline::tests::a_unix_path_with_literal_backslashes_keeps_them ... ok
[INFO] [stdout] test baseline::tests::the_file_is_sorted_and_deduplicated_so_that_it_diffs_cleanly ... ok
[INFO] [stdout] test baseline::tests::moving_the_line_does_not_resurrect_the_finding ... ok
[INFO] [stdout] test baseline::tests::another_identical_occurrence_is_new ... ok
[INFO] [stdout] test baseline::tests::an_entry_nothing_matched_is_named_so_it_can_be_removed ... ok
[INFO] [stdout] test baseline::tests::the_fingerprint_is_the_value_it_has_always_been ... ok
[INFO] [stdout] test baseline::tests::the_same_entry_written_twice_is_carried_once ... ok
[INFO] [stdout] test baseline::tests::a_baseline_that_is_not_there_is_not_an_error ... ok
[INFO] [stdout] test baseline::tests::a_file_that_could_not_be_read_is_named_rather_than_frozen ... ok
[INFO] [stdout] test baseline::tests::a_frozen_finding_is_withdrawn_and_a_new_one_is_not ... ok
[INFO] [stdout] test baseline::tests::baseline_files_are_excluded_without_removing_source_files ... ok
[INFO] [stdout] test baseline::tests::a_baseline_that_cannot_be_read_is_reported ... ok
[INFO] [stdout] test baseline::tests::the_line_a_word_is_on_is_found_wherever_it_sits ... ok
[INFO] [stdout] test baseline::tests::a_baseline_that_is_there_is_read ... ok
[INFO] [stdout] test catalog::tests::a_checksum_parses_from_its_hex ... ok
[INFO] [stdout] test baseline::tests::a_recorder_reports_how_much_it_recorded ... ok
[INFO] [stdout] test baseline::tests::a_line_that_is_not_an_entry_is_refused_by_name ... ok
[INFO] [stdout] test baseline::tests::comments_and_blank_lines_are_ignored ... ok
[INFO] [stdout] test baseline::tests::a_baseline_reports_how_much_it_is_carrying ... ok
[INFO] [stdout] test baseline::tests::the_same_word_in_another_file_is_still_new ... ok
[INFO] [stdout] test baseline::tests::an_entry_with_nothing_where_a_path_or_a_word_should_be_is_not_an_entry ... ok
[INFO] [stdout] test catalog::tests::every_catalog_language_name_is_unique ... ok
[INFO] [stdout] test catalog::tests::every_catalog_entry_is_sorted_by_language ... ok
[INFO] [stdout] test catalog::tests::an_unlisted_language_is_absent ... ok
[INFO] [stdout] test catalog::tests::every_catalog_url_uses_the_pinned_revision ... ok
[INFO] [stdout] test catalog::tests::the_bundled_catalog_parses_and_covers_the_promised_languages ... ok
[INFO] [stdout] test catalog::tests::the_catalog_covers_representative_writing_systems ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_that_cannot_be_understood_is_refused ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_that_was_asked_for_and_is_not_there_is_a_failure ... ok
[INFO] [stdout] test commands::baseline::tests::an_unrelated_diff_is_an_error_rather_than_an_empty_baseline ... ok
[INFO] [stdout] test commands::baseline::tests::a_broken_output_stream_is_reported ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_can_be_printed_instead_of_written ... ok
[INFO] [stdout] test commands::baseline::tests::baseline_honors_diff_selection ... ok
[INFO] [stdout] test commands::check::tests::a_clean_commit_message_says_so ... ok
[INFO] [stdout] test commands::baseline::tests::a_note_nobody_can_read_does_not_bring_the_run_down_silently ... ok
[INFO] [stdout] test commands::baseline::tests::a_file_that_could_not_be_read_is_called_out_rather_than_frozen_as_clean ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_that_cannot_be_written_is_reported ... ok
[INFO] [stdout] test commands::check::tests::a_dictionary_is_found_when_the_tool_is_run_from_a_subdirectory ... ok
[INFO] [stdout] test commands::baseline::tests::fix_leaves_the_baseline_file_alone ... ok
[INFO] [stdout] test commands::check::tests::a_clean_project_says_nothing_is_wrong ... ok
[INFO] [stdout] test commands::baseline::tests::baseline_and_check_share_variant_selection ... ok
[INFO] [stdout] test commands::check::tests::a_commit_message_that_is_not_there_is_an_error_rather_than_a_pass ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_does_not_hide_a_new_finding ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_can_be_written_somewhere_else_and_read_from_there ... ok
[INFO] [stdout] test commands::check::tests::a_diff_for_an_unselected_project_is_an_error_rather_than_a_clean_check ... ok
[INFO] [stdout] test commands::baseline::tests::the_baseline_can_be_ignored_for_one_run ... ok
[INFO] [stdout] test commands::check::tests::a_bare_carriage_return_does_not_shift_diff_filter_line_numbers ... ok
[INFO] [stdout] test commands::check::tests::a_commit_message_is_checked_without_git_s_own_lines ... ok
[INFO] [stdout] test commands::check::tests::a_malformed_configuration_file_is_refused_with_its_name ... ok
[INFO] [stdout] test commands::baseline::tests::a_baseline_withdraws_the_findings_it_froze ... ok
[INFO] [stdout] test commands::check::tests::a_missing_dictionary_is_an_error_that_says_where_it_looked ... ok
[INFO] [stdout] test commands::check::tests::a_hyphenated_compound_the_word_list_knows_whole_is_accepted_all_the_way_out ... ok
[INFO] [stdout] test commands::check::tests::a_json_listing_that_cannot_be_written_names_its_file ... ok
[INFO] [stdout] test commands::baseline::tests::an_entry_nobody_needs_any_more_is_pointed_out ... ok
[INFO] [stdout] test commands::check::tests::a_broken_stream_is_reported_when_a_commit_message_is_checked ... ok
[INFO] [stdout] test commands::baseline::tests::many_obsolete_entries_are_summarized_rather_than_listed ... ok
[INFO] [stdout] test commands::check::tests::a_diff_checks_only_the_lines_it_changes ... ok
[INFO] [stdout] test commands::check::tests::a_forbidden_word_is_reported_with_no_suggestions_and_is_not_fixed_when_certain ... ok
[INFO] [stdout] test commands::check::tests::a_commit_message_can_be_made_a_gate ... ok
[INFO] [stdout] test commands::check::tests::a_word_accepted_on_the_command_line_is_not_reported ... ok
[INFO] [stdout] test commands::check::tests::a_warning_about_an_unreadable_file_that_cannot_be_written_is_an_error_too ... ok
[INFO] [stdout] test commands::check::tests::a_listing_can_be_asked_for_as_json ... ok
[INFO] [stdout] test commands::check::tests::a_listing_that_cannot_be_written_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::check::tests::a_forbidden_file_forbids_each_of_its_terms ... ok
[INFO] [stdout] test commands::check::tests::an_invalid_ignore_pattern_stops_the_run_before_any_file_is_reported ... ok
[INFO] [stdout] test commands::check::tests::a_diff_ignores_files_it_does_not_touch ... ok
[INFO] [stdout] test commands::check::tests::a_wrongly_cased_word_is_reported_as_a_capitalization_all_the_way_out_to_the_report ... ok
[INFO] [stdout] test commands::check::tests::a_named_file_is_the_only_one_checked ... ok
[INFO] [stdout] test commands::check::tests::a_malformed_diff_is_an_error_rather_than_a_clean_check ... ok
[INFO] [stdout] test commands::check::tests::a_listing_cannot_use_a_report_that_only_describes_findings ... ok
[INFO] [stdout] test commands::check::tests::excluding_a_glob_takes_a_file_out_of_the_run ... ok
[INFO] [stdout] test commands::check::tests::a_word_list_entry_with_internal_capitals_is_accepted_all_the_way_out ... ok
[INFO] [stdout] test commands::check::tests::a_word_list_is_found_when_the_tool_is_run_from_a_subdirectory ... ok
[INFO] [stdout] test commands::check::tests::a_second_language_can_be_added_on_the_command_line ... ok
[INFO] [stdout] test commands::check::tests::an_exclude_glob_without_a_wildcard_prefix_is_honored_through_the_command ... ok
[INFO] [stdout] test commands::check::tests::a_project_with_a_misspelling_reports_it_and_says_so_in_the_exit_status ... ok
[INFO] [stdout] test commands::check::tests::file_reports_cannot_share_a_destination ... ok
[INFO] [stdout] test commands::check::tests::a_word_from_any_configured_language_is_accepted ... ok
[INFO] [stdout] test commands::check::tests::junit_and_json_cannot_share_a_destination ... ok
[INFO] [stdout] test commands::check::tests::a_junit_report_composes_with_the_other_report_flags ... ok
[INFO] [stdout] test commands::check::tests::an_unreadable_diff_is_an_error ... ok
[INFO] [stdout] test commands::check::tests::listing_the_files_names_them_in_the_order_the_check_would_visit_them ... ok
[INFO] [stdout] test commands::check::tests::listing_the_words_gives_them_sorted_and_once_each ... ok
[INFO] [stdout] test commands::check::tests::listing_the_files_checks_nothing ... ok
[INFO] [stdout] test commands::check::tests::listing_the_files_honors_the_options_that_select_them ... ok
[INFO] [stdout] test commands::check::tests::listing_the_words_leaves_out_what_is_too_short_to_be_checked ... ok
[INFO] [stdout] test commands::check::tests::list_words_honors_syntax_rules_for_unknown_and_known_extensions ... ok
[INFO] [stdout] test commands::check::tests::an_include_glob_without_a_wildcard_prefix_is_honored_through_the_command ... ok
[INFO] [stdout] test commands::check::tests::a_report_that_cannot_be_written_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::check::tests::the_two_listings_cannot_be_asked_for_at_once ... ok
[INFO] [stdout] test commands::cli::tests::a_file_that_happens_to_be_called_spellotron_is_not_mistaken_for_the_subcommand ... ok
[INFO] [stdout] test commands::cli::tests::a_usage_mistake_goes_to_the_error_stream_and_fails ... ok
[INFO] [stdout] test commands::cli::tests::a_valid_command_reaches_dispatch ... ok
[INFO] [stdout] test commands::check::tests::no_sic_suppression_reports_the_word_the_marker_would_have_excused ... ok
[INFO] [stdout] test commands::cli::tests::check_help_groups_settings_like_the_configuration_file ... ok
[INFO] [stdout] test commands::cli::tests::check_help_uses_distinct_report_output_flags ... ok
[INFO] [stdout] test commands::cli::tests::color_option_controls_help_styling ... ok
[INFO] [stdout] test commands::cli::tests::config_import_is_not_a_command ... ok
[INFO] [stdout] test commands::cli::tests::configuration_aligned_vocabulary_options_parse ... ok
[INFO] [stdout] test commands::cli::tests::help_goes_to_the_output_stream_and_succeeds ... ok
[INFO] [stdout] test commands::cli::tests::languages_is_not_retained_as_an_alias_for_syntaxes ... ok
[INFO] [stdout] test commands::cli::tests::every_subcommand_parses ... ok
[INFO] [stdout] test commands::cli::tests::running_directly_is_left_alone ... ok
[INFO] [stdout] test commands::cli::tests::running_as_a_cargo_subcommand_works_the_same_way ... ok
[INFO] [stdout] test commands::cli::tests::the_version_is_available_without_a_subcommand ... ok
[INFO] [stdout] test commands::color_mode::tests::automatic_mode_preserves_terminal_detection ... ok
[INFO] [stdout] test commands::cli::tests::the_command_line_is_internally_consistent ... ok
[INFO] [stdout] test commands::color_mode::tests::explicit_modes_override_terminal_detection ... ok
[INFO] [stdout] test commands::config_command::tests::a_list_of_layers_nobody_can_read_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::config_command::tests::a_malformed_configuration_file_is_reported_rather_than_shown_as_defaults ... ok
[INFO] [stdout] test commands::config_command::tests::explain_lists_the_layers_in_precedence_order ... ok
[INFO] [stdout] test commands::config_command::tests::explain_names_the_file_that_decided_a_setting ... ok
[INFO] [stdout] test commands::config_command::tests::explain_says_when_a_setting_came_from_nowhere_but_the_defaults ... ok
[INFO] [stdout] test commands::config_command::tests::explaining_a_path_shows_the_overrides_that_apply_to_it ... ok
[INFO] [stdout] test commands::config_command::tests::init_overwrites_when_told_to ... ok
[INFO] [stdout] test commands::config_command::tests::init_refuses_to_overwrite_by_default ... ok
[INFO] [stdout] test commands::config_command::tests::init_that_cannot_be_written_says_which_file_it_could_not_write ... ok
[INFO] [stdout] test commands::config_command::tests::init_that_cannot_report_itself_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::config_command::tests::init_writes_a_file_that_the_tool_can_read_back ... ok
[INFO] [stdout] test commands::config_command::tests::omitted_config_paths_use_the_documented_defaults ... ok
[INFO] [stdout] test commands::config_command::tests::settings_nobody_can_read_are_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::config_command::tests::show_prints_every_setting ... ok
[INFO] [stdout] test commands::config_command::tests::show_reflects_the_configuration_file ... ok
[INFO] [stdout] test commands::dict::tests::a_dictionary_that_is_present_is_reported_with_its_files ... ok
[INFO] [stdout] test commands::dict::tests::a_missing_dictionary_leaves_the_shell_the_status_the_documentation_promises ... ok
[INFO] [stdout] test commands::dict::tests::a_missing_dictionary_lists_the_search_paths_that_were_tried ... ok
[INFO] [stdout] test commands::dict::tests::a_missing_dictionary_says_what_to_do_about_it ... ok
[INFO] [stdout] test commands::dict::tests::a_report_that_cannot_be_written_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::dict::tests::a_run_that_finds_no_dictionary_fails_rather_than_reporting_success ... ok
[INFO] [stdout] test commands::config_command::tests::extracting_an_absent_setting_is_an_explicit_test_failure - should panic ... ok
[INFO] [stdout] test commands::dict::tests::every_loaded_source_is_listed_with_its_origin ... ok
[INFO] [stdout] test commands::check::tests::filename_findings_are_file_level_when_a_later_content_line_changes ... ok
[INFO] [stdout] test commands::check::tests::listing_the_words_leaves_out_what_the_settings_would_not_look_at ... ok
[INFO] [stdout] test commands::dict::tests::opting_into_system_discovery_lists_the_automatic_directories ... ok
[INFO] [stdout] test commands::dict::tests::the_bundled_dictionary_is_labeled_and_system_discovery_is_reported_as_disabled ... ok
[INFO] [stdout] test commands::dict::tests::the_search_path_is_shown_on_request_even_when_a_dictionary_was_found ... ok
[INFO] [stdout] test commands::fix::tests::a_canonical_path_that_is_not_utf8_is_refused ... ok
[INFO] [stdout] test commands::dict::tests::an_offline_install_of_a_dictionary_that_is_not_present_fails_without_the_network ... ok
[INFO] [stdout] test commands::dict::tests::installing_a_language_that_is_not_in_the_catalog_names_the_ones_that_are ... ok
[INFO] [stdout] test commands::dict::tests::the_catalog_is_listed_with_its_licenses ... ok
[INFO] [stdout] test commands::check::tests::listing_the_words_of_a_file_that_cannot_be_read_costs_that_file_and_not_the_answer ... ok
[INFO] [stdout] test commands::check::tests::color_can_be_forced_when_console_output_is_not_a_terminal ... ok
[INFO] [stdout] test commands::fix::tests::a_conflicting_remembered_correction_is_refused_and_leaves_both_files_intact ... ok
[INFO] [stdout] test commands::check::tests::an_editorial_sic_suppresses_the_word_before_it_for_an_english_check ... ok
[INFO] [stdout] test commands::check::tests::command_line_settings_beat_the_configuration_file ... ok
[INFO] [stdout] test commands::fix::tests::a_correction_that_cannot_be_reported_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::fix::tests::a_diff_cannot_be_asked_for_interactively ... ok
[INFO] [stdout] test commands::check::tests::the_json_report_produces_a_document_a_program_can_read ... ok
[INFO] [stdout] test commands::check::tests::filename_and_content_findings_count_one_physical_file ... ok
[INFO] [stdout] test commands::check::tests::the_github_report_produces_one_workflow_annotation_per_finding ... ok
[INFO] [stdout] test commands::fix::tests::a_concurrent_correction_change_survives_a_rollback ... ok
[INFO] [stdout] test commands::fix::tests::a_diff_is_a_patch_and_changes_nothing ... ok
[INFO] [stdout] test commands::fix::tests::a_correction_file_changed_while_remembering_is_refused_without_clobbering ... ok
[INFO] [stdout] test commands::fix::tests::a_failed_persistence_is_not_counted_as_a_fix ... ok
[INFO] [stdout] test commands::check::tests::several_report_outputs_are_generated_by_one_check ... ok
[INFO] [stdout] test commands::check::tests::one_language_on_the_command_line_still_replaces_the_configured_one ... ok
[INFO] [stdout] test commands::check::tests::the_sarif_report_produces_a_log_a_code_scanning_service_can_ingest ... ok
[INFO] [stdout] test commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues ... FAILED
[INFO] [stdout] test commands::check::tests::the_junit_report_produces_xml_a_ci_viewer_can_read ... ok
[INFO] [stdout] test commands::fix::tests::a_custom_word_is_accepted_by_a_later_run_and_not_duplicated ... ok
[INFO] [stdout] test commands::fix::tests::a_correction_typed_by_hand_is_written ... ok
[INFO] [stdout] test commands::fix::tests::a_diff_names_files_relative_to_the_project_rather_than_to_this_machine ... ok
[INFO] [stdout] test commands::fix::tests::a_custom_word_is_offered_only_for_ordinary_spelling_findings ... ok
[INFO] [stdout] test commands::fix::tests::a_file_with_nothing_wrong_is_not_rewritten ... ok
[INFO] [stdout] test commands::fix::tests::a_diff_of_a_file_without_a_trailing_newline_still_applies ... ok
[INFO] [stdout] test commands::fix::tests::a_projects_own_corrections_file_is_honored_from_the_command_line ... ok
[INFO] [stdout] test commands::fix::tests::a_dry_run_simulates_a_session_only_correction_without_writing ... ok
[INFO] [stdout] test commands::fix::tests::a_dry_run_says_what_it_would_do_and_changes_nothing ... ok
[INFO] [stdout] test commands::fix::tests::a_known_misspelling_is_corrected_without_being_asked_about ... ok
[INFO] [stdout] test commands::fix::tests::a_file_that_is_not_text_costs_that_file_and_not_the_run ... ok
[INFO] [stdout] test commands::fix::tests::a_file_that_cannot_be_written_costs_that_file_and_not_the_run ... ok
[INFO] [stdout] test commands::fix::tests::a_diff_can_be_applied_and_gives_exactly_what_fixing_would_have_written ... ok
[INFO] [stdout] test commands::fix::tests::a_projects_replacement_file_is_honored_from_the_command_line ... ok
[INFO] [stdout] test commands::fix::tests::a_patch_that_cannot_be_written_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::fix::tests::a_suppressed_misspelling_is_not_fixed ... ok
[INFO] [stdout] test commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering ... FAILED
[INFO] [stdout] test commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction ... FAILED
[INFO] [stdout] test commands::fix::tests::a_source_cas_failure_rolls_back_a_correction_added_to_project_config ... ok
[INFO] [stdout] test commands::fix::tests::a_nested_correction_patch_uses_portable_paths_and_round_trips_through_in_diff ... ok
[INFO] [stdout] test commands::fix::tests::a_source_cas_failure_rolls_back_a_newly_remembered_correction ... ok
[INFO] [stdout] test commands::fix::tests::a_prompt_that_cannot_be_written_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::fix::tests::a_word_with_several_suggestions_is_left_alone_when_nobody_is_asked ... ok
[INFO] [stdout] test commands::fix::tests::an_interactive_fix_cannot_also_read_its_diff_from_standard_input ... ok
[INFO] [stdout] test commands::fix::tests::a_word_with_one_suggestion_is_corrected_in_place ... ok
[INFO] [stdout] test commands::fix::tests::a_typed_correction_that_is_blank_is_a_refusal_rather_than_a_deletion ... ok
[INFO] [stdout] test commands::fix::tests::an_explicit_ban_wins_when_the_dictionary_reports_the_same_span ... ok
[INFO] [stdout] test commands::fix::tests::adding_a_custom_word_without_a_word_file_uses_the_project_config ... ok
[INFO] [stdout] test commands::fix::tests::a_remembered_correction_is_seen_as_certain_by_a_later_run ... ok
[INFO] [stdout] test commands::fix::tests::always_applying_a_correction_corrects_later_occurrences_without_persisting ... ok
[INFO] [stdout] test commands::fix::tests::adding_a_custom_word_writes_it_and_suppresses_later_occurrences ... ok
[INFO] [stdout] test commands::fix::tests::edits_the_source_will_not_accept_are_reported_against_the_file_they_were_meant_for ... ok
[INFO] [stdout] test commands::fix::tests::a_dry_run_offers_neither_a_durable_custom_word_nor_a_saved_correction ... ok
[INFO] [stdout] test commands::fix::tests::an_unrelated_diff_is_an_error_rather_than_a_no_op_fix ... ok
[INFO] [stdout] test commands::fix::tests::asking_for_a_diff_of_a_clean_project_produces_no_patch ... ok
[INFO] [stdout] test commands::fix::tests::menu_keys_are_bold_green_only_when_color_is_enabled ... ok
[INFO] [stdout] test commands::fix::tests::always_skip_suppresses_the_same_word_for_the_rest_of_the_run ... ok
[INFO] [stdout] test commands::fix::tests::an_already_present_mapping_is_not_removed_when_the_source_fails ... ok
[INFO] [stdout] test commands::fix::tests::interactive_fixing_refuses_a_file_changed_while_answering ... ok
[INFO] [stdout] test commands::fix::tests::an_input_diff_corrects_changed_lines_and_leaves_the_rest_alone ... ok
[INFO] [stdout] test commands::fix::tests::an_interactive_choice_by_number_is_written ... ok
[INFO] [stdout] test commands::fix::tests::path_failures_keep_the_path_that_was_being_fixed ... ok
[INFO] [stdout] test commands::fix::tests::persisting_a_correction_appends_recognizes_duplicates_and_refuses_conflicts ... ok
[INFO] [stdout] test commands::fix::tests::applying_a_correction_once_leaves_later_occurrences_to_be_asked_about ... ok
[INFO] [stdout] test commands::fix::tests::backing_out_of_a_correction_returns_to_the_menu ... ok
[INFO] [stdout] test commands::fix::tests::an_interactive_answer_nobody_understands_is_a_refusal_rather_than_a_guess ... ok
[INFO] [stdout] test commands::fix::tests::an_unknown_correction_submenu_answer_backs_out_safely ... ok
[INFO] [stdout] test commands::fix::tests::an_interactive_skip_leaves_the_file_alone ... ok
[INFO] [stdout] test commands::fix::tests::replacement_failures_keep_the_user_facing_path ... ok
[INFO] [stdout] test commands::fix::tests::asking_for_a_diff_and_a_dry_run_together_is_a_redundancy_rather_than_a_mistake ... ok
[INFO] [stdout] test commands::fix::tests::the_bundled_corpus_can_be_turned_off_from_the_command_line ... ok
[INFO] [stdout] test commands::fix::tests::the_changing_host_has_ordinary_nonterminal_streams ... ok
[INFO] [stdout] test commands::fix::tests::an_answer_that_cannot_be_read_is_reported_as_a_failure_of_the_input_stream ... ok
[INFO] [stdout] test commands::layers::tests::a_named_config_without_a_directory_uses_the_current_directory_as_root ... ok
[INFO] [stdout] test commands::layers::tests::a_working_directory_that_is_no_longer_there_is_reported_rather_than_guessed_at ... ok
[INFO] [stdout] test commands::layers::tests::a_working_directory_that_is_not_text_is_refused_with_an_explanation ... ok
[INFO] [stdout] test commands::layers::tests::an_ambient_layer_marker_cannot_bypass_parent_orchestration ... ok
[INFO] [stdout] test commands::layers::tests::settings_in_a_cargo_manifest_are_one_of_the_layers ... ok
[INFO] [stdout] test commands::layers::tests::the_users_own_configuration_file_is_one_of_the_layers ... ok
[INFO] [stdout] test commands::outcome::tests::every_outcome_has_its_documented_literal_status ... ok
[INFO] [stdout] test commands::selection::tests::explicit_jobs_are_accepted_at_the_ceiling_and_rejected_above_it ... ok
[INFO] [stdout] test commands::selection::tests::nonempty_collection_flags_become_command_line_overrides ... ok
[INFO] [stdout] test commands::syntaxes::tests::a_list_that_cannot_be_written_is_an_error_naming_the_output_stream ... ok
[INFO] [stdout] test commands::check::tests::mixed_success_and_failure_runs_finish_each_report_then_return_tool_failure ... ok
[INFO] [stdout] test commands::syntaxes::tests::every_syntax_the_tool_knows_is_listed ... ok
[INFO] [stdout] test commands::syntaxes::tests::extensions_option_is_not_accepted ... ok
[INFO] [stdout] test commands::syntaxes::tests::the_list_is_sorted_so_a_person_can_scan_it ... ok
[INFO] [stdout] test commands::syntaxes::tests::output_has_an_aligned_header_and_extensions ... ok
[INFO] [stdout] test commands::vocab::tests::an_unknown_id_names_the_available_vocabularies ... ok
[INFO] [stdout] test commands::vocab::tests::the_catalog_is_listed_with_provenance_and_builtin_guidance ... ok
[INFO] [stdout] test commands::vocab::tests::offline_install_requires_the_cataloged_file_to_exist ... ok
[INFO] [stdout] test commands::fix::tests::quitting_leaves_the_files_after_this_one_alone ... ok
[INFO] [stdout] test commands::fix::tests::interactive_fixing_with_nobody_to_ask_changes_nothing ... ok
[INFO] [stdout] test commands::fix::tests::non_interactive_fixing_writes_through_a_symbolic_link ... ok
[INFO] [stdout] test commands::fix::tests::persisting_without_a_correction_file_uses_the_project_config ... ok
[INFO] [stdout] test commands::why::tests::a_correction_whose_file_has_gone_away_leaves_the_verdict_unattributed ... ok
[INFO] [stdout] test commands::fix::tests::quitting_leaves_every_later_misspelling_alone_too ... ok
[INFO] [stdout] test commands::fix::tests::link_fixes_replace_the_complete_target_on_every_link_shape ... ok
[INFO] [stdout] test commands::fix::tests::only_the_misspelled_bytes_change ... ok
[INFO] [stdout] test commands::fix::tests::nothing_but_the_patch_goes_to_the_output_stream ... ok
[INFO] [stdout] test commands::fix::tests::only_the_corrections_somebody_checked_are_written_when_certainty_is_asked_for ... ok
[INFO] [stdout] test commands::fix::tests::remembering_a_correction_persists_it_and_applies_it_to_later_occurrences ... ok
[INFO] [stdout] test commands::why::tests::a_correction_no_file_can_be_read_for_is_left_unattributed ... ok
[INFO] [stdout] test commands::why::tests::a_casing_the_word_list_decided_is_traced_to_the_word_list ... ok
[INFO] [stdout] test commands::fix::tests::several_corrections_in_one_file_are_all_written ... ok
[INFO] [stdout] test commands::why::tests::a_custom_vocabulary_is_searched_like_any_other ... ok
[INFO] [stdout] test commands::fix::tests::non_interactive_fix_modes_refuse_a_concurrently_changed_file ... ok
[INFO] [stdout] test commands::why::tests::a_forbidden_term_is_reported_and_traced_to_its_line ... ok
[INFO] [stdout] test commands::fix::tests::variant_reporting_counts_the_tree_before_fixing ... ok
[INFO] [stdout] test commands::fix::tests::remembering_a_mapping_that_already_exists_writes_nothing_but_still_corrects ... ok
[INFO] [stdout] test commands::why::tests::a_casing_only_the_dictionary_knows_is_traced_to_the_dictionary ... ok
[INFO] [stdout] test commands::why::tests::a_word_inheriting_a_model_is_traced_to_its_word_file_entry ... ok
[INFO] [stdout] test commands::why::tests::shared::forbidden_and_replacement_policies_each_render_to_a_hover ... ok
[INFO] [stdout] test commands::why::tests::shared::redaction_relativizes_project_paths_and_reduces_the_rest_to_a_name ... ok
[INFO] [stdout] test commit::tests::a_final_block_of_trailers_is_fields_rather_than_sentences ... ok
[INFO] [stdout] test commit::tests::a_message_that_is_nothing_but_trailers_is_still_checked ... ok
[INFO] [stdout] test commit::tests::a_paragraph_that_merely_begins_with_a_word_and_a_colon_is_prose ... ok
[INFO] [stdout] test commit::tests::a_trailer_block_is_only_the_last_one ... ok
[INFO] [stdout] test commit::tests::a_trailer_is_a_token_a_colon_and_a_value ... ok
[INFO] [stdout] test commit::tests::an_empty_message_produces_an_empty_body ... ok
[INFO] [stdout] test commit::tests::every_offset_survives_the_blanking ... ok
[INFO] [stdout] test commit::tests::everything_below_the_scissors_belongs_to_git ... ok
[INFO] [stdout] test commit::tests::git_s_own_comment_lines_are_not_prose ... ok
[INFO] [stdout] test commit::tests::the_message_a_person_wrote_is_what_is_checked ... ok
[INFO] [stdout] test config::config::tests::an_unknown_segment_name_lists_the_ones_that_exist ... ok
[INFO] [stdout] test config::config::tests::segment_names_map_to_kinds ... ok
[INFO] [stdout] test config::config::tests::the_defaults_carry_into_the_engine_policy ... ok
[INFO] [stdout] test config::config::tests::the_defaults_check_prose_and_comments_but_not_string_literals ... ok
[INFO] [stdout] test config::config::tests::the_policy_reflects_changed_settings ... ok
[INFO] [stdout] test config::file::tests::a_dedicated_configuration_file_beats_the_manifest_beside_it ... ok
[INFO] [stdout] test config::file::tests::a_file_is_read_and_parsed ... ok
[INFO] [stdout] test config::file::tests::a_language_that_is_neither_a_string_nor_a_list_is_rejected ... ok
[INFO] [stdout] test config::file::tests::a_malformed_file_names_the_file_and_the_problem ... ok
[INFO] [stdout] test config::file::tests::a_missing_file_is_reported_by_name ... ok
[INFO] [stdout] test config::file::tests::a_single_language_and_a_list_of_them_are_both_accepted ... ok
[INFO] [stdout] test config::file::tests::an_empty_language_list_is_reported_against_the_setting_that_holds_it ... ok
[INFO] [stdout] test config::file::tests::no_project_file_is_not_an_error ... ok
[INFO] [stdout] test config::file::tests::the_generated_template_is_a_valid_configuration ... ok
[INFO] [stdout] test config::file::tests::the_generated_template_mentions_every_setting ... ok
[INFO] [stdout] test config::file::tests::the_layers_of_a_run_come_from_the_home_and_project_directories ... ok
[INFO] [stdout] test config::file::tests::the_nearest_project_file_wins ... ok
[INFO] [stdout] test config::file::tests::the_project_file_is_found_from_a_subdirectory ... ok
[INFO] [stdout] test config::file::tests::the_project_file_is_found_in_the_starting_directory ... ok
[INFO] [stdout] test commands::why::tests::a_broken_output_stream_is_reported ... ok
[INFO] [stdout] test config::manifest::tests::a_manifest_that_cannot_be_read_is_reported_by_name ... ok
[INFO] [stdout] test config::manifest::tests::a_manifest_that_is_not_valid_toml_names_itself ... ok
[INFO] [stdout] test config::harness::tests::an_ambient_nested_marker_cannot_bypass_parent_orchestration ... ok
[INFO] [stdout] test config::manifest::tests::a_package_table_beats_the_workspace_table_above_it ... ok
[INFO] [stdout] test config::manifest::tests::a_manifest_with_nothing_to_say_contributes_no_layer ... ok
[INFO] [stdout] test config::manifest::tests::a_setting_a_manifest_invents_is_refused_like_one_in_a_configuration_file ... ok
[INFO] [stdout] test config::manifest::tests::both_tables_of_one_manifest_are_read_with_the_package_winning ... ok
[INFO] [stdout] test config::render::tests::inline_tables_escape_keys_values_and_arrays ... ok
[INFO] [stdout] test config::render::tests::strings_escape_every_toml_sensitive_character ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_forbidden_file_entry_with_internal_whitespace_is_refused ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_path_pattern_that_is_not_a_glob_is_reported_against_the_setting_that_holds_it ... ok
[INFO] [stdout] test config::manifest::tests::settings_written_in_a_cargo_manifest_are_a_layer_of_their_own ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_relative_path_from_the_command_line_is_left_as_it_was_typed ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_containing_a_line_break_is_rejected ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_file_row_missing_a_comma_names_the_expected_shape ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_file_row_naming_more_than_one_alternative_is_refused ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_file_row_with_an_empty_replacement_is_refused ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_file_that_does_not_exist_is_reported_as_an_io_error ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_naming_more_than_one_alternative_is_rejected ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_replacement_word_containing_whitespace_is_rejected ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_string_setting_is_explained_the_way_it_would_be_written_in_a_file ... ok
[INFO] [stdout] test config::resolve::layers::tests::all_matching_overrides_apply_above_later_base_layers_and_below_the_command_line ... ok
[INFO] [stdout] test config::resolve::layers::tests::an_explicit_sic_suppression_setting_overrides_the_language_default ... ok
[INFO] [stdout] test config::resolve::layers::tests::an_invalid_skip_pattern_inside_an_override_is_reported_when_layers_are_validated ... ok
[INFO] [stdout] test config::resolve::layers::tests::an_override_typed_at_the_command_line_has_no_file_to_name ... ok
[INFO] [stdout] test config::resolve::layers::tests::an_override_within_an_override_layer_still_names_the_file_it_was_written_in ... ok
[INFO] [stdout] test config::resolve::layers::tests::blank_lines_and_comments_in_a_replacement_file_are_skipped ... ok
[INFO] [stdout] test config::resolve::layers::tests::every_accumulating_setting_combines_lower_and_higher_layers ... ok
[INFO] [stdout] test config::resolve::layers::tests::explained_string_path_array_and_map_values_round_trip_through_configuration ... ok
[INFO] [stdout] test config::resolve::layers::tests::forbidden_terms_and_files_accumulate_across_layers ... ok
[INFO] [stdout] test config::resolve::layers::tests::malformed_replacement_rows_name_the_file_and_line ... ok
[INFO] [stdout] test config::resolve::layers::tests::malformed_replacements_name_the_setting ... ok
[INFO] [stdout] test config::resolve::layers::tests::project_word_file_ignores_layers_that_are_neither_a_project_nor_a_manifest ... ok
[INFO] [stdout] test config::resolve::layers::tests::project_word_file_refuses_an_absolute_path_outside_the_project ... ok
[INFO] [stdout] test config::resolve::layers::tests::replacement_files_merge_across_layers_and_the_later_entry_wins ... ok
[INFO] [stdout] test config::resolve::layers::tests::repository_auxiliary_paths_cannot_escape_the_project ... ok
[INFO] [stdout] test config::resolve::layers::tests::repository_auxiliary_paths_cannot_follow_a_symlink_outside ... ok
[INFO] [stdout] test config::resolve::layers::tests::sic_suppression_defaults_on_for_english_and_off_otherwise ... ok
[INFO] [stdout] test config::resolve::layers::tests::user_override_auxiliary_paths_keep_user_trust_while_project_overrides_are_confined ... ok
[INFO] [stdout] test config::resolve::layers::tests::vocabulary_maps_accumulate_and_higher_layers_win ... ok
[INFO] [stdout] test config::source::tests::generated_traits_and_path_behavior_cover_every_source_shape ... ok
[INFO] [stdout] test config::user::tests::a_personal_word_list_is_a_layer_of_its_own ... ok
[INFO] [stdout] test corrections::tests::a_non_english_configuration_selects_no_english_corpus ... ok
[INFO] [stdout] test corrections::tests::a_single_region_corrects_other_spellings_to_its_own ... ok
[INFO] [stdout] test corrections::tests::a_word_valid_in_a_configured_region_reports_no_regional_locale ... ok
[INFO] [stdout] test corrections::tests::australian_prefers_british_style_spellings ... ok
[INFO] [stdout] test corrections::tests::canadian_mixes_british_and_american_spellings ... ok
[INFO] [stdout] test commands::why::tests::a_word_in_the_project_list_is_traced_to_its_line ... ok
[INFO] [stdout] test corrections::tests::every_regional_row_is_well_formed ... ok
[INFO] [stdout] test corrections::tests::english_identifiers_are_recognized_however_they_are_written ... ok
[INFO] [stdout] test dictionary::measurement::measure_observed_multi_override_dictionary_reuse ... ignored, targeted dictionary cache measurement
[INFO] [stdout] test corrections::tests::mixed_regions_leave_variant_words_to_the_dictionaries ... ok
[INFO] [stdout] test dictionary::tests::a_dictionary_is_found_where_it_was_put ... ok
[INFO] [stdout] test dictionary::tests::a_dictionary_that_cannot_be_stamped_is_still_loaded_and_reported ... ok
[INFO] [stdout] test dictionary::tests::a_dictionary_that_changed_on_disk_is_parsed_again ... ok
[INFO] [stdout] test dictionary::tests::a_dictionary_that_vanished_between_locating_and_loading_is_reported_by_name ... ok
[INFO] [stdout] test dictionary::tests::a_directory_with_only_half_the_pair_is_not_a_dictionary ... ok
[INFO] [stdout] test dictionary::tests::a_located_dictionary_loads_and_answers_questions ... ok
[INFO] [stdout] test dictionary::tests::a_malformed_dictionary_is_reported_rather_than_panicking ... ok
[INFO] [stdout] test dictionary::tests::a_missing_dictionary_reports_every_directory_that_was_tried ... ok
[INFO] [stdout] test dictionary::tests::a_non_english_language_has_no_source_unless_one_is_provided ... ok
[INFO] [stdout] test dictionary::tests::a_second_load_of_the_same_dictionary_reuses_the_parse ... ok
[INFO] [stdout] test dictionary::tests::a_cache_a_panicking_thread_left_locked_remembers_nothing_rather_than_failing_the_run ... ok
[INFO] [stdout] test dictionary::tests::a_set_of_languages_is_cached_as_a_set_not_by_its_first_member ... ok
[INFO] [stdout] test dictionary::tests::an_explicit_path_listed_twice_is_loaded_once ... ok
[INFO] [stdout] test dictionary::tests::concurrent_observed_cold_loads_converge_on_one_cache_entry ... ok
[INFO] [stdout] test dictionary::tests::every_configured_language_is_loaded_in_order ... ok
[INFO] [stdout] test dictionary::tests::every_matching_pair_in_the_explicit_paths_is_loaded_not_only_the_first ... ok
[INFO] [stdout] test dictionary::tests::explicit_paths_are_active_even_when_system_discovery_is_off ... ok
[INFO] [stdout] test dictionary::tests::identical_pairs_reached_by_different_paths_are_loaded_once ... ok
[INFO] [stdout] test dictionary::tests::loading_no_sources_at_all_is_an_error_rather_than_an_empty_dictionary ... ok
[INFO] [stdout] test dictionary::tests::local_cache_does_not_interfere_with_other_tests ... ok
[INFO] [stdout] test dictionary::tests::non_utf8_standard_directories_are_skipped_and_an_unstamped_parse_is_not_cached ... ok
[INFO] [stdout] test dictionary::tests::observed_fingerprints_preserve_exact_byte_boundaries ... ok
[INFO] [stdout] test dictionary::tests::observed_loading_combines_every_language ... ok
[INFO] [stdout] test dictionary::tests::observed_loading_invalidates_when_consumed_bytes_change_even_if_metadata_does_not_help ... ok
[INFO] [stdout] test dictionary::tests::observed_loading_propagates_injected_and_hunspell_parser_errors ... ok
[INFO] [stdout] test dictionary::tests::observed_loading_rejects_an_empty_source_set ... ok
[INFO] [stdout] test dictionary::tests::observed_loading_reports_read_and_utf8_errors_by_exact_path ... ok
[INFO] [stdout] test dictionary::tests::observed_loading_reuses_the_parse_keyed_by_the_exact_consumed_bytes ... ok
[INFO] [stdout] test dictionary::tests::sources_are_ordered_explicit_then_embedded_then_automatic ... ok
[INFO] [stdout] test dictionary::tests::stamped_cache_invalidates_when_file_changes ... ok
[INFO] [stdout] test dictionary::tests::stamped_cache_reuse_across_distinct_sources_uses_local_cache ... ok
[INFO] [stdout] test dictionary::tests::the_binary_carries_a_dictionary_for_american_english_and_nothing_else ... ok
[INFO] [stdout] test commands::why::tests::a_word_the_dictionary_knows_names_the_dictionary ... ok
[INFO] [stdout] test dictionary::tests::the_cache_does_not_grow_without_bound ... ok
[INFO] [stdout] test dictionary::tests::the_embedded_dictionary_is_dropped_when_it_is_turned_off ... ok
[INFO] [stdout] test commands::why::tests::a_regional_correction_names_the_locale_that_selected_it ... ok
[INFO] [stdout] test dictionary::tests::the_first_directory_holding_the_dictionary_wins ... ok
[INFO] [stdout] test dictionary::tests::the_standard_locations_are_searched_when_system_discovery_is_on ... ok
[INFO] [stdout] test diff::tests::a_dash_path_reads_the_diff_from_the_real_standard_input ... ok
[INFO] [stdout] test diff::tests::a_diff_entry_naming_no_known_file_is_an_actionable_error ... ok
[INFO] [stdout] test diff::tests::a_diff_generated_from_the_parent_directory_is_matched_by_the_project_name ... ok
[INFO] [stdout] test diff::tests::a_no_newline_marker_inside_a_hunk_is_ignored ... ok
[INFO] [stdout] test diff::tests::a_plain_unified_diff_without_a_git_header_still_derives_its_prefix ... ok
[INFO] [stdout] test diff::tests::a_standard_input_read_failure_is_reported_as_an_io_error ... ok
[INFO] [stdout] test diff::tests::added_and_replacement_lines_are_selected ... ok
[INFO] [stdout] test diff::tests::added_lines_without_a_destination_file_are_ignored ... ok
[INFO] [stdout] test diff::tests::adjacent_and_overlapping_selected_lines_are_coalesced ... ok
[INFO] [stdout] test diff::tests::asymmetric_hunk_bodies_are_rejected ... ok
[INFO] [stdout] test diff::tests::both_diff_sources_enforce_the_same_byte_limit ... ok
[INFO] [stdout] test diff::tests::crlf_patch_syntax_keeps_standard_git_line_numbers ... ok
[INFO] [stdout] test diff::tests::current_line_progression_cannot_overflow ... ok
[INFO] [stdout] test diff::tests::custom_prefixes_and_paths_with_spaces_are_resolved ... ok
[INFO] [stdout] test diff::tests::identical_source_and_destination_headers_need_no_prefix_at_all ... ok
[INFO] [stdout] test diff::tests::lines_cannot_continue_after_a_hunk_or_use_invalid_utf8 ... ok
[INFO] [stdout] test diff::tests::malformed_file_header_transitions_are_rejected ... ok
[INFO] [stdout] test diff::tests::malformed_hunk_headers_are_rejected ... ok
[INFO] [stdout] test diff::tests::normalized_current_directory_paths_and_malformed_hunk_markers_are_handled ... ok
[INFO] [stdout] test diff::tests::only_files_with_current_changed_lines_survive ... ok
[INFO] [stdout] test diff::tests::plain_unified_diffs_support_verified_custom_prefixes ... ok
[INFO] [stdout] test diff::tests::standard_input_is_parsed_as_a_diff ... ok
[INFO] [stdout] test diff::tests::suffix_collisions_and_parent_paths_do_not_select_project_files ... ok
[INFO] [stdout] test diff::tests::truncated_hunks_cannot_consume_the_next_file_header ... ok
[INFO] [stdout] test discover::tests::a_file_named_on_the_command_line_is_checked_even_if_the_globs_would_exclude_it ... ok
[INFO] [stdout] test discover::tests::a_file_the_overrides_say_nothing_about_keeps_the_language_its_extension_names ... ok
[INFO] [stdout] test discover::tests::a_file_whose_extension_says_nothing_is_checked_when_an_override_names_its_language ... ok
[INFO] [stdout] test discover::tests::a_file_whose_name_is_not_text_is_skipped_rather_than_ending_the_walk ... ok
[INFO] [stdout] test dictionary::tests::the_bundled_dictionary_parses_as_a_dictionary ... ok
[INFO] [stdout] test discover::tests::a_language_name_is_matched_without_regard_to_case ... ok
[INFO] [stdout] test discover::tests::a_malformed_glob_names_the_setting_and_the_pattern ... ok
[INFO] [stdout] test discover::tests::a_missing_root_is_reported_rather_than_ignored ... ok
[INFO] [stdout] test commands::why::tests::a_projects_own_correction_is_traced_to_its_line_rather_than_to_the_bundle ... ok
[INFO] [stdout] test discover::tests::an_exclude_glob_is_matched_against_the_project_relative_path ... ok
[INFO] [stdout] test discover::tests::an_exclude_glob_wins_over_an_include_glob ... ok
[INFO] [stdout] test discover::tests::an_include_glob_is_matched_against_the_project_relative_path ... ok
[INFO] [stdout] test discover::tests::an_include_glob_narrows_the_walk_to_what_it_matches ... ok
[INFO] [stdout] test discover::tests::an_override_naming_a_language_the_tool_does_not_know_is_left_out ... ok
[INFO] [stdout] test discover::tests::an_override_corrects_a_language_the_extension_table_got_wrong ... ok
[INFO] [stdout] test discover::tests::an_override_written_as_a_glob_nobody_can_compile_is_left_out ... ok
[INFO] [stdout] test discover::tests::an_unreadable_directory_costs_that_directory_and_not_the_run ... ok
[INFO] [stdout] test discover::tests::files_in_languages_the_tool_knows_are_collected ... ok
[INFO] [stdout] test discover::tests::gitignored_files_are_checked_when_asked_for ... ok
[INFO] [stdout] test discover::tests::gitignored_files_are_skipped ... ok
[INFO] [stdout] test discover::tests::files_in_languages_the_tool_does_not_know_are_left_alone ... ok
[INFO] [stdout] test discover::tests::language_names_are_matched_case_insensitively_and_unknown_names_are_rejected ... ok
[INFO] [stdout] test commands::why::tests::an_inline_forbidden_term_is_traced_to_the_setting ... ok
[INFO] [stdout] test discover::tests::the_same_file_reached_twice_is_reported_once ... ok
[INFO] [stdout] test engine::tests::a_configuration_naming_no_language_at_all_is_rejected ... ok
[INFO] [stdout] test discover::tests::results_are_sorted_so_that_two_runs_agree ... ok
[INFO] [stdout] test discover::tests::hidden_directories_are_skipped_unless_asked_for ... ok
[INFO] [stdout] test dictionary::tests::an_unconfigured_english_run_reads_only_the_embedded_dictionary ... ok
[INFO] [stdout] test dictionary::tests::the_embedded_dictionary_is_observed_as_its_own_bytes_not_a_file ... ok
[INFO] [stdout] test commands::why::tests::an_inline_word_is_traced_to_the_setting_that_holds_it ... ok
[INFO] [stdout] test config::resolve::layers::tests::a_path_pattern_too_large_to_compile_is_reported_against_the_setting_that_holds_it ... ok
[INFO] [stdout] test commands::why::tests::an_inline_word_that_is_not_the_first_one_is_still_found ... ok
[INFO] [stdout] test engine::tests::an_invalid_bundled_domain_vocabulary_is_a_setting_error ... ok
[INFO] [stdout] test commands::why::tests::an_override_decides_which_answer_the_question_gets ... ok
[INFO] [stdout] test engine::tests::an_inline_correction_naming_no_alternative_at_all_is_rejected ... ok
[INFO] [stdout] test engine::tests::an_inline_correction_that_is_only_whitespace_is_still_refused_by_the_corpus ... ok
[INFO] [stdout] test error::tests::a_configuration_error_names_the_file ... ok
[INFO] [stdout] test error::tests::a_missing_dictionary_lists_every_directory_that_was_tried ... ok
[INFO] [stdout] test engine::tests::an_inline_correction_naming_more_than_one_alternative_with_a_comma_is_rejected ... ok
[INFO] [stdout] test error::tests::a_setting_error_names_the_setting_as_it_is_written ... ok
[INFO] [stdout] test error::tests::an_engine_error_is_reported_as_the_engine_phrased_it ... ok
[INFO] [stdout] test error::tests::an_error_that_explains_itself_offers_no_cause_to_chase ... ok
[INFO] [stdout] test error::tests::an_io_error_names_the_file_and_the_cause ... ok
[INFO] [stdout] test error::tests::io_errors_name_write_replace_and_output_operations ... ok
[INFO] [stdout] test findings_cache::tests::a_current_entry_with_only_a_newer_schema_version_is_healed ... ok
[INFO] [stdout] test findings_cache::tests::a_failed_entry_write_does_not_move_the_recorded_state ... ok
[INFO] [stdout] test findings_cache::tests::a_later_writer_repairs_state_left_stale_by_an_interrupted_process ... ok
[INFO] [stdout] test findings_cache::tests::a_path_that_is_neither_a_file_nor_a_directory_is_still_hashed ... ok
[INFO] [stdout] test findings_cache::tests::a_missing_link_target_still_produces_a_stable_key ... ok
[INFO] [stdout] test findings_cache::tests::a_spelling_entry_missing_its_segment_kind_is_rejected ... ok
[INFO] [stdout] test engine::tests::a_word_file_entry_with_internal_whitespace_names_the_file ... ok
[INFO] [stdout] test findings_cache::tests::a_v1_core_misspelling_entry_is_rejected_instead_of_reinterpreted ... ok
[INFO] [stdout] test findings_cache::tests::an_entry_within_max_entry_bytes_is_written ... ok
[INFO] [stdout] test findings_cache::tests::a_replacement_entry_is_never_evicted_to_make_room_for_itself ... ok
[INFO] [stdout] test findings_cache::tests::an_unknown_domain_vocabulary_is_reported_by_name ... ok
[INFO] [stdout] test findings_cache::tests::an_unreadable_affix_file_is_reported_as_an_io_error ... ok
[INFO] [stdout] test engine::tests::a_correction_file_whose_entries_do_not_survive_trimming_names_the_file ... ok
[INFO] [stdout] test findings_cache::tests::an_unreadable_dictionary_file_is_reported_as_an_io_error ... ok
[INFO] [stdout] test engine::tests::an_inline_word_with_internal_whitespace_is_rejected ... ok
[INFO] [stdout] test findings_cache::tests::an_entry_exceeding_max_entry_bytes_is_silently_dropped ... ok
[INFO] [stdout] test findings_cache::tests::an_unreadable_correction_file_is_reported_as_an_io_error ... ok
[INFO] [stdout] test findings_cache::tests::changing_a_view_invalidates_the_key ... ok
[INFO] [stdout] test findings_cache::tests::changed_vocabulary_misses_without_invalidating_the_old_entry ... ok
[INFO] [stdout] test findings_cache::tests::corrupt_cleanup_retains_a_concurrently_repaired_entry ... ok
[INFO] [stdout] test findings_cache::tests::dictionary_word_list_and_corpus_contents_invalidate_checker_inputs ... ok
[INFO] [stdout] test findings_cache::tests::corruption_is_removed_and_counted_before_it_can_be_served ... ok
[INFO] [stdout] test findings_cache::tests::entries_round_trip_without_changing_findings ... ok
[INFO] [stdout] test findings_cache::tests::entries_tag_each_domain_explicitly ... ok
[INFO] [stdout] test commands::why::tests::an_inline_correction_is_traced_to_the_setting_that_holds_it ... ok
[INFO] [stdout] test findings_cache::tests::eviction_rejects_non_utf8_entry_paths ... ok
[INFO] [stdout] test findings_cache::tests::get_reports_the_underlying_error_when_the_entry_cannot_be_read ... ok
[INFO] [stdout] test findings_cache::tests::eviction_reconciles_missing_entries_and_reports_unremovable_ones ... ok
[INFO] [stdout] test findings_cache::tests::invalid_dependency_paths_propagate_metadata_errors ... ok
[INFO] [stdout] test findings_cache::tests::link_target_state_invalidates_findings ... ok
[INFO] [stdout] test commands::why::tests::shared::every_verdict_kind_renders_to_a_hover_that_names_its_reason ... ok
[INFO] [stdout] test findings_cache::tests::observed_checker_fingerprint_preserves_validation_and_input_order ... ok
[INFO] [stdout] test findings_cache::tests::observed_input_framing_keeps_paths_and_byte_boundaries_distinct ... ok
[INFO] [stdout] test findings_cache::tests::opening_without_a_cache_directory_reports_unavailability ... ok
[INFO] [stdout] test discover::tests::a_glob_too_large_to_compile_is_reported_against_the_setting_it_came_from ... ok
[INFO] [stdout] test findings_cache::tests::an_unreadable_word_file_is_reported_as_an_io_error ... ok
[INFO] [stdout] test commands::why::tests::a_known_misspelling_is_traced_to_the_bundled_corpus ... ok
[INFO] [stdout] test findings_cache::tests::removing_a_corrupt_entry_that_cannot_be_unlinked_is_reported ... ok
[INFO] [stdout] test findings_cache::tests::removing_a_corrupt_entry_that_is_already_gone_is_not_an_error ... ok
[INFO] [stdout] test findings_cache::tests::source_path_and_resolved_configuration_all_invalidate_the_key ... ok
[INFO] [stdout] test findings_cache::tests::the_production_findings_cache_limits_are_pinned ... ok
[INFO] [stdout] test fix::tests::a_checked_answer_is_applied_even_when_only_those_will_do ... ok
[INFO] [stdout] test fix::tests::a_guess_is_not_applied_when_only_a_checked_answer_will_do ... ok
[INFO] [stdout] test findings_cache::tests::entry_count_is_bounded_and_evictions_are_instrumented ... ok
[INFO] [stdout] test fix::tests::a_remainder_that_cannot_be_taken_is_refused_rather_than_dropped ... ok
[INFO] [stdout] test fix::tests::a_replacement_of_a_different_length_moves_the_rest_of_the_file ... ok
[INFO] [stdout] test findings_cache::tests::replacement_pairs_syntax_overrides_and_corrections_each_invalidate_the_key ... ok
[INFO] [stdout] test fix::tests::a_single_suggestion_is_applied_without_asking ... ok
[INFO] [stdout] test fix::tests::a_span_that_no_longer_holds_its_word_is_refused ... ok
[INFO] [stdout] test fix::tests::a_span_that_splits_a_character_is_refused_rather_than_panicking ... ok
[INFO] [stdout] test fix::tests::a_word_with_no_suggestion_is_left_alone ... ok
[INFO] [stdout] test fix::tests::edits_are_applied_whatever_order_they_are_given_in ... ok
[INFO] [stdout] test fix::tests::edits_whose_spans_touch_are_not_overlapping ... ok
[INFO] [stdout] test fix::tests::every_refusal_says_which_bytes_it_is_about ... ok
[INFO] [stdout] test fix::tests::nothing_to_do_leaves_the_source_exactly_as_it_was ... ok
[INFO] [stdout] test fix::tests::one_edit_replaces_exactly_its_span ... ok
[INFO] [stdout] test fix::tests::overlapping_edits_are_refused ... ok
[INFO] [stdout] test fix::tests::several_suggestions_are_a_question_rather_than_a_correction ... ok
[INFO] [stdout] test host::tests::a_broken_host_accepts_what_it_was_given_room_for ... ok
[INFO] [stdout] test host::tests::a_broken_host_is_not_a_terminal_and_has_nobody_to_ask ... ok
[INFO] [stdout] test engine::tests::an_unknown_domain_vocabulary_names_what_is_available_instead ... ok
[INFO] [stdout] test host::tests::a_buffer_host_can_pretend_to_be_a_terminal ... ok
[INFO] [stdout] test host::tests::a_buffer_host_keeps_the_two_streams_apart ... ok
[INFO] [stdout] test host::tests::a_buffer_host_looks_like_a_pipe_by_default ... ok
[INFO] [stdout] test host::tests::writes_accumulate_in_order ... ok
[INFO] [stdout] test install::tests::a_changed_upstream_fails_the_install_without_writing ... ok
[INFO] [stdout] test fix::tests::a_refused_edit_leaves_every_other_edit_unapplied ... ok
[INFO] [stdout] test host::tests::a_broken_host_refuses_both_streams_once_its_budget_is_gone ... ok
[INFO] [stdout] test fix::tests::a_span_past_the_end_of_the_file_is_refused ... ok
[INFO] [stdout] test install::tests::aff_fetch_failure_leaves_no_generation_visible ... ok
[INFO] [stdout] test engine::tests::an_inline_correction_whose_typo_is_not_one_token_is_rejected ... ok
[INFO] [stdout] test install::tests::commit_and_read_active_generation_round_trips ... ok
[INFO] [stdout] test install::tests::a_verified_download_is_written_and_locked ... ok
[INFO] [stdout] test install::tests::a_dic_failure_after_aff_success_leaves_all_files_intact ... ok
[INFO] [stdout] test install::tests::a_reinstall_of_a_present_dictionary_fetches_nothing ... ok
[INFO] [stdout] test install::tests::generation_dir_names_are_deterministic_and_distinct ... ok
[INFO] [stdout] test install::tests::aff_verification_failure_leaves_old_generation_intact ... ok
[INFO] [stdout] test install::tests::dic_fetch_failure_leaves_old_generation_intact ... ok
[INFO] [stdout] test install::tests::direct_files_are_migrated_to_a_generation_directory ... ok
[INFO] [stdout] test install::tests::network_fetcher_curl_args_contain_max_filesize ... ok
[INFO] [stdout] test install::tests::network_fetcher_curl_args_contain_proto_https_only ... ok
[INFO] [stdout] test install::tests::network_fetcher_curl_args_contain_proto_redir_https_only ... ok
[INFO] [stdout] test install::tests::network_fetcher_curl_args_contain_max_time ... ok
[INFO] [stdout] test install::tests::network_fetcher_curl_args_fail_if_any_required_flag_is_absent ... ok
[INFO] [stdout] test install::tests::network_fetcher_rejects_plaintext_http ... ok
[INFO] [stdout] test install::tests::network_fetcher_rejects_ftp_scheme ... ok
[INFO] [stdout] test install::tests::concurrent_readers_always_see_a_complete_pair ... ok
[INFO] [stdout] test install::tests::generation_publication_failure_leaves_manifest_unchanged ... ok
[INFO] [stdout] test install::tests::network_fetcher_rejects_schemeless_url ... ok
[INFO] [stdout] test install::tests::read_active_generation_returns_none_without_a_manifest ... ok
[INFO] [stdout] test install::tests::resolve_pair_falls_back_to_direct_files ... ok
[INFO] [stdout] test install::tests::manifest_commit_failure_leaves_old_generation_visible ... ok
[INFO] [stdout] test install::tests::offline_installs_only_from_what_is_already_present ... ok
[INFO] [stdout] test links::tests::a_bracketed_phrase_that_is_not_a_link_keeps_its_text ... ok
[INFO] [stdout] test install::tests::offline_rejects_a_corrupted_installed_file ... ok
[INFO] [stdout] test links::tests::a_directory_target_has_no_nearby_file_suggestions ... ok
[INFO] [stdout] test links::tests::a_colon_after_a_non_scheme_character_remains_a_local_path ... ok
[INFO] [stdout] test install::tests::offline_with_legacy_direct_files_migrates_and_verifies ... ok
[INFO] [stdout] test links::tests::a_heading_inside_a_fence_is_not_a_heading ... ok
[INFO] [stdout] test links::tests::a_fragment_on_a_file_that_is_not_markdown_is_left_alone ... ok
[INFO] [stdout] test links::tests::a_heading_is_slugged_from_what_it_renders_to ... ok
[INFO] [stdout] test links::tests::a_headings_anchor_follows_the_rules_the_reader_will_be_using ... ok
[INFO] [stdout] test links::tests::a_lexically_normalized_link_to_the_current_directory_is_valid ... ok
[INFO] [stdout] test links::tests::a_heading_is_recognized_by_its_hashes_and_its_space ... ok
[INFO] [stdout] test links::tests::a_line_with_an_unclosed_link_does_not_swallow_the_rest_of_the_file ... ok
[INFO] [stdout] test links::tests::a_fenced_only_anchor_creates_a_missing_anchor_finding ... ok
[INFO] [stdout] test install::tests::resolve_pair_follows_the_manifest ... ok
[INFO] [stdout] test links::tests::a_link_through_an_escaping_symlink_is_refused ... ok
[INFO] [stdout] test links::tests::a_missing_file_is_offered_the_names_beside_it ... ok
[INFO] [stdout] test links::tests::a_name_far_from_everything_is_offered_nothing ... ok
[INFO] [stdout] test links::tests::a_link_to_a_file_that_is_not_there_is_reported ... ok
[INFO] [stdout] test links::tests::a_reference_definition_is_a_link_like_any_other ... ok
[INFO] [stdout] test install::tests::the_lock_records_the_directory_relative_to_itself ... ok
[INFO] [stdout] test links::tests::a_link_shown_in_code_is_not_a_link_being_made ... ok
[INFO] [stdout] test links::tests::a_repeated_heading_is_reachable_by_its_position ... ok
[INFO] [stdout] test links::tests::a_target_that_cannot_be_read_offers_no_anchors_rather_than_failing ... ok
[INFO] [stdout] test links::tests::a_title_and_angle_brackets_are_not_part_of_the_target ... ok
[INFO] [stdout] test links::tests::a_link_to_a_file_that_is_there_is_not_reported ... ok
[INFO] [stdout] test links::tests::an_absolute_url_is_never_looked_at ... ok
[INFO] [stdout] test links::tests::an_attribute_whose_quote_never_closes_is_not_an_anchor ... ok
[INFO] [stdout] test links::tests::an_anchor_that_the_target_does_not_have_is_reported ... ok
[INFO] [stdout] test links::tests::an_empty_reference_definition_target_is_ignored ... ok
[INFO] [stdout] test links::tests::an_escape_that_is_not_one_is_left_as_written ... ok
[INFO] [stdout] test links::tests::an_anchor_in_the_document_itself_is_resolved_against_the_text_in_hand ... ok
[INFO] [stdout] test links::tests::an_anchor_the_target_does_have_is_not_reported ... ok
[INFO] [stdout] test links::tests::an_explicit_anchor_inside_a_tilde_fence_is_ignored ... ok
[INFO] [stdout] test links::tests::both_spellings_of_an_explicit_anchor_are_read ... ok
[INFO] [stdout] test links::tests::an_explicit_anchor_inside_a_backtick_fence_is_ignored ... ok
[INFO] [stdout] test links::tests::markdown_read_failures_are_not_treated_as_unknown_anchors ... ok
[INFO] [stdout] test links::tests::metadata_failures_are_not_reported_as_missing_targets ... ok
[INFO] [stdout] test links::tests::cache_inputs_ignores_links_that_are_not_into_this_tree_and_pure_anchors ... ok
[INFO] [stdout] test links::tests::an_explicit_anchor_outside_a_fence_is_still_found ... ok
[INFO] [stdout] test links::tests::the_same_anchor_outside_a_fence_resolves ... ok
[INFO] [stdout] test path::tests::literal_backslashes_in_unix_components_are_preserved ... ok
[INFO] [stdout] test patterns::tests::a_file_matching_nothing_costs_no_second_pass ... ok
[INFO] [stdout] test links::tests::root_level_replacements_and_cache_inputs_need_no_parent_directory ... ok
[INFO] [stdout] test links::tests::target_specific_metadata_and_markdown_read_errors_are_local ... ok
[INFO] [stdout] test patterns::tests::a_pattern_that_is_not_a_regular_expression_names_itself_and_its_setting ... ok
[INFO] [stdout] test patterns::tests::a_pattern_covers_the_text_it_matches ... ok
[INFO] [stdout] test links::tests::an_absolute_target_inside_the_project_remains_valid ... ok
[INFO] [stdout] test patterns::tests::no_patterns_ignore_nothing ... ok
[INFO] [stdout] test links::tests::escaping_and_non_local_targets_are_refused_without_suggestions ... ok
[INFO] [stdout] test persist::tests::a_failed_replacement_preserves_the_old_file ... ok
[INFO] [stdout] test persist::tests::a_filesystem_root_is_its_own_destination_identity ... ok
[INFO] [stdout] test persist::tests::a_missing_user_cache_uses_a_secure_external_fallback_lock ... ok
[INFO] [stdout] test patterns::tests::every_pattern_contributes_its_matches ... ok
[INFO] [stdout] test persist::tests::a_pre_commit_failure_preserves_the_old_file ... ok
[INFO] [stdout] test persist::tests::a_change_at_the_last_precommit_hook_is_not_overwritten ... ok
[INFO] [stdout] test persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory ... FAILED
[INFO] [stdout] test persist::tests::an_inaccessible_configured_cache_uses_the_same_fallback_namespace_as_no_cache ... ok
[INFO] [stdout] test persist::tests::a_read_only_configured_lock_path_falls_back_securely ... FAILED
[INFO] [stdout] test persist::tests::an_unusable_temporary_directory_reports_its_open_error ... ok
[INFO] [stdout] test persist::tests::destination_identity_folds_only_on_case_insensitive_unix_filesystems ... ok
[INFO] [stdout] test persist::tests::destination_identity_propagates_invalid_path_errors ... ok
[INFO] [stdout] test persist::tests::atomic_create_failure_leaves_no_destination_or_staged_file ... ok
[INFO] [stdout] test persist::tests::compare_before_replace_reports_a_missing_destination ... ok
[INFO] [stdout] test findings_cache::tests::independent_entries_can_be_read_concurrently_without_changing_statistics ... ok
[INFO] [stdout] test persist::tests::exhausting_sibling_names_is_an_explicit_error ... ok
[INFO] [stdout] test persist::tests::existing_case_aliases_share_a_lock_identity ... ok
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test persist::tests::atomic_replace_failure_preserves_destination_and_cleans_up ... ok
[INFO] [stdout] test persist::tests::fallback_lock_directory_rejects_a_symlinked_namespace ... ok
[INFO] [stdout] test persist::tests::exclusive_creation_preserves_a_competing_destination ... ok
[INFO] [stdout] test persist::tests::lock_open_and_acquisition_failures_are_propagated_exactly ... ok
[INFO] [stdout] test persist::tests::nonexistent_case_aliases_share_a_lock_hash_on_case_insensitive_filesystems ... ok
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test persist::tests::non_failing_atomic_operation_wrappers_delegate_to_the_platform ... ok
[INFO] [stdout] test persist::tests::external_destination_locks_serialize_processes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1038 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] test persist::tests::permission_metadata_errors_are_not_treated_as_an_absent_destination ... ok
[INFO] [stdout] test persist::tests::private_lock_ownership_uses_the_effective_user_not_the_destination_owner ... ok
[INFO] [stdout] test persist::tests::external_destination_locks_serialize_processes ... ok
[INFO] [stdout] test persist::tests::replacing_a_directory_reports_the_commit_failure ... ok
[INFO] [stdout] test persist::tests::staged_flush_and_sync_failures_preserve_and_clean_up ... ok
[INFO] [stdout] test persist::tests::replacement_preserves_unix_permissions ... ok
[INFO] [stdout] test profile::tests::a_fixed_profile_answers_the_same_for_every_path ... ok
[INFO] [stdout] test profile::tests::a_failed_build_wakes_waiters_and_the_key_can_be_retried ... ok
[INFO] [stdout] test profile::tests::a_path_is_made_relative_to_the_root_before_it_is_matched ... ok
[INFO] [stdout] test profile::tests::a_path_outside_the_root_is_left_as_it_is ... ok
[INFO] [stdout] test persist::tests::fallback_locks_from_an_inaccessible_cache_serialize_processes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1038 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] test profile::tests::a_panicking_build_wakes_waiters_and_the_key_can_be_retried ... ok
[INFO] [stdout] test profile::tests::a_settings_cache_a_panicking_thread_left_locked_is_reported_rather_than_panicking_again ... ok
[INFO] [stdout] test profile::tests::an_invalid_skip_pattern_is_held_and_reported_when_the_ignores_are_asked_for ... ok
[INFO] [stdout] test profile::tests::an_override_applies_to_the_files_it_names_and_no_others ... ok
[INFO] [stdout] test persist::tests::fallback_locks_from_an_inaccessible_cache_serialize_processes ... ok
[INFO] [stdout] test profile::tests::checker_fingerprint_uses_the_exact_bytes_observed_during_construction ... ok
[INFO] [stdout] test profile::tests::build_flights_wake_waiters_with_ready_and_retry_outcomes ... ok
[INFO] [stdout] test persist::tests::every_persistence_entrypoint_waits_for_the_destination_lock ... ok
[INFO] [stdout] test profile::tests::checkers_are_interned_by_matched_override_set ... ok
[INFO] [stdout] test profile::tests::fast_resolution_matches_the_provenance_path_and_interns_each_override_set ... ok
[INFO] [stdout] test profile::tests::identical_override_keys_have_one_builder ... ok
[INFO] [stdout] test profile::tests::malformed_override_selector_errors_are_compiled_once_and_replayed_per_path ... ok
[INFO] [stdout] test project_root::tests::a_symlink_cannot_escape_the_project ... ok
[INFO] [stdout] test project_root::tests::constructor_and_normalization_error_paths_are_reported ... ok
[INFO] [stdout] test project_root::tests::parent_absolute_and_windows_network_paths_are_refused ... ok
[INFO] [stdout] test project_root::tests::relative_and_absolute_paths_inside_the_project_are_allowed ... ok
[INFO] [stdout] test report::finding::tests::link_findings_use_prose_as_the_legacy_segment_kind ... ok
[INFO] [stdout] test profile::tests::distinct_override_keys_build_concurrently ... ok
[INFO] [stdout] test report::finding::tests::reasons_display_their_stable_report_names ... ok
[INFO] [stdout] test report::github::tests::a_capitalization_finding_is_titled_as_one ... ok
[INFO] [stdout] test persist::tests::public_persistence_helpers_cover_create_replace_and_compare ... ok
[INFO] [stdout] test profile::tests::concurrent_path_priming_turns_a_worker_panic_into_an_error ... ok
[INFO] [stdout] test report::github::tests::a_broken_link_and_a_dangling_anchor_are_titled_as_themselves ... ok
[INFO] [stdout] test report::github::tests::a_comma_or_colon_in_a_path_does_not_end_the_property_early ... ok
[INFO] [stdout] test patterns::tests::a_pattern_the_set_will_not_hold_still_works_one_at_a_time ... ok
[INFO] [stdout] test report::github::tests::a_file_with_nothing_wrong_produces_nothing_at_all ... ok
[INFO] [stdout] test report::github::tests::a_file_outside_the_repository_keeps_the_path_it_was_named_by ... ok
[INFO] [stdout] test report::github::tests::a_forbidden_term_is_titled_as_one_and_offers_nothing ... ok
[INFO] [stdout] test report::github::tests::a_finding_with_nothing_to_suggest_says_only_what_is_wrong ... ok
[INFO] [stdout] test report::github::tests::a_known_misspelling_is_titled_as_a_typo_and_names_its_correction ... ok
[INFO] [stdout] test report::github::tests::a_known_misspelling_of_two_words_offers_both_and_chooses_neither ... ok
[INFO] [stdout] test report::github::tests::a_failure_that_cannot_be_written_says_so ... ok
[INFO] [stdout] test report::github::tests::a_file_that_could_not_be_read_is_annotated_as_an_error_rather_than_a_warning ... ok
[INFO] [stdout] test report::github::tests::a_unix_filename_with_backslashes_is_not_rewritten ... ok
[INFO] [stdout] test report::github::tests::a_finding_becomes_one_annotation_naming_the_file_line_and_columns ... ok
[INFO] [stdout] test report::github::tests::a_replacement_is_titled_and_names_what_to_use_instead ... ok
[INFO] [stdout] test report::github::tests::annotation_fields_escape_terminal_and_bidirectional_controls ... ok
[INFO] [stdout] test report::github::tests::every_annotation_is_exactly_one_line ... ok
[INFO] [stdout] test report::github::tests::the_percent_sign_is_escaped_before_anything_that_uses_it ... ok
[INFO] [stdout] test report::json::tests::a_forbidden_term_is_reported_with_its_reason_and_no_suggestions ... ok
[INFO] [stdout] test report::junit::tests::a_clean_file_is_one_passing_case ... ok
[INFO] [stdout] test report::junit::tests::a_document_that_cannot_be_written_says_so ... ok
[INFO] [stdout] test report::github::tests::a_word_spelled_two_ways_is_annotated_as_a_variant ... ok
[INFO] [stdout] test report::junit::tests::a_file_that_could_not_be_checked_is_an_error_case ... ok
[INFO] [stdout] test report::junit::tests::a_finding_becomes_a_failed_case_in_a_suite_named_for_its_file ... ok
[INFO] [stdout] test report::github::tests::an_annotation_that_cannot_be_written_says_so ... ok
[INFO] [stdout] test report::github::tests::literal_control_escape_text_is_not_mistaken_for_a_line_break ... ok
[INFO] [stdout] test report::junit::tests::a_spool_failure_prevents_a_falsely_complete_document ... ok
[INFO] [stdout] test report::json::tests::every_spill_failure_prevents_a_falsely_complete_json_document ... ok
[INFO] [stdout] test report::junit::tests::escaping_covers_every_predefined_entity ... ok
[INFO] [stdout] test report::junit::tests::suites_survive_spilling_to_disk ... ok
[INFO] [stdout] test report::sanitize::tests::controls_are_visible_and_tabs_can_be_retained ... ok
[INFO] [stdout] test report::sarif::tests::a_capitalization_finding_is_reported_under_its_own_rule ... ok
[INFO] [stdout] test report::sarif::tests::a_dangling_anchor_is_reported_under_its_own_rule ... ok
[INFO] [stdout] test report::junit::tests::the_document_parses_as_xml_and_escapes_markup_and_controls ... ok
[INFO] [stdout] test report::junit::tests::the_filename_and_content_checks_of_one_path_share_one_suite ... ok
[INFO] [stdout] test report::sarif::tests::a_broken_link_is_reported_under_its_own_rule ... ok
[INFO] [stdout] test report::sarif::tests::a_finding_points_at_a_repository_relative_path_and_a_one_based_region ... ok
[INFO] [stdout] test report::sarif::tests::a_file_with_nothing_wrong_contributes_no_results ... ok
[INFO] [stdout] test report::sarif::tests::a_file_that_could_not_be_read_is_a_notification_rather_than_a_result ... ok
[INFO] [stdout] test report::sarif::tests::a_finding_with_no_suggestion_offers_no_fix_either ... ok
[INFO] [stdout] test report::sarif::tests::a_fingerprint_ignores_the_indentation_of_the_line_it_came_from ... ok
[INFO] [stdout] test report::sarif::tests::a_fingerprint_tells_two_different_words_apart ... ok
[INFO] [stdout] test report::sarif::tests::a_finding_with_several_suggestions_offers_no_fix_at_all ... ok
[INFO] [stdout] test report::sarif::tests::a_known_misspelling_of_two_words_offers_both_in_its_message_and_no_fix ... ok
[INFO] [stdout] test report::sarif::tests::a_fingerprint_survives_the_finding_moving_down_the_file ... ok
[INFO] [stdout] test report::sarif::tests::a_misspelling_with_nothing_to_suggest_says_only_what_is_wrong ... ok
[INFO] [stdout] test report::sarif::tests::a_region_is_measured_in_characters_rather_than_bytes ... ok
[INFO] [stdout] test report::sarif::tests::a_finding_with_one_suggestion_carries_a_fix_the_reviewer_can_apply ... ok
[INFO] [stdout] test report::sarif::tests::a_log_that_cannot_be_written_says_so ... ok
[INFO] [stdout] test report::sarif::tests::a_forbidden_term_is_reported_under_its_own_rule_with_no_fix ... ok
[INFO] [stdout] test report::sarif::tests::a_run_that_found_nothing_still_produces_a_log ... ok
[INFO] [stdout] test report::sarif::tests::a_replacement_less_ban_has_no_sarif_replacement ... ok
[INFO] [stdout] test report::sarif::tests::a_replacement_is_reported_under_its_own_rule ... ok
[INFO] [stdout] test report::sarif::tests::a_known_misspelling_with_one_correction_is_reported_under_its_rule_and_can_be_fixed ... ok
[INFO] [stdout] test report::sarif::tests::an_incomplete_run_is_marked_unsuccessful ... ok
[INFO] [stdout] test report::sarif::tests::each_reason_indexes_the_rule_that_describes_it ... ok
[INFO] [stdout] test report::sarif::tests::fingerprints_are_pinned_to_the_values_already_published ... ok
[INFO] [stdout] test report::sarif::tests::nothing_is_written_until_the_report_is_finished ... ok
[INFO] [stdout] test report::sarif::tests::a_word_spelled_two_ways_is_reported_under_its_own_rule ... ok
[INFO] [stdout] test report::sarif::tests::every_kind_of_finding_is_declared_as_a_rule_before_any_result_refers_to_one ... ok
[INFO] [stdout] test report::sarif::tests::the_driver_says_what_produced_the_log_and_which_version_of_it ... ok
[INFO] [stdout] test report::sarif::tests::the_log_names_the_schema_and_version_a_consumer_checks_for ... ok
[INFO] [stdout] test report::sarif::tests::the_message_of_a_misspelling_carries_the_word_and_what_to_write_instead ... ok
[INFO] [stdout] test report::sarif::tests::two_identical_findings_in_one_file_stay_two_findings ... ok
[INFO] [stdout] test report::spool::tests::a_zero_length_file_write_is_reported_as_write_zero ... ok
[INFO] [stdout] test report::spool::tests::default_and_pretty_writing_cover_empty_and_unterminated_output ... ok
[INFO] [stdout] test report::spool::tests::a_failure_while_flushing_a_large_first_entry_rolls_back_the_frame ... ok
[INFO] [stdout] test report::spool::tests::entry_writer_guards_and_flush_paths_are_explicit ... ok
[INFO] [stdout] test report::spool::tests::disk_serialization_failures_roll_back_partial_frames_and_preserve_io_errors ... ok
[INFO] [stdout] test report::spool::tests::every_disk_operation_failure_is_exact_and_removes_the_spill ... ok
[INFO] [stdout] test report::spool::tests::serialization_and_missing_cache_directory_failures_are_reported ... ok
[INFO] [stdout] test report::sarif::tests::every_spill_failure_prevents_a_falsely_complete_sarif_log ... ok
[INFO] [stdout] test report::sarif::tests::the_run_carries_the_totals_a_person_reading_the_log_would_want ... ok
[INFO] [stdout] test report::spool::tests::spilling_preserves_entries_already_buffered_in_memory ... ok
[INFO] [stdout] test report::text::tests::a_broken_link_is_reported_as_a_link_rather_than_as_a_word ... ok
[INFO] [stdout] test report::spool::tests::malformed_and_split_frames_report_exact_replay_behavior ... ok
[INFO] [stdout] test report::spool::tests::spilling_bounds_retained_memory_and_preserves_entry_order ... ok
[INFO] [stdout] test report::spool::tests::successful_sync_before_replay_preserves_the_array ... ok
[INFO] [stdout] test report::text::tests::a_clean_run_says_what_it_looked_at ... ok
[INFO] [stdout] test report::text::tests::a_capitalization_finding_says_so_rather_than_blaming_the_dictionary ... ok
[INFO] [stdout] test report::text::tests::a_dangling_anchor_says_the_file_is_there_and_the_anchor_is_not ... ok
[INFO] [stdout] test report::text::tests::a_file_that_could_not_be_read_is_a_warning_on_the_error_stream ... ok
[INFO] [stdout] test report::text::tests::a_finding_names_the_word_the_file_and_the_position ... ok
[INFO] [stdout] test report::text::tests::a_finding_shows_the_offending_line ... ok
[INFO] [stdout] test report::text::tests::a_forbidden_term_says_it_is_forbidden_and_offers_no_fix ... ok
[INFO] [stdout] test report::text::tests::a_known_misspelling_names_the_correction_it_is_a_misspelling_of ... ok
[INFO] [stdout] test report::text::tests::a_known_misspelling_of_two_words_offers_both_and_chooses_neither ... ok
[INFO] [stdout] test report::text::tests::a_line_with_a_tab_keeps_the_underline_aligned ... ok
[INFO] [stdout] test report::text::tests::a_replacement_names_what_to_use_instead ... ok
[INFO] [stdout] test report::text::tests::a_finding_whose_line_cannot_be_found_is_still_reported ... ok
[INFO] [stdout] test findings_cache::tests::readers_never_observe_partial_entries_while_a_writer_replaces_them ... ok
[INFO] [stdout] test report::text::tests::a_word_spelled_two_ways_says_which_spelling_the_project_uses_more ... ok
[INFO] [stdout] test report::text::tests::a_word_with_no_suggestions_says_so_rather_than_showing_an_empty_list ... ok
[INFO] [stdout] test report::text::tests::a_spelling_reported_only_twice_is_not_summarized ... ok
[INFO] [stdout] test report::text::tests::a_run_with_findings_counts_them ... ok
[INFO] [stdout] test report::text::tests::color_is_only_used_when_the_host_allows_it ... ok
[INFO] [stdout] test report::text::tests::an_output_failure_while_writing_the_finding_summary_is_propagated ... ok
[INFO] [stdout] test report::text::tests::equally_frequent_misspellings_are_sorted_by_word ... ok
[INFO] [stdout] test report::text::tests::an_output_failure_while_writing_the_frequency_table_is_propagated ... ok
[INFO] [stdout] test report::text::tests::incomplete_runs_include_failures_in_clean_and_finding_summaries ... ok
[INFO] [stdout] test report::text::tests::one_of_something_is_not_pluralised ... ok
[INFO] [stdout] test report::text::tests::output_that_stops_after_the_heading_is_reported_rather_than_swallowed ... ok
[INFO] [stdout] test report::text::tests::repeated_spellings_and_typos_are_summarized_with_their_first_file ... ok
[INFO] [stdout] test report::text::tests::replacements_do_not_count_as_misspellings ... ok
[INFO] [stdout] test report::text::tests::source_controls_are_visible_without_moving_a_tab_aligned_underline ... ok
[INFO] [stdout] test report::text::tests::suggestions_are_offered ... ok
[INFO] [stdout] test report::text::tests::the_underline_sits_under_the_word ... ok
[INFO] [stdout] test report::text::tests::wide_and_combining_characters_use_their_terminal_display_width ... ok
[INFO] [stdout] test report::uri::tests::a_file_outside_the_repository_keeps_its_absolute_path_as_a_file_uri ... ok
[INFO] [stdout] test report::uri::tests::a_space_in_a_path_is_encoded_rather_than_written_literally ... ok
[INFO] [stdout] test report::uri::tests::separators_survive_encoding_and_everything_else_does_not ... ok
[INFO] [stdout] test report::uri::tests::unreserved_characters_are_left_alone ... ok
[INFO] [stdout] test report::uri::tests::a_file_inside_the_repository_is_named_relative_to_it ... ok
[INFO] [stdout] test run::tests::a_broken_link_in_a_markdown_file_is_reported_beside_the_misspellings ... ok
[INFO] [stdout] test report::text::tests::output_that_stops_before_the_underline_is_reported_rather_than_swallowed ... ok
[INFO] [stdout] test report::text::tests::a_file_with_nothing_wrong_prints_nothing ... ok
[INFO] [stdout] test report::text::tests::a_position_beyond_the_file_still_reports_something_useful ... ok
[INFO] [stdout] test run::tests::a_clean_run_still_finishes_the_report ... ok
[INFO] [stdout] test run::tests::a_changed_cache_key_prevents_a_new_result_from_being_stored ... ok
[INFO] [stdout] test run::tests::a_correctly_spelled_file_name_is_reported_as_nothing_at_all ... ok
[INFO] [stdout] test run::tests::a_directive_leaves_the_lines_it_does_not_cover_alone ... ok
[INFO] [stdout] test run::tests::a_caught_file_name_panic_cannot_leak_scratch_findings_to_the_next_file ... ok
[INFO] [stdout] test run::tests::a_caught_content_panic_cannot_leak_scratch_findings_to_the_next_file ... ok
[INFO] [stdout] test run::tests::a_directive_naming_a_word_still_reports_the_others ... ok
[INFO] [stdout] test report::spool::tests::the_production_spool_spills_only_above_256_kib ... ok
[INFO] [stdout] test run::tests::a_directive_withdraws_a_finding_on_its_own_line ... ok
[INFO] [stdout] test run::tests::a_directive_works_in_markdown_where_every_line_is_prose ... ok
[INFO] [stdout] test run::tests::a_directive_works_in_a_language_other_than_rust ... ok
[INFO] [stdout] test run::tests::a_file_is_read_and_checked_from_disk ... ok
[INFO] [stdout] test run::tests::a_file_that_is_not_utf8_is_a_failure_rather_than_a_panic ... ok
[INFO] [stdout] test run::tests::a_file_name_finding_never_reaches_the_text_of_the_file ... ok
[INFO] [stdout] test run::tests::a_filename_finding_propagates_reporter_output_failure ... ok
[INFO] [stdout] test run::tests::a_file_whose_settings_cannot_be_resolved_is_reported_like_an_unreadable_one ... ok
[INFO] [stdout] test run::tests::a_directive_withdraws_a_broken_link_as_it_withdraws_a_misspelling ... ok
[INFO] [stdout] test run::tests::a_finding_remembers_which_kind_of_text_it_came_from ... ok
[INFO] [stdout] test run::tests::a_lowercase_replacement_covers_every_casing_and_a_capitalized_one_does_not ... ok
[INFO] [stdout] test run::tests::a_cache_hit_is_rechecked_normally_when_its_inputs_change ... ok
[INFO] [stdout] test run::tests::a_link_is_left_alone_when_the_setting_is_off_and_when_the_file_is_not_markdown ... ok
[INFO] [stdout] test run::tests::a_file_is_checked_as_the_language_an_override_names ... ok
[INFO] [stdout] test run::tests::a_name_that_cannot_be_read_from_the_path_is_not_checked ... ok
[INFO] [stdout] test run::tests::a_next_line_directive_reaches_the_comment_below_it ... ok
[INFO] [stdout] test run::tests::a_misspelling_in_a_comment_is_found ... ok
[INFO] [stdout] test run::tests::a_markdown_file_is_checked_throughout ... ok
[INFO] [stdout] test run::tests::a_misspelled_file_name_is_reported_when_asked_for ... ok
[INFO] [stdout] test run::tests::a_pair_the_dictionary_does_not_know_both_halves_of_is_not_a_variant ... ok
[INFO] [stdout] test run::tests::a_policy_replacement_is_reported_even_when_the_word_is_spelled_correctly ... ok
[INFO] [stdout] test run::tests::a_reader_that_grows_beyond_the_limit_is_rejected ... ok
[INFO] [stdout] test run::tests::a_replacement_obeys_an_ignore_directive_like_any_other_finding ... ok
[INFO] [stdout] test run::tests::a_region_directive_covers_the_comments_between_its_ends ... ok
[INFO] [stdout] test run::tests::a_run_whose_output_stream_is_closed_stops_rather_than_carrying_on_writing ... ok
[INFO] [stdout] test run::tests::a_poisoned_cache_writer_falls_back_when_storing ... ok
[INFO] [stdout] test run::tests::a_tree_that_spells_every_word_one_way_is_left_alone ... ok
[INFO] [stdout] test run::tests::a_panicking_parallel_file_becomes_a_named_failure ... ok
[INFO] [stdout] test run::tests::a_variant_inside_an_ignored_pattern_is_not_reported ... ok
[INFO] [stdout] test run::tests::an_initial_cache_fingerprint_error_falls_back_to_checking ... ok
[INFO] [stdout] test run::tests::a_run_reports_every_file_and_totals_them ... ok
[INFO] [stdout] test run::tests::a_word_only_partly_inside_an_ignored_stretch_is_still_ignored ... ok
[INFO] [stdout] test run::tests::a_word_the_tree_spells_two_ways_is_reported_as_the_spelling_it_uses_less ... ok
[INFO] [stdout] test run::tests::a_variant_the_file_suppresses_is_not_reported ... ok
[INFO] [stdout] test run::tests::an_unavailable_cache_error_is_propagated_when_stderr_is_closed ... ok
[INFO] [stdout] test run::tests::an_unavailable_cache_is_reported_and_checking_continues ... ok
[INFO] [stdout] test run::tests::batch_planning_respects_both_count_and_byte_limits ... ok
[INFO] [stdout] test run::tests::a_worker_stops_when_its_result_receiver_disconnects ... ok
[INFO] [stdout] test run::tests::cache_revalidation_distinguishes_changes_and_errors_before_and_after_checking ... ok
[INFO] [stdout] test run::tests::cache_corruption_and_io_failures_fall_back_to_normal_checking ... ok
[INFO] [stdout] test run::tests::code_outside_the_comments_is_not_checked ... ok
[INFO] [stdout] test run::tests::count_suffixes_distinguish_one_from_every_other_count ... ok
[INFO] [stdout] test run::tests::disconnected_worker_channels_report_which_side_stopped ... ok
[INFO] [stdout] test run::tests::checking_contexts_clone_their_borrowed_state ... ok
[INFO] [stdout] test run::tests::an_unreadable_file_in_a_parallel_run_still_leaves_the_others_reported ... ok
[INFO] [stdout] test run::tests::findings_point_at_the_word_in_the_original_file ... ok
[INFO] [stdout] test run::tests::an_oversized_file_is_a_named_failure_instead_of_an_unbounded_read ... ok
[INFO] [stdout] test run::tests::an_invalid_link_target_is_reported_without_failing_the_document ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_ignores_pairs_the_dictionary_does_not_know ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_is_clean_when_all_words_are_spelled_one_way ... ok
[INFO] [stdout] test commands::why::tests::each_rule_that_skips_a_word_says_which_setting_it_was ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_is_disabled_when_variants_are_not_requested ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_matches_pre_computed_vocabulary_findings ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_respects_ignored_patterns ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_respects_suppression_directives ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_handles_unreadable_files_without_losing_tallies ... ok
[INFO] [stdout] test run::tests::an_unreadable_file_does_not_stop_the_run ... ok
[INFO] [stdout] test run::tests::invalid_file_skip_patterns_are_reported ... ok
[INFO] [stdout] test run::tests::invalid_resolved_skip_patterns_are_reported ... ok
[INFO] [stdout] test run::tests::issue_1_fused_pipeline_bypasses_cache_to_avoid_stale_segments ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_preserves_spelling_findings_alongside_variants ... ok
[INFO] [stdout] test run::tests::issue_4_replacement_and_variant_at_same_span_are_deduplicated ... ok
[INFO] [stdout] test run::tests::issue_5_fix_uses_precomputed_vocabulary_not_fused_pipeline ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_reports_the_minority_spelling ... ok
[INFO] [stdout] test run::tests::issue_3_variant_findings_preserve_span_order ... ok
[INFO] [stdout] test run::tests::names_are_left_alone_unless_asked_for ... ok
[INFO] [stdout] test run::tests::nothing_is_replaced_when_the_project_configures_no_replacements ... ok
[INFO] [stdout] test run::tests::link_io_errors_keep_their_message ... ok
[INFO] [stdout] test engine::tests::observed_build_covers_every_external_input_class_once ... ok
[INFO] [stdout] test run::tests::report_checked_emits_cache_warnings_before_a_file_failure ... ok
[INFO] [stdout] test run::tests::replacements_are_reported_in_reading_order_with_the_misspellings ... ok
[INFO] [stdout] test run::tests::fused_variant_pipeline_works_with_multiple_threads ... ok
[INFO] [stdout] test run::tests::issue_2_single_callback_captures_observations_without_retokenization ... ok
[INFO] [stdout] test run::tests::several_misspellings_come_back_in_the_order_they_appear ... ok
[INFO] [stdout] test run::tests::string_literals_are_left_alone_unless_asked_for ... ok
[INFO] [stdout] test run::tests::the_shared_variant_pass_keeps_allowed_words_visible ... ok
[INFO] [stdout] test run::tests::unchanged_file_findings_round_trip_through_the_persistent_cache ... ok
[INFO] [stdout] test sanitize::tests::c0_controls_are_escaped ... ok
[INFO] [stdout] test sanitize::tests::control_bearing_config_value_is_sanitized ... ok
[INFO] [stdout] test sanitize::tests::control_bearing_path_is_sanitized ... ok
[INFO] [stdout] test sanitize::tests::del_and_c1_controls_are_escaped ... ok
[INFO] [stdout] test sanitize::tests::ordinary_text_passes_through ... ok
[INFO] [stdout] test sanitize::tests::bidi_controls_are_escaped ... ok
[INFO] [stdout] test run::tests::issue_6_fused_pipeline_falls_back_for_large_trees ... ok
[INFO] [stdout] test sanitize::tests::sanitizing_writer_escapes_controls ... ok
[INFO] [stdout] test run::tests::text_matching_an_ignore_pattern_is_not_checked ... ok
[INFO] [stdout] test sanitize::tests::workflow_command_injection_is_prevented ... ok
[INFO] [stdout] test variants::tests::ordinary_variant_keys_are_stored_inline ... ok
[INFO] [stdout] test sanitize::tests::sanitizing_writer_prevents_workflow_injection ... ok
[INFO] [stdout] test sanitize::tests::tabs_are_kept_when_requested ... ok
[INFO] [stdout] test views::json::tests::a_nested_wildcard_path_selects_every_operation_description ... ok
[INFO] [stdout] test views::json::tests::a_non_string_scalar_is_ignored ... ok
[INFO] [stdout] test views::json::tests::a_repeated_array_path_selects_each_element ... ok
[INFO] [stdout] test views::json::tests::an_escaped_string_keeps_its_raw_span_so_a_fix_lands_in_the_source ... ok
[INFO] [stdout] test views::json::tests::jsonc_comments_are_skipped ... ok
[INFO] [stdout] test views::json::tests::nesting_at_max_depth_is_accepted ... ok
[INFO] [stdout] test views::json::tests::nesting_beyond_max_depth_is_rejected ... ok
[INFO] [stdout] test views::json::tests::only_values_are_selected_never_keys ... ok
[INFO] [stdout] test views::json::tests::span_invariants_hold_for_emoji_content ... ok
[INFO] [stdout] test views::json::tests::span_invariants_hold_for_escaped_unicode_with_multibyte ... ok
[INFO] [stdout] test views::json::tests::span_invariants_hold_for_multibyte_string_values ... ok
[INFO] [stdout] test views::json::tests::span_invariants_hold_for_nested_multibyte_arrays ... ok
[INFO] [stdout] test views::selector::tests::a_dotted_path_of_keys_compiles_to_key_steps ... ok
[INFO] [stdout] test views::selector::tests::a_quoted_key_may_contain_delimiters ... ok
[INFO] [stdout] test views::selector::tests::a_recursive_xml_selector_matches_any_depth ... ok
[INFO] [stdout] test views::selector::tests::a_star_matches_any_single_element ... ok
[INFO] [stdout] test views::selector::tests::a_tree_selector_matches_only_a_fully_consumed_path ... ok
[INFO] [stdout] test views::selector::tests::a_tree_selector_never_matches_xml_queries ... ok
[INFO] [stdout] test views::selector::tests::an_index_step_matches_only_that_index ... ok
[INFO] [stdout] test views::selector::tests::an_xml_attribute_selector_targets_the_named_attribute ... ok
[INFO] [stdout] test views::selector::tests::an_xml_text_selector_compiles_and_matches_by_element_path ... ok
[INFO] [stdout] test views::selector::tests::descent_matches_any_depth_including_zero ... ok
[INFO] [stdout] test views::selector::tests::malformed_tree_selectors_are_refused ... ok
[INFO] [stdout] test views::selector::tests::malformed_xml_selectors_are_refused ... ok
[INFO] [stdout] test views::selector::tests::wildcards_indices_and_descent_each_compile ... ok
[INFO] [stdout] test views::tests::a_markdown_value_strips_code_and_reports_prose_at_source_offsets ... ok
[INFO] [stdout] test views::tests::a_bad_selector_is_refused_at_compile ... ok
[INFO] [stdout] test views::tests::an_explicit_format_applies_regardless_of_language ... ok
[INFO] [stdout] test views::tests::an_omitted_format_infers_a_tree_format_but_never_xml ... ok
[INFO] [stdout] test views::tests::an_unknown_format_is_refused_at_compile ... ok
[INFO] [stdout] test views::tests::comment_and_filename_are_not_view_kinds ... ok
[INFO] [stdout] test views::tests::extract_view_discards_partial_output_on_a_malformed_document ... ok
[INFO] [stdout] test views::tests::the_first_matching_view_wins ... ok
[INFO] [stdout] test views::tests::view_kinds_are_the_four_content_kinds ... ok
[INFO] [stdout] test views::toml::tests::a_basic_string_span_excludes_the_quotes ... ok
[INFO] [stdout] test views::toml::tests::a_literal_string_is_selected_without_its_delimiters ... ok
[INFO] [stdout] test views::toml::tests::a_malformed_document_is_a_visible_failure ... ok
[INFO] [stdout] test views::toml::tests::a_multiline_string_narrows_past_the_triple_quotes ... ok
[INFO] [stdout] test views::toml::tests::a_non_string_value_is_ignored ... ok
[INFO] [stdout] test views::toml::tests::a_table_path_and_an_array_of_tables_are_reachable ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_array_of_multibyte_strings ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_multibyte_basic_string ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_multibyte_literal_string ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_multiline_basic_string_with_multibyte ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_multiline_literal_string_with_multibyte ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_multiple_values_with_multibyte ... ok
[INFO] [stdout] test views::json::tests::a_malformed_document_is_a_visible_failure ... ok
[INFO] [stdout] test views::xml::tests::a_recursive_selector_reaches_any_depth ... ok
[INFO] [stdout] test views::xml::tests::an_attribute_value_is_selected_by_an_at_target ... ok
[INFO] [stdout] test views::xml::tests::an_element_is_matched_by_its_local_name_ignoring_namespaces ... ok
[INFO] [stdout] test views::xml::tests::cdata_text_is_selected_raw ... ok
[INFO] [stdout] test views::xml::tests::element_text_is_selected_by_its_path ... ok
[INFO] [stdout] test views::xml::tests::entities_stay_literal_in_the_raw_span ... ok
[INFO] [stdout] test views::xml::tests::mixed_content_yields_one_segment_per_direct_text_node ... ok
[INFO] [stdout] test views::xml::tests::span_invariants_hold_for_cdata_with_multibyte ... ok
[INFO] [stdout] test views::xml::tests::span_invariants_hold_for_emoji_content ... ok
[INFO] [stdout] test views::xml::tests::span_invariants_hold_for_mixed_content_with_multibyte ... ok
[INFO] [stdout] test views::xml::tests::span_invariants_hold_for_multibyte_attributes ... ok
[INFO] [stdout] test views::xml::tests::span_invariants_hold_for_multibyte_text ... ok
[INFO] [stdout] test views::yaml::tests::a_block_scalar_span_is_the_raw_region_of_the_source ... ok
[INFO] [stdout] test views::toml::tests::span_invariants_hold_for_escaped_basic_string ... ok
[INFO] [stdout] test views::xml::tests::a_malformed_document_is_a_visible_failure ... ok
[INFO] [stdout] test views::yaml::tests::a_folded_block_scalar_is_also_the_raw_region ... ok
[INFO] [stdout] test views::yaml::tests::a_nested_mapping_path_is_selected ... ok
[INFO] [stdout] test views::yaml::tests::a_malformed_document_is_a_visible_failure ... ok
[INFO] [stdout] test views::yaml::tests::a_non_ascii_scalar_keeps_byte_accurate_offsets ... ok
[INFO] [stdout] test views::yaml::tests::a_non_scalar_value_yields_nothing_directly ... ok
[INFO] [stdout] test views::yaml::tests::a_quoted_scalar_is_narrowed_past_its_quotes ... ok
[INFO] [stdout] test views::yaml::tests::a_sequence_element_is_selected_by_index_shape ... ok
[INFO] [stdout] test views::yaml::tests::an_alias_is_not_checked_a_second_time ... ok
[INFO] [stdout] test views::yaml::tests::span_invariants_hold_for_block_scalar_with_multibyte ... ok
[INFO] [stdout] test views::yaml::tests::span_invariants_hold_for_folded_scalar_with_multibyte ... ok
[INFO] [stdout] test views::yaml::tests::span_invariants_hold_for_multibyte_quoted_scalar ... ok
[INFO] [stdout] test views::yaml::tests::span_invariants_hold_for_emoji_content ... ok
[INFO] [stdout] test views::yaml::tests::span_invariants_hold_for_multibyte_plain_scalar ... ok
[INFO] [stdout] test views::yaml::tests::span_invariants_hold_for_sequence_with_multibyte ... ok
[INFO] [stdout] test vocabulary::tests::a_file_that_cannot_be_read_is_passed_over_rather_than_abandoning_the_count ... ok
[INFO] [stdout] test vocabulary::tests::a_line_is_counted_forward_from_wherever_the_last_question_stopped ... ok
[INFO] [stdout] test vocabulary::tests::a_panicking_vocabulary_file_is_a_named_error_on_the_sequential_path_too ... ok
[INFO] [stdout] test vocabulary::tests::a_file_whose_settings_do_not_resolve_is_passed_over ... ok
[INFO] [stdout] test vocabulary::tests::a_word_is_counted_once_for_every_time_the_project_writes_it ... ok
[INFO] [stdout] test vocabulary::tests::a_word_is_counted_once_however_many_segments_come_after_it ... ok
[INFO] [stdout] test vocabulary::tests::a_word_the_project_allows_is_still_a_word_the_project_writes ... ok
[INFO] [stdout] test vocabulary::tests::a_worker_panic_outside_file_check_becomes_a_vocabulary_error ... ok
[INFO] [stdout] test vocabulary::tests::merging_two_threads_keeps_the_place_the_tree_writes_a_word_first ... ok
[INFO] [stdout] test vocabulary::tests::a_panicking_vocabulary_file_is_a_named_error_without_losing_other_work ... ok
[INFO] [stdout] test vocabulary::tests::the_spellings_of_one_word_are_worked_out_only_when_the_run_asks_for_them ... ok
[INFO] [stdout] test vocabulary::tests::repeated_mixed_case_tokens_are_lowercased_once_per_worker_cache ... ok
[INFO] [stdout] test vocabulary::tests::the_normalization_cache_is_bounded ... ok
[INFO] [stdout] test vocabulary::tests::walking_a_file_visits_the_words_a_check_would_look_up ... ok
[INFO] [stdout] test vocabulary::tests::vocabulary_counting_honors_syntax_rules ... ok
[INFO] [stdout] test vocabulary_catalog::tests::unsafe_file_name_ids_are_rejected ... ok
[INFO] [stdout] test vocabulary_catalog::tests::the_bundled_catalog_parses_and_pins_plain_word_lists ... ok
[INFO] [stdout] test vocabulary_install::tests::a_verified_existing_vocabulary_is_reused_without_fetching ... ok
[INFO] [stdout] test vocabulary_install::tests::cspell_word_list_operators_are_not_misread_as_plain_words ... ok
[INFO] [stdout] test vocabulary_install::tests::empty_word_list_is_rejected ... ok
[INFO] [stdout] test vocabulary_install::tests::every_cspell_leading_operator_is_rejected ... ok
[INFO] [stdout] test vocabulary_install::tests::cpp_exception_is_accepted_despite_trailing_plus ... ok
[INFO] [stdout] test vocabulary_install::tests::invalid_word_list_bytes_never_replace_the_destination ... ok
[INFO] [stdout] test vocabulary_install::tests::non_utf8_bytes_are_rejected ... ok
[INFO] [stdout] test vocabulary_install::tests::trailing_plus_operator_is_rejected ... ok
[INFO] [stdout] test vocabulary_install::tests::trailing_star_operator_is_rejected ... ok
[INFO] [stdout] test vocabulary::tests::the_tree_is_counted_the_same_however_many_threads_read_it ... ok
[INFO] [stdout] test run::tests::one_bounded_worker_set_is_reused_across_every_batch ... ok
[INFO] [stdout] test run::tests::requests_above_the_production_job_limit_create_no_more_workers ... ok
[INFO] [stdout] test workspace::tests::a_directive_goes_after_a_shebang_rather_than_before_it ... ok
[INFO] [stdout] test workspace::tests::a_blank_line_between_groups_of_words_stays_where_the_author_put_it ... ok
[INFO] [stdout] test vocabulary_install::tests::installs_write_a_sorted_reproducible_lock ... ok
[INFO] [stdout] test run::tests::findings_are_reported_in_path_order_whatever_the_thread_count ... ok
[INFO] [stdout] test variants::tests::a_long_repeated_suffix_chain_is_normalized_iteratively ... ok
[INFO] [stdout] test workspace::tests::a_file_of_an_unknown_kind_has_no_safe_directive ... ok
[INFO] [stdout] test workspace::tests::a_machine_with_nowhere_to_keep_a_personal_word_list_says_so_rather_than_guessing ... ok
[INFO] [stdout] test workspace::tests::a_malformed_configuration_file_is_reported_at_startup ... ok
[INFO] [stdout] test workspace::tests::a_markdown_file_hides_a_directive_in_an_html_comment ... ok
[INFO] [stdout] test workspace::tests::a_legacy_temporary_name_does_not_collide_with_a_new_replacement ... ok
[INFO] [stdout] test workspace::tests::a_path_whose_override_cannot_be_resolved_is_reported_once ... ok
[INFO] [stdout] test workspace::tests::a_personal_word_list_that_becomes_unwritable_reports_the_word ... ok
[INFO] [stdout] test workspace::tests::a_project_with_no_word_list_says_what_to_do_rather_than_failing_silently ... ok
[INFO] [stdout] test workspace::tests::a_project_word_list_cannot_follow_a_symlink_outside ... ok
[INFO] [stdout] test workspace::tests::a_project_word_list_that_becomes_unwritable_reports_the_word ... ok
[INFO] [stdout] test workspace::tests::a_personal_word_list_that_cannot_be_kept_anywhere_names_the_directory_in_the_way ... ok
[INFO] [stdout] test workspace::tests::a_replacement_that_cannot_be_completed_takes_its_half_written_file_with_it ... ok
[INFO] [stdout] test workspace::tests::a_rust_file_accepts_a_word_with_a_line_comment_directive ... ok
[INFO] [stdout] test findings_cache::tests::separate_cache_handles_coordinate_writes_and_preserve_bounds ... ok
[INFO] [stdout] test workspace::tests::a_word_list_replaced_by_an_escaping_symlink_is_rechecked_before_writing ... ok
[INFO] [stdout] test workspace::tests::a_word_list_that_cannot_be_read_names_the_path ... ok
[INFO] [stdout] test workspace::tests::a_word_list_that_cannot_be_read_is_not_mistaken_for_one_that_is_not_there ... ok
[INFO] [stdout] test workspace::tests::a_file_with_no_safe_directive_is_excluded_through_the_configuration ... ok
[INFO] [stdout] test workspace::tests::a_word_list_that_does_not_exist_yet_is_created ... ok
[INFO] [stdout] test workspace::tests::a_workspace_without_a_dictionary_reports_nothing_rather_than_refusing_to_start ... ok
[INFO] [stdout] test workspace::tests::a_workspace_without_a_dictionary_says_so_once_and_stops_looking ... ok
[INFO] [stdout] test workspace::tests::accepting_a_word_everywhere_is_refused_when_the_personal_configuration_is_ignored ... ok
[INFO] [stdout] test run::tests::every_file_is_checked_however_many_threads_there_are ... ok
[INFO] [stdout] test workspace::tests::adding_a_word_twice_records_it_once ... ok
[INFO] [stdout] test engine::tests::observed_build_preserves_input_error_seams ... ok
[INFO] [stdout] test workspace::tests::an_editor_scratch_error_cannot_leak_into_the_next_analysis ... ok
[INFO] [stdout] test workspace::tests::an_ambient_analyzer_marker_cannot_bypass_parent_orchestration ... ok
[INFO] [stdout] test findings_cache::tests::an_oversized_entry_is_dropped_instead_of_written ... ok
[INFO] [stdout] test commands::why::tests::a_correction_a_project_file_does_not_hold_still_falls_back_to_the_bundle ... ok
[INFO] [stdout] test workspace::tests::concurrent_word_list_additions_are_serialized_and_preserve_both_words ... ok
[INFO] [stdout] test workspace::tests::editor_check_errors_become_a_notice ... ok
[INFO] [stdout] test workspace::tests::every_finding_reason_maps_to_the_issue_kind_the_editor_expects ... ok
[INFO] [stdout] test commands::why::tests::a_word_nothing_knows_says_so_and_offers_what_it_can ... ok
[INFO] [stdout] test profile::tests::a_poisoned_build_cache_recovers_without_poisoning_future_entries ... ok
[INFO] [stdout] test workspace::tests::a_configuration_file_named_on_the_command_line_is_the_one_the_editor_checks_against ... ok
[INFO] [stdout] test workspace::tests::a_word_the_project_accepts_is_not_reported ... ok
[INFO] [stdout] test workspace::tests::hovering_a_replaced_word_names_what_to_write_instead ... ok
[INFO] [stdout] test workspace::tests::hovering_a_forbidden_word_names_the_policy_that_forbids_it ... ok
[INFO] [stdout] test workspace::tests::a_file_in_a_language_the_tool_does_not_know_is_left_alone ... ok
[INFO] [stdout] test workspace::tests::installing_the_dictionary_and_reloading_makes_the_workspace_try_again ... ok
[INFO] [stdout] test workspace::tests::hovering_an_accepted_word_explains_why_it_is_accepted ... ok
[INFO] [stdout] test workspace::tests::hovering_a_skipped_word_names_the_rule_and_its_setting ... ok
[INFO] [stdout] test workspace::tests::project_word_list_destinations_cannot_escape_the_workspace ... ok
[INFO] [stdout] test findings_cache::tests::observed_checker_fingerprint_does_not_retain_input_bytes ... ok
[INFO] [stdout] test workspace::tests::hovering_an_undecorated_code_word_explains_nothing ... ok
[INFO] [stdout] test workspace::tests::an_override_that_accepts_a_word_applies_in_the_editor_too ... ok
[INFO] [stdout] test workspace::tests::remembered_words_must_be_one_non_whitespace_token ... ok
[INFO] [stdout] test workspace::tests::a_workspace_checks_a_document_using_the_projects_configuration ... ok
[INFO] [stdout] test workspace::tests::a_document_carries_the_reason_a_word_was_reported_to_the_editor ... ok
[INFO] [stdout] test workspace::tests::remembering_keeps_the_order_of_existing_equal_folding_entries ... ok
[INFO] [stdout] test workspace::tests::remembering_preserves_labeled_groups_crlf_and_a_missing_final_newline ... ok
[INFO] [stdout] test workspace::tests::hovering_a_misspelled_word_explains_it_and_marks_exactly_the_word ... ok
[INFO] [stdout] test workspace::tests::accepting_a_word_everywhere_writes_it_to_the_personal_word_list ... ok
[INFO] [stdout] test workspace::tests::a_workspace_checks_a_structured_document_through_a_view ... ok
[INFO] [stdout] test workspace::tests::an_override_that_changes_the_minimum_length_applies_in_the_editor_too ... ok
[INFO] [stdout] test workspace::tests::reloading_with_open_document_paths_primes_each_one_successfully_too ... ok
[INFO] [stdout] test workspace::tests::the_test_session_rejects_a_non_notification_diagnostic_message - should panic ... ok
[INFO] [stdout] test workspace::tests::words_are_added_in_sorted_order ... ok
[INFO] [stdout] test workspace::tests::a_broken_override_does_not_disable_documents_with_valid_settings ... ok
[INFO] [stdout] test workspace::tests::workspace_debug_output_is_bounded_and_identifying ... ok
[INFO] [stdout] test workspace::tests::project_and_personal_remember_actions_keep_their_destinations_separate ... ok
[INFO] [stdout] test workspace::tests::hovering_where_no_checked_word_sits_explains_nothing ... ok
[INFO] [stdout] test workspace::tests::concurrent_reload_validation_is_transactional_when_one_override_fails ... ok
[INFO] [stdout] test workspace::tests::reloading_validates_open_document_profiles_before_replacing_the_checker ... ok
[INFO] [stdout] test workspace::tests::remembering_reports_saved_when_reloading_the_workspace_fails ... ok
[INFO] [stdout] test workspace::tests::workspace_check_errors_are_reported_once_as_a_notice ... ok
[INFO] [stdout] test workspace::tests::reloading_reads_the_file_the_editor_was_started_with_rather_than_looking_again ... ok
[INFO] [stdout] test workspace::tests::per_path_overrides_apply_in_the_editor_too ... ok
[INFO] [stdout] test workspace::tests::syntax_rules_cover_unknown_extensions_and_remap_known_ones ... ok
[INFO] [stdout] test workspace::tests::the_real_language_server_handles_save_text_and_close_notifications ... ok
[INFO] [stdout] test workspace::tests::the_editor_facing_reload_method_revalidates_open_documents_before_replacing_the_checker ... ok
[INFO] [stdout] test workspace::tests::remembering_a_word_stops_it_being_reported ... ok
[INFO] [stdout] test workspace::tests::the_real_language_server_handles_code_action_and_execute_requests ... ok
[INFO] [stdout] test workspace::tests::repeated_analysis_reload_and_a_caught_panic_produce_identical_diagnostics ... ok
[INFO] [stdout] test findings_cache::tests::byte_eviction_applies_before_the_production_entry_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues' (5125) panicked at crates/cargo-spellotron-lib/src/commands/fix.rs:2115:9:
[INFO] [stdout] spelling: `worlds` is not in the dictionary
[INFO] [stdout]  --> /tmp/.tmpv0MGKz/src.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | // worlds
[INFO] [stdout]   |    ^^^^^^ 
[INFO] [stdout] 1) Replace with 'words'
[INFO] [stdout] 2) Replace with 'world'
[INFO] [stdout] S) Skip
[INFO] [stdout] A) Always Skip (this session)
[INFO] [stdout] W) Add 'worlds' to /tmp/.tmpv0MGKz/ro/project.words as a Custom Word
[INFO] [stdout] C) Enter Correction
[INFO] [stdout] Q) Quit
[INFO] [stdout] added: `worlds` to /tmp/.tmpv0MGKz/ro/project.words as a custom word
[INFO] [stdout] summary: fixed 0 misspellings, left 1 misspelling
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f29135d81c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f29135d81c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f29135f2c8a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f29135f2c8a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x5f29135ded3c - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5f29135ded3c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5f29135adfc6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f29135adfc6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f29135cd429 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f2912e08330 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x5f2912e08330 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f29135cd752 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x5f29135cd752 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5f29135ae072 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5f29135a6219 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f29135aeeed - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5f29135f352c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f291275a8de - cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/commands/fix.rs:2115:9
[INFO] [stdout]   20:     0x5f29127170d7 - cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/commands/fix.rs:2093:76
[INFO] [stdout]   21:     0x5f29129c6f16 - <cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5f2912dfb61b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5f2912dfb61b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   24:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   25:     0x5f2912e08c85 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   27:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5f2912e08c85 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   30:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   31:     0x5f2912e02544 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   32:     0x5f2912e02544 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5f2912e0bde2 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   36:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5f2912e0bde2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5f29135d6f69 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   41:     0x5f29135d6f69 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   42:     0x77138a1d0dfa - <unknown>
[INFO] [stdout]   43:     0x77138a2643d4 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering' (5366) panicked at crates/cargo-spellotron-lib/src/commands/fix.rs:1969:9:
[INFO] [stdout] assertion `left == right` failed: spelling: `worlds` is not in the dictionary
[INFO] [stdout]  --> /tmp/.tmpYpbEno/src.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | // worlds
[INFO] [stdout]   |    ^^^^^^ 
[INFO] [stdout] 1) Replace with 'words'
[INFO] [stdout] 2) Replace with 'world'
[INFO] [stdout] S) Skip
[INFO] [stdout] A) Always Skip (this session)
[INFO] [stdout] W) Add 'worlds' to /tmp/.tmpYpbEno/spellotron.toml as a Custom Word
[INFO] [stdout] C) Enter Correction
[INFO] [stdout] Q) Quit
[INFO] [stdout]   enter correction:   O) Apply Once
[INFO] [stdout]   A) Always Apply this Correction (this session)
[INFO] [stdout]   C) Add 'worlds' to 'words' as a Correction to /tmp/.tmpYpbEno/ro/corrections.csv
[INFO] [stdout]   B) Back
[INFO] [stdout] saved: `worlds` -> `words` to /tmp/.tmpYpbEno/ro/corrections.csv
[INFO] [stdout] fixed: /tmp/.tmpYpbEno/src.rs: `worlds` -> `words`
[INFO] [stdout] summary: fixed 1 misspelling
[INFO] [stdout] 
[INFO] [stdout]   left: Success
[INFO] [stdout]  right: Findings
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f29135d81c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f29135d81c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f29135f2c8a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f29135f2c8a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x5f29135ded3c - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5f29135ded3c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5f29135adfc6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f29135adfc6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f29135cd429 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f2912e08330 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x5f2912e08330 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f29135cd752 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x5f29135cd752 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5f29135ae072 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5f29135a6219 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f29135aeeed - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5f29135f352c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f29135f3423 - core[df12db4294e9bfd3]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:447:23
[INFO] [stdout]   20:     0x5f2912a4ca40 - core[df12db4294e9bfd3]::panicking::assert_failed::<cargo_spellotron_lib[f872c5a8ed326b1c]::commands::outcome::Outcome, cargo_spellotron_lib[f872c5a8ed326b1c]::commands::outcome::Outcome>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:407:5
[INFO] [stdout]   21:     0x5f291274f20e - cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/commands/fix.rs:1969:9
[INFO] [stdout]   22:     0x5f2912716c87 - cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/commands/fix.rs:1948:67
[INFO] [stdout]   23:     0x5f29129c6c36 - <cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f2912dfb61b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f2912dfb61b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   26:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   27:     0x5f2912e08c85 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5f2912e08c85 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   32:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   33:     0x5f2912e02544 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   34:     0x5f2912e02544 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5f2912e0bde2 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5f2912e0bde2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f29135d6f69 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   43:     0x5f29135d6f69 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x77138a1d0dfa - <unknown>
[INFO] [stdout]   45:     0x77138a2643d4 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction' (5443) panicked at crates/cargo-spellotron-lib/src/commands/fix.rs:2481:9:
[INFO] [stdout] assertion `left == right` failed: spelling: `worlds` is not in the dictionary
[INFO] [stdout]  --> /tmp/.tmpp8m03Q/src/main.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | // worlds
[INFO] [stdout]   |    ^^^^^^ 
[INFO] [stdout] 1) Replace with 'words'
[INFO] [stdout] 2) Replace with 'world'
[INFO] [stdout] S) Skip
[INFO] [stdout] A) Always Skip (this session)
[INFO] [stdout] W) Add 'worlds' to /tmp/.tmpp8m03Q/spellotron.toml as a Custom Word
[INFO] [stdout] C) Enter Correction
[INFO] [stdout] Q) Quit
[INFO] [stdout]   enter correction:   O) Apply Once
[INFO] [stdout]   A) Always Apply this Correction (this session)
[INFO] [stdout]   C) Add 'worlds' to 'words' as a Correction to /tmp/.tmpp8m03Q/corrections.csv
[INFO] [stdout]   B) Back
[INFO] [stdout] saved: `worlds` -> `words` to /tmp/.tmpp8m03Q/corrections.csv
[INFO] [stdout] fixed: /tmp/.tmpp8m03Q/src/main.rs: `worlds` -> `words`
[INFO] [stdout] summary: fixed 1 misspelling
[INFO] [stdout] 
[INFO] [stdout]   left: Success
[INFO] [stdout]  right: Findings
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f29135d81c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f29135d81c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f29135f2c8a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f29135f2c8a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x5f29135ded3c - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5f29135ded3c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5f29135adfc6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f29135adfc6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f29135cd429 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f2912e08330 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x5f2912e08330 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f29135cd752 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x5f29135cd752 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5f29135ae072 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5f29135a6219 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f29135aeeed - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5f29135f352c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f29135f3423 - core[df12db4294e9bfd3]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:447:23
[INFO] [stdout]   20:     0x5f2912a4ca40 - core[df12db4294e9bfd3]::panicking::assert_failed::<cargo_spellotron_lib[f872c5a8ed326b1c]::commands::outcome::Outcome, cargo_spellotron_lib[f872c5a8ed326b1c]::commands::outcome::Outcome>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:407:5
[INFO] [stdout]   21:     0x5f291275343e - cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/commands/fix.rs:2481:9
[INFO] [stdout]   22:     0x5f2912716e37 - cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/commands/fix.rs:2449:70
[INFO] [stdout]   23:     0x5f29129c6d56 - <cargo_spellotron_lib[f872c5a8ed326b1c]::commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f2912dfb61b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f2912dfb61b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   26:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   27:     0x5f2912e08c85 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5f2912e08c85 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   32:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   33:     0x5f2912e02544 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   34:     0x5f2912e02544 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5f2912e0bde2 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5f2912e0bde2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f29135d6f69 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   43:     0x5f29135d6f69 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x77138a1d0dfa - <unknown>
[INFO] [stdout]   45:     0x77138a2643d4 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory' (6541) panicked at crates/cargo-spellotron-lib/src/persist.rs:652:83:
[INFO] [stdout] identity: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/crates/cargo-spellotron-lib/.spellotron-case-probe-af71GBV", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f29135d81c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f29135d81c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f29135f2c8a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f29135f2c8a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x5f29135ded3c - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5f29135ded3c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5f29135adfc6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f29135adfc6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f29135cd429 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f2912e08330 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x5f2912e08330 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f29135cd752 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x5f29135cd752 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5f29135ae072 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5f29135a6219 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f29135aeeed - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5f29135f352c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f29135f3282 - core[df12db4294e9bfd3]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/result.rs:1871:5
[INFO] [stdout]   20:     0x5f2912c95693 - <core[df12db4294e9bfd3]::result::Result<std[70759c8f55707aa4]::path::PathBuf, core[df12db4294e9bfd3]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/result.rs:1184:23
[INFO] [stdout]   21:     0x5f29127e7e60 - cargo_spellotron_lib[f872c5a8ed326b1c]::persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/persist.rs:652:83
[INFO] [stdout]   22:     0x5f29127d2887 - cargo_spellotron_lib[f872c5a8ed326b1c]::persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/persist.rs:651:71
[INFO] [stdout]   23:     0x5f29129c33c6 - <cargo_spellotron_lib[f872c5a8ed326b1c]::persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f2912dfb61b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f2912dfb61b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   26:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   27:     0x5f2912e08c85 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5f2912e08c85 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   32:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   33:     0x5f2912e02544 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   34:     0x5f2912e02544 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5f2912e0bde2 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5f2912e0bde2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5f29135d6f69 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   43:     0x5f29135d6f69 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x77138a1d0dfa - <unknown>
[INFO] [stdout]   45:     0x77138a2643d4 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- persist::tests::a_read_only_configured_lock_path_falls_back_securely stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'persist::tests::a_read_only_configured_lock_path_falls_back_securely' (6547) panicked at crates/cargo-spellotron-lib/src/persist.rs:1035:9:
[INFO] [stdout] assertion failed: selected.starts_with(&temporary)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f29135d81c1 - std[70759c8f55707aa4]::backtrace_rs::backtrace::trace_unsynchronized::<std[70759c8f55707aa4]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f29135d81c1 - std[70759c8f55707aa4]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f29135d81c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f29135f2c8a - <core[df12db4294e9bfd3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f29135f2c8a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    6:     0x5f29135ded3c - core[df12db4294e9bfd3]::io::write::default_write_fmt::<alloc[2182bb758b4b3781]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5f29135ded3c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5f29135adfc6 - <std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f29135adfc6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f29135cd429 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f2912e08330 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   12:     0x5f2912e08330 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5f29135cd752 - <alloc[2182bb758b4b3781]::boxed::Box<dyn for<'a, 'b> core[df12db4294e9bfd3]::ops::function::Fn<(&'a std[70759c8f55707aa4]::panic::PanicHookInfo<'b>,), Output = ()> + core[df12db4294e9bfd3]::marker::Send + core[df12db4294e9bfd3]::marker::Sync> as core[df12db4294e9bfd3]::ops::function::Fn<(&std[70759c8f55707aa4]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2334:9
[INFO] [stdout]   14:     0x5f29135cd752 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5f29135ae0a4 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:681:13
[INFO] [stdout]   16:     0x5f29135a6219 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f29135aeeed - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5f29135f352c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f29135f34f2 - core[df12db4294e9bfd3]::panicking::panic
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5f29127e4bff - cargo_spellotron_lib[f872c5a8ed326b1c]::persist::tests::a_read_only_configured_lock_path_falls_back_securely
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/persist.rs:1035:9
[INFO] [stdout]   21:     0x5f29127d2617 - cargo_spellotron_lib[f872c5a8ed326b1c]::persist::tests::a_read_only_configured_lock_path_falls_back_securely::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/cargo-spellotron-lib/src/persist.rs:1019:62
[INFO] [stdout]   22:     0x5f29129c3226 - <cargo_spellotron_lib[f872c5a8ed326b1c]::persist::tests::a_read_only_configured_lock_path_falls_back_securely::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5f2912dfb61b - <fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5f2912dfb61b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:733:18
[INFO] [stdout]   25:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:74
[INFO] [stdout]   26:     0x5f2912e08c85 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x5f2912e08c85 - std[70759c8f55707aa4]::panicking::catch_unwind::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5f2912e08c85 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<test[9d35eded1c95d3be]::run_test_in_process::{closure#0}>, core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test_in_process
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:756:27
[INFO] [stdout]   31:     0x5f2912e08c85 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:677:43
[INFO] [stdout]   32:     0x5f2912e02544 - test[9d35eded1c95d3be]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/test/src/lib.rs:707:41
[INFO] [stdout]   33:     0x5f2912e02544 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5f2912e0bde2 - <core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::do_call::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panicking::catch_unwind::<(), core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5f2912e0bde2 - std[70759c8f55707aa4]::panic::catch_unwind::<core[df12db4294e9bfd3]::panic::unwind_safe::AssertUnwindSafe<std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5f2912e0bde2 - std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5f2912e0bde2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5f29135d6f69 - <alloc[2182bb758b4b3781]::boxed::Box<dyn core[df12db4294e9bfd3]::ops::function::FnOnce<(), Output = ()> + core[df12db4294e9bfd3]::marker::Send> as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/alloc/src/boxed.rs:2320:9
[INFO] [stdout]   42:     0x5f29135d6f69 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/dfb0accb7f508ae8be965d8629557221c889dd98/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x77138a1d0dfa - <unknown>
[INFO] [stdout]   44:     0x77138a2643d4 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     commands::fix::tests::a_custom_word_that_cannot_be_written_leaves_the_word_and_continues
[INFO] [stdout]     commands::fix::tests::a_read_only_correction_file_is_refused_without_clobbering
[INFO] [stdout]     commands::fix::tests::a_source_io_failure_rolls_back_a_newly_remembered_correction
[INFO] [stdout]     persist::tests::a_bare_relative_destination_is_keyed_in_the_current_directory
[INFO] [stdout]     persist::tests::a_read_only_configured_lock_path_falls_back_securely
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1033 passed; 5 failed; 1 ignored; 0 measured; 0 filtered out; finished in 74.37s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p cargo-spellotron-lib --lib`
[INFO] running `Command { std: "docker" "inspect" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001", kill_on_drop: false }`
[INFO] [stdout] 4a5ea733a7afd0e7c614eaf2fd3b492827045653382d854b4d3cf8a1f7d4a001
