[INFO] fetching crate symtrace 0.5.0...
[INFO] testing symtrace-0.5.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate symtrace 0.5.0 into /workspace/builds/worker-6-tc2/source
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate symtrace 0.5.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate symtrace 0.5.0
[INFO] tweaked toml for crates.io crate symtrace 0.5.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate symtrace 0.5.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate symtrace 0.5.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292
[INFO] running `Command { std: "docker" "start" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", 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" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", 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" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libz-sys v1.1.24
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.17.0+1.8.1
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.0
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling tree-sitter-c v0.23.4
[INFO] [stderr]    Compiling tree-sitter-cpp v0.23.4
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]    Compiling tree-sitter-json v0.24.8
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.15
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling git2 v0.19.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling symtrace v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `parse_bytes` is never used
[INFO] [stdout]    --> src/ast_builder.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn parse_bytes(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_to_char_col` is never used
[INFO] [stdout]    --> src/ast_builder.rs:430:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub fn byte_to_char_col(line: &str, byte_offset: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol_name`, `file_path`, `kind`, and `line` are never read
[INFO] [stdout]   --> src/call_graph.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CallGraphNode {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 23 |     pub symbol_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 24 |     pub file_path: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub kind: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CallGraphNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DataFlowTag` is never used
[INFO] [stdout]   --> src/data_flow.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DataFlowTag {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataFlowAnalysis` is never constructed
[INFO] [stdout]   --> src/data_flow.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct DataFlowAnalysis {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_intra_procedural_data_flow` is never used
[INFO] [stdout]   --> src/data_flow.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn analyze_intra_procedural_data_flow(old_fn: &AstNode, new_fn: &AstNode) -> DataFlowAnalysis {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_declared_variables` is never used
[INFO] [stdout]    --> src/data_flow.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn extract_declared_variables(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_return_expressions` is never used
[INFO] [stdout]    --> src/data_flow.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn extract_return_expressions(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_assignment_operators` is never used
[INFO] [stdout]    --> src/data_flow.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn extract_assignment_operators(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_def_use_isomorphism` is never used
[INFO] [stdout]    --> src/data_flow.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn verify_def_use_isomorphism(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_blob_bytes` is never used
[INFO] [stdout]   --> src/git_layer.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SharedBlobReader {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn read_blob_bytes(&self, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_blob_bytes_by_oid` is never used
[INFO] [stdout]   --> src/git_layer.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn read_blob_bytes_by_oid(repo: &Repository, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `token_histogram_16` is never used
[INFO] [stdout]    --> src/node_identity.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub fn token_histogram_16(tokens: &[String]) -> [u8; 16] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simd_jaccard_histogram_16` is never used
[INFO] [stdout]    --> src/node_identity.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn simd_jaccard_histogram_16(hist_a: &[u8; 16], hist_b: &[u8; 16]) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_type_safe_refactors` is never used
[INFO] [stdout]   --> src/semantic_type.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn detect_type_safe_refactors(old_node: &AstNode, new_node: &AstNode) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_annotations` is never used
[INFO] [stdout]    --> src/semantic_type.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn extract_type_annotations(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", 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" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling rand_xorshift v0.3.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.15
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling symtrace v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.7
[INFO] [stderr]    Compiling proptest v1.5.0
[INFO] [stdout] warning: function `parse_bytes` is never used
[INFO] [stdout]    --> src/ast_builder.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn parse_bytes(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_to_char_col` is never used
[INFO] [stdout]    --> src/ast_builder.rs:430:8
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub fn byte_to_char_col(line: &str, byte_offset: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol_name`, `file_path`, `kind`, and `line` are never read
[INFO] [stdout]   --> src/call_graph.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CallGraphNode {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 23 |     pub symbol_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 24 |     pub file_path: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub kind: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CallGraphNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DataFlowTag` is never used
[INFO] [stdout]   --> src/data_flow.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum DataFlowTag {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DataFlowAnalysis` is never constructed
[INFO] [stdout]   --> src/data_flow.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct DataFlowAnalysis {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `analyze_intra_procedural_data_flow` is never used
[INFO] [stdout]   --> src/data_flow.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn analyze_intra_procedural_data_flow(old_fn: &AstNode, new_fn: &AstNode) -> DataFlowAnalysis {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_declared_variables` is never used
[INFO] [stdout]    --> src/data_flow.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn extract_declared_variables(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_return_expressions` is never used
[INFO] [stdout]    --> src/data_flow.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn extract_return_expressions(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_assignment_operators` is never used
[INFO] [stdout]    --> src/data_flow.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn extract_assignment_operators(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_def_use_isomorphism` is never used
[INFO] [stdout]    --> src/data_flow.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn verify_def_use_isomorphism(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_blob_bytes` is never used
[INFO] [stdout]   --> src/git_layer.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SharedBlobReader {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn read_blob_bytes(&self, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_blob_bytes_by_oid` is never used
[INFO] [stdout]   --> src/git_layer.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn read_blob_bytes_by_oid(repo: &Repository, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `token_histogram_16` is never used
[INFO] [stdout]    --> src/node_identity.rs:285:8
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub fn token_histogram_16(tokens: &[String]) -> [u8; 16] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `simd_jaccard_histogram_16` is never used
[INFO] [stdout]    --> src/node_identity.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn simd_jaccard_histogram_16(hist_a: &[u8; 16], hist_b: &[u8; 16]) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_type_safe_refactors` is never used
[INFO] [stdout]   --> src/semantic_type.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn detect_type_safe_refactors(old_node: &AstNode, new_node: &AstNode) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_type_annotations` is never used
[INFO] [stdout]    --> src/semantic_type.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn extract_type_annotations(node: &AstNode) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `symbol_name`, `file_path`, `kind`, and `line` are never read
[INFO] [stdout]   --> src/call_graph.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct CallGraphNode {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 23 |     pub symbol_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 24 |     pub file_path: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub kind: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CallGraphNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `return_expr_changed` and `confidence` are never read
[INFO] [stdout]   --> src/data_flow.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct DataFlowAnalysis {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub return_expr_changed: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     pub confidence: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DataFlowAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_blob_bytes` is never used
[INFO] [stdout]   --> src/git_layer.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SharedBlobReader {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn read_blob_bytes(&self, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_blob_bytes_by_oid` is never used
[INFO] [stdout]   --> src/git_layer.rs:77:4
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn read_blob_bytes_by_oid(repo: &Repository, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.84s
[INFO] running `Command { std: "docker" "inspect" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", 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" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: fields `symbol_name`, `file_path`, `kind`, and `line` are never read
[INFO] [stderr]   --> src/call_graph.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct CallGraphNode {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 23 |     pub symbol_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 24 |     pub file_path: String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 25 |     pub kind: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 26 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CallGraphNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `return_expr_changed` and `confidence` are never read
[INFO] [stderr]   --> src/data_flow.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct DataFlowAnalysis {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 43 |     pub return_expr_changed: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 44 |     pub confidence: f64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DataFlowAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_blob_bytes` is never used
[INFO] [stderr]   --> src/git_layer.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | impl SharedBlobReader {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn read_blob_bytes(&self, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_blob_bytes_by_oid` is never used
[INFO] [stderr]   --> src/git_layer.rs:77:4
[INFO] [stderr]    |
[INFO] [stderr] 77 | fn read_blob_bytes_by_oid(repo: &Repository, oid: git2::Oid) -> Result<Option<Vec<u8>>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_bytes` is never used
[INFO] [stderr]    --> src/ast_builder.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub fn parse_bytes(
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `byte_to_char_col` is never used
[INFO] [stderr]    --> src/ast_builder.rs:430:8
[INFO] [stderr]     |
[INFO] [stderr] 430 | pub fn byte_to_char_col(line: &str, byte_offset: usize) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `symbol_name`, `file_path`, `kind`, and `line` are never read
[INFO] [stderr]   --> src/call_graph.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct CallGraphNode {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 23 |     pub symbol_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 24 |     pub file_path: String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 25 |     pub kind: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 26 |     pub line: usize,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CallGraphNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `DataFlowTag` is never used
[INFO] [stderr]   --> src/data_flow.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum DataFlowTag {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DataFlowAnalysis` is never constructed
[INFO] [stderr]   --> src/data_flow.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub struct DataFlowAnalysis {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `analyze_intra_procedural_data_flow` is never used
[INFO] [stderr]   --> src/data_flow.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub fn analyze_intra_procedural_data_flow(old_fn: &AstNode, new_fn: &AstNode) -> DataFlowAnalysis {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_declared_variables` is never used
[INFO] [stderr]    --> src/data_flow.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn extract_declared_variables(node: &AstNode) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_return_expressions` is never used
[INFO] [stderr]    --> src/data_flow.rs:148:4
[INFO] [stderr]     |
[INFO] [stderr] 148 | fn extract_return_expressions(node: &AstNode) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_assignment_operators` is never used
[INFO] [stderr]    --> src/data_flow.rs:171:4
[INFO] [stderr]     |
[INFO] [stderr] 171 | fn extract_assignment_operators(node: &AstNode) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `verify_def_use_isomorphism` is never used
[INFO] [stderr]    --> src/data_flow.rs:197:4
[INFO] [stderr]     |
[INFO] [stderr] 197 | fn verify_def_use_isomorphism(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `token_histogram_16` is never used
[INFO] [stderr]    --> src/node_identity.rs:285:8
[INFO] [stderr]     |
[INFO] [stderr] 285 | pub fn token_histogram_16(tokens: &[String]) -> [u8; 16] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `simd_jaccard_histogram_16` is never used
[INFO] [stderr]    --> src/node_identity.rs:298:8
[INFO] [stderr]     |
[INFO] [stderr] 298 | pub fn simd_jaccard_histogram_16(hist_a: &[u8; 16], hist_b: &[u8; 16]) -> f64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `detect_type_safe_refactors` is never used
[INFO] [stderr]   --> src/semantic_type.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn detect_type_safe_refactors(old_node: &AstNode, new_node: &AstNode) -> Option<String> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_type_annotations` is never used
[INFO] [stderr]    --> src/semantic_type.rs:149:4
[INFO] [stderr]     |
[INFO] [stderr] 149 | fn extract_type_annotations(node: &AstNode) -> Vec<String> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `symtrace` (bin "symtrace" test) generated 4 warnings
[INFO] [stderr] warning: `symtrace` (bin "symtrace") generated 16 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/symtrace/62d3f4158c47c550/out/symtrace-62d3f4158c47c550)
[INFO] [stdout] 
[INFO] [stdout] running 273 tests
[INFO] [stdout] test ast_builder::tests::identity_hash_is_nonzero_after_parse ... ok
[INFO] [stdout] test ast_builder::tests::default_limits_accept_normal_input ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_identical_content_reuses_all ... ok
[INFO] [stdout] test ast_builder::tests::file_size_limit_rejects_oversized_input ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_complete_change_still_correct ... ok
[INFO] [stdout] test ast_builder::tests::leaf_nodes_carry_text ... ok
[INFO] [stdout] test ast_builder::tests::java_root_is_program ... ok
[INFO] [stdout] test ast_builder::tests::logic_only_rust_comment_stripped ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_deletion ... ok
[INFO] [stdout] test ast_builder::tests::larger_source_has_more_nodes ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_java_modification ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_insertion ... ok
[INFO] [stdout] test ast_builder::tests::different_rust_sources_have_different_structural_hashes ... ok
[INFO] [stdout] test ast_builder::tests::empty_source_parses_without_error ... ok
[INFO] [stdout] test ast_builder::tests::all_node_ids_are_unique ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_logic_only ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_produces_same_ast_as_full_parse ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_python_modification ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_reuses_unchanged_nodes ... ok
[INFO] [stdout] test ast_builder::tests::javascript_root_is_program ... ok
[INFO] [stdout] test ast_builder::tests::node_count_limit_rejects_large_ast ... ok
[INFO] [stdout] test ast_builder::tests::parse_cpp_code ... ok
[INFO] [stdout] test ast_builder::tests::node_count_at_least_one ... ok
[INFO] [stdout] test ast_builder::tests::parse_c_code ... ok
[INFO] [stdout] test ast_builder::tests::parse_go_code ... ok
[INFO] [stdout] test ast_builder::tests::parse_json_code ... ok
[INFO] [stdout] test ast_builder::tests::identical_rust_sources_have_equal_structural_hashes ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_go ... ok
[INFO] [stdout] test ast_builder::tests::test_byte_to_char_col_mid_multibyte_safety ... ok
[INFO] [stdout] test ast_builder::tests::python_root_is_module ... ok
[INFO] [stdout] test ast_builder::tests::recursion_depth_limit_rejects_deep_nesting ... ok
[INFO] [stdout] test ast_builder::tests::parse_with_tree_matches_regular_parse ... ok
[INFO] [stdout] test ast_builder::tests::test_is_significant_operator_tokens ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_zero_copy_rust ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_javascript ... ok
[INFO] [stdout] test ast_builder::tests::rust_root_is_source_file ... ok
[INFO] [stdout] test ast_builder::tests::parse_with_tree_returns_valid_tree ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_python ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_content_limits_max_file_size_exceeded ... ok
[INFO] [stdout] test ast_builder::tests::whitespace_only_source_parses_without_error ... ok
[INFO] [stdout] test ast_builder::tests::renamed_function_identical_identity_hash ... ok
[INFO] [stdout] test ast_builder::tests::typescript_root_is_program ... ok
[INFO] [stdout] test ast_builder::tests::test_byte_to_char_col_cjk_and_emojis ... ok
[INFO] [stdout] test ast_cache::tests::test_ast_cache_multiple_shards_distribution ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_build_and_blast_radius ... ok
[INFO] [stdout] test ast_cache::tests::test_ast_cache_stats_tracking ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_content_incremental_zero_changes ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_severity_thresholds ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_multiple_targets ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_cas_diff_put_get ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_no_calls ... ok
[INFO] [stdout] test ast_cache::tests::test_diff_cache_key_digest ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_cyclic_mutual_recursion ... ok
[INFO] [stdout] test ast_cache::tests::test_cache_key_equality ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_lock_striped_in_memory_put_get ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_empty_files ... ok
[INFO] [stdout] test commit_classification::tests::confidence_score_is_bounded ... ok
[INFO] [stdout] test commit_classification::tests::logic_only_no_changes_is_cleanup ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_self_recursion ... ok
[INFO] [stdout] test commit_classification::tests::many_inserts_classified_as_feature ... ok
[INFO] [stdout] test commit_classification::tests::renames_with_high_similarity_classified_as_refactor ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_atomic_disk_write_and_recovery ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_mutated_return_expression ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_display_strings ... ok
[INFO] [stdout] test config::tests::parse_valid_toml_config ... ok
[INFO] [stdout] test data_flow::tests::test_cosmetic_local_rename_detection ... ok
[INFO] [stdout] test commit_classification::tests::classification_json_roundtrip ... ok
[INFO] [stdout] test commit_classification::tests::commit_class_display ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_variable_count_mismatch ... ok
[INFO] [stdout] test data_flow::tests::test_extract_declared_variables_empty ... ok
[INFO] [stdout] test commit_classification::tests::modifications_with_control_flow_change_classified_as_bug_fix ... ok
[INFO] [stdout] test commit_classification::tests::no_ops_is_formatting_only ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_concurrent_striped_access ... ok
[INFO] [stdout] test git_layer::tests::test_shared_blob_reader_new ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_middle_of_second_line ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_start_of_string ... ok
[INFO] [stdout] test data_flow::tests::test_verify_def_use_isomorphism_token_count_mismatch ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_clamped_beyond_end ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_start_of_second_line ... ok
[INFO] [stdout] test incremental_parse::tests::complete_replacement ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_multiple_newlines ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_empty_string ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_middle_of_first_line ... ok
[INFO] [stdout] test incremental_parse::tests::empty_to_content ... ok
[INFO] [stdout] test incremental_parse::tests::identical_content_produces_empty_edit ... ok
[INFO] [stdout] test incremental_parse::tests::insertion_at_end ... ok
[INFO] [stdout] test incremental_parse::tests::multiline_edit_positions ... ok
[INFO] [stdout] test incremental_parse::tests::stats_merge ... ok
[INFO] [stdout] test incremental_parse::tests::overlap_with_multiple_ranges ... ok
[INFO] [stdout] test incremental_parse::tests::stats_default_is_zero ... ok
[INFO] [stdout] test incremental_parse::tests::replacement_in_middle ... ok
[INFO] [stdout] test ast_builder::tests::structural_hash_is_nonzero_after_parse ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_end_of_string ... ok
[INFO] [stdout] test ast_builder::tests::test_byte_to_char_col_edge_cases ... ok
[INFO] [stdout] test incremental_parse::tests::tree_cache_miss_returns_none ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_diamond_dependency ... ok
[INFO] [stdout] test incremental_parse::tests::tree_cache_put_and_get ... ok
[INFO] [stdout] test language::tests::js_extensions ... ok
[INFO] [stdout] test language::tests::go_extension ... ok
[INFO] [stdout] test language::tests::java_extension ... ok
[INFO] [stdout] test incremental_parse::tests::no_overlap_when_empty_ranges ... ok
[INFO] [stdout] test incremental_parse::tests::overlap_detected ... ok
[INFO] [stdout] test incremental_parse::tests::tree_cache_returns_cloned_tree ... ok
[INFO] [stdout] test language::tests::cpp_extensions ... ok
[INFO] [stdout] test language::tests::dotfile_without_extension_returns_none ... ok
[INFO] [stdout] test language::tests::path_with_directories_uses_last_extension ... ok
[INFO] [stdout] test language::tests::c_extensions ... ok
[INFO] [stdout] test language::tests::unknown_extension_returns_none ... ok
[INFO] [stdout] test incremental_parse::tests::content_to_empty ... ok
[INFO] [stdout] test incremental_parse::tests::deletion_at_end ... ok
[INFO] [stdout] test incremental_parse::tests::edit_at_start_of_content ... ok
[INFO] [stdout] test incremental_parse::tests::insertion_in_middle ... ok
[INFO] [stdout] test language::tests::python_extensions ... ok
[INFO] [stdout] test node_identity::tests::content_change_not_only_identifiers ... ok
[INFO] [stdout] test node_identity::tests::completely_different_nodes_low_similarity ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_identical_clean_merge ... ok
[INFO] [stdout] test node_identity::tests::children_have_different_context_hashes_from_parent ... ok
[INFO] [stdout] test node_identity::tests::comment_leaf_non_logic_only_differs ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_disjoint_ast_modifications ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_base_equals_ours_updates_to_theirs ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_conflict_writes_headers ... ok
[INFO] [stdout] test language::tests::tree_sitter_language_roundtrip ... ok
[INFO] [stdout] test node_identity::tests::context_hash_is_nonzero ... ok
[INFO] [stdout] test node_identity::tests::different_child_kinds_different_structural_hash ... ok
[INFO] [stdout] test language::tests::ts_extensions ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_base_equals_theirs_keeps_ours ... ok
[INFO] [stdout] test node_identity::tests::comment_leaf_logic_only_uses_placeholder ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_unchanged_identical ... ok
[INFO] [stdout] test language::tests::rust_extension ... ok
[INFO] [stdout] test language::tests::json_extensions ... ok
[INFO] [stdout] test node_identity::tests::identical_nodes_similarity_is_one ... ok
[INFO] [stdout] test node_identity::tests::content_hash_is_nonzero ... ok
[INFO] [stdout] test node_identity::tests::different_kind_different_structural_hash ... ok
[INFO] [stdout] test node_identity::tests::identifier_normalised_in_identity_hash ... ok
[INFO] [stdout] test node_identity::tests::identifiers_differ_in_content_hash ... ok
[INFO] [stdout] test node_identity::tests::incremental_reuse_count_is_zero_when_all_changed ... ok
[INFO] [stdout] test node_identity::tests::incremental_hashes_match_full_hashes_changed ... ok
[INFO] [stdout] test node_identity::tests::incremental_hashes_match_full_hashes_unchanged ... ok
[INFO] [stdout] test node_identity::tests::inner_node_structural_hash_depends_on_child_kinds ... ok
[INFO] [stdout] test node_identity::tests::non_identifier_leaf_not_normalised ... ok
[INFO] [stdout] test node_identity::tests::only_identifiers_changed_detects_rename ... ok
[INFO] [stdout] test node_identity::tests::parent_content_hash_changes_when_child_changes ... ok
[INFO] [stdout] test node_identity::tests::same_kind_leaf_same_structural_hash ... ok
[INFO] [stdout] test node_identity::tests::renamed_function_body_same_identity ... ok
[INFO] [stdout] test node_identity::tests::leaf_structural_hash_is_nonzero ... ok
[INFO] [stdout] test node_identity::tests::test_token_bitset_deterministic ... ok
[INFO] [stdout] test output::tests::format_html_renders_doctype ... ok
[INFO] [stdout] test node_identity::tests::test_token_bitset_units ... ok
[INFO] [stdout] test output::tests::format_name_only_renders_paths ... ok
[INFO] [stdout] test node_identity::tests::test_simd_jaccard_histogram_units ... ok
[INFO] [stdout] test node_identity::tests::test_structural_similarity_empty ... ok
[INFO] [stdout] test node_identity::tests::test_collect_leaf_tokens_single ... ok
[INFO] [stdout] test node_identity::tests::same_identifiers_same_content_hash ... ok
[INFO] [stdout] test output::tests::format_sarif_renders_valid_json ... ok
[INFO] [stdout] test node_identity::tests::test_token_similarity_units ... ok
[INFO] [stdout] test output::tests::format_markdown_renders_table ... ok
[INFO] [stdout] test output::tests::format_stat_renders_summary ... ok
[INFO] [stdout] test query_dsl::tests::test_custom_query_rule_clone ... ok
[INFO] [stdout] test query_dsl::tests::test_lint_finding_fields ... ok
[INFO] [stdout] test output::tests::parse_output_format_strings ... ok
[INFO] [stdout] test node_identity::tests::non_identifier_content_differs ... ok
[INFO] [stdout] test output::tests::test_determine_granularity_auto_detection ... ok
[INFO] [stdout] test output::tests::format_jsonl_renders_lines ... ok
[INFO] [stdout] test query_dsl::tests::test_rule_severity_serde_roundtrip ... ok
[INFO] [stdout] test query_dsl::tests::test_query_severity_parse_warn_and_info ... ok
[INFO] [stdout] test query_dsl::tests::test_rule_severity_display_strings ... ok
[INFO] [stdout] test refactor_detection::tests::detect_move_method_from_move_op ... ok
[INFO] [stdout] test query_dsl::tests::test_query_engine_load_from_nonexistent_dir ... ok
[INFO] [stdout] test query_dsl::tests::test_query_lint_files_clean_pass ... ok
[INFO] [stdout] test refactor_detection::tests::detect_rename_variable_from_rename_op ... ok
[INFO] [stdout] test refactor_detection::tests::extract_name_from_details_works ... ok
[INFO] [stdout] test query_dsl::tests::query_engine_evaluate_rules_annotates_matching_ops ... ok
[INFO] [stdout] test query_dsl::tests::query_engine_load_from_dir_parses_scm_files ... ok
[INFO] [stdout] test query_dsl::tests::test_lint_result_serialization ... ok
[INFO] [stdout] test refactor_detection::tests::test_detect_extract_method_pattern ... ok
[INFO] [stdout] test refactor_detection::tests::test_extract_old_name_malformed ... ok
[INFO] [stdout] test node_identity::tests::test_composite_similarity_range ... ok
[INFO] [stdout] test refactor_detection::tests::test_is_function_entity ... ok
[INFO] [stdout] test node_identity::tests::test_is_identifier_kind_all_grammars ... ok
[INFO] [stdout] test refactor_detection::tests::test_refactor_kind_display ... ok
[INFO] [stdout] test node_identity::tests::test_token_histogram_units ... ok
[INFO] [stdout] test semantic_similarity::tests::complexity_delta_positive_when_branch_added ... ok
[INFO] [stdout] test semantic_similarity::tests::test_count_nodes_nested ... ok
[INFO] [stdout] test semantic_similarity::tests::control_flow_change_detected ... ok
[INFO] [stdout] test refactor_detection::tests::no_patterns_for_simple_insert ... ok
[INFO] [stdout] test refactor_detection::tests::rename_name_extraction ... ok
[INFO] [stdout] test semantic_similarity::tests::test_compute_positional_penalty_empty_ast ... ok
[INFO] [stdout] test semantic_similarity::tests::test_cyclomatic_complexity_for_loop ... ok
[INFO] [stdout] test semantic_similarity::tests::test_cyclomatic_complexity_while_loop ... ok
[INFO] [stdout] test node_identity::tests::test_is_scope_declaration_boundary_all_languages ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_omitted_resource_cleanup_violation ... ok
[INFO] [stdout] test output::tests::test_format_prompt_renders_llm_context ... ok
[INFO] [stdout] test output::tests::test_format_micro_cli_output ... ok
[INFO] [stdout] test output::tests::test_format_cli_with_granularity ... ok
[INFO] [stdout] test semantic_similarity::tests::small_change_high_similarity ... ok
[INFO] [stdout] test semantic_similarity::tests::test_change_intensity_display ... ok
[INFO] [stdout] test semantic_similarity::tests::test_similarity_score_clamping ... ok
[INFO] [stdout] test semantic_similarity::tests::completely_different_code_low_similarity ... ok
[INFO] [stdout] test semantic_similarity::tests::identical_code_full_similarity ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_type_safe_refactors_none_when_identical ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_stripped_lock_guard_violation ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_type_safe_refactors_option_to_result ... ok
[INFO] [stdout] test symbol_tracking::tests::empty_input_produces_empty_tracking ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_type_safe_refactors_primitive_widening ... ok
[INFO] [stdout] test symbol_tracking::tests::classify_symbol_entity_covers_all_types ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_removed_null_check_violation ... ok
[INFO] [stdout] test symbol_tracking::tests::cross_file_move_detected ... ok
[INFO] [stdout] test symbol_tracking::tests::no_false_positive_when_symbol_stays ... ok
[INFO] [stdout] test symbol_tracking::tests::single_file_no_cross_file_events ... ok
[INFO] [stdout] test symbol_tracking::tests::test_classify_symbol_entity_more_types ... ok
[INFO] [stdout] test symbol_tracking::tests::test_symbol_entry_creation ... ok
[INFO] [stdout] test symbol_tracking::tests::test_symbol_index_empty ... ok
[INFO] [stdout] test symbol_tracking::tests::cross_file_rename_detected ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_removed_bounds_check_violation ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_contract_violations_empty_when_guard_preserved ... ok
[INFO] [stdout] test semantic_similarity::tests::test_cyclomatic_complexity_match_arms ... ok
[INFO] [stdout] test symbol_tracking::tests::symbol_table_counts_all_symbols ... ok
[INFO] [stdout] test semantic_similarity::tests::intensity_classification ... ok
[INFO] [stdout] test symbol_tracking::tests::cross_file_event_display ... ok
[INFO] [stdout] test semantic_similarity::tests::test_compute_positional_penalty_reversed_tokens ... ok
[INFO] [stdout] test tree_diff::tests::count_nodes_grows_with_source ... ok
[INFO] [stdout] test tree_diff::tests::count_nodes_single ... ok
[INFO] [stdout] test tree_diff::tests::identical_files_no_ops ... ok
[INFO] [stdout] test tree_diff::tests::comment_only_change_produces_no_ops_in_logic_only ... ok
[INFO] [stdout] test tree_diff::tests::added_function_produces_insert ... ok
[INFO] [stdout] test tree_diff::tests::inserted_rust_function_has_function_entity ... ok
[INFO] [stdout] test tree_diff::tests::insert_op_contains_detail_string ... ok
[INFO] [stdout] test tree_diff::tests::both_none_produces_no_ops ... ok
[INFO] [stdout] test tree_diff::tests::inserted_rust_struct_has_class_entity ... ok
[INFO] [stdout] test tree_diff::tests::delete_op_contains_detail_string ... ok
[INFO] [stdout] test tree_diff::tests::deleted_file_all_deletes ... ok
[INFO] [stdout] test tree_diff::tests::java_method_modify ... ok
[INFO] [stdout] test tree_diff::tests::test_classify_entity_all_branches ... ok
[INFO] [stdout] test tree_diff::tests::test_compute_diff_none_trees ... ok
[INFO] [stdout] test tree_diff::tests::compute_multi_file_diff_cross_file_move_test ... ok
[INFO] [stdout] test tree_diff::tests::body_change_not_classified_as_rename ... ok
[INFO] [stdout] test tree_diff::tests::test_global_node_index_empty ... ok
[INFO] [stdout] test tree_diff::tests::test_go_function_rename ... ok
[INFO] [stdout] test tree_diff::tests::python_new_function_insert ... ok
[INFO] [stdout] test tree_diff::tests::global_node_index_build_test ... ok
[INFO] [stdout] test tree_diff::tests::removed_function_produces_delete ... ok
[INFO] [stdout] test tree_diff::tests::test_is_significant_kind_all_branches ... ok
[INFO] [stdout] test tree_diff::tests::test_c_function_insert_and_delete ... ok
[INFO] [stdout] test tree_diff::tests::js_function_delete ... ok
[INFO] [stdout] test tree_diff::tests::modified_function_produces_modify ... ok
[INFO] [stdout] test tree_diff::tests::moved_function_produces_move ... ok
[INFO] [stdout] test types::tests::display_all_languages ... ok
[INFO] [stdout] test types::tests::display_entity_types ... ok
[INFO] [stdout] test tree_diff::tests::new_file_all_inserts ... ok
[INFO] [stdout] test types::tests::display_operation_types ... ok
[INFO] [stdout] test types::tests::file_change_clone ... ok
[INFO] [stdout] test types::tests::entity_type_serialises_to_lowercase ... ok
[INFO] [stdout] test types::tests::test_commit_class_display_all_variants ... ok
[INFO] [stdout] test types::tests::language_eq_and_clone ... ok
[INFO] [stdout] test tree_diff::tests::test_compute_multi_file_diff_empty ... ok
[INFO] [stdout] test types::tests::operation_record_new_location_omitted_when_none ... ok
[INFO] [stdout] test types::tests::test_blast_radius_report_serialization ... ok
[INFO] [stdout] test types::tests::operation_record_json_roundtrip ... ok
[INFO] [stdout] test types::tests::operation_record_old_location_omitted_when_none ... ok
[INFO] [stdout] test tree_diff::tests::python_class_rename ... ok
[INFO] [stdout] test types::tests::diff_summary_json_roundtrip ... ok
[INFO] [stdout] test tree_diff::tests::renamed_function_produces_rename ... ok
[INFO] [stdout] test tree_diff::tests::test_json_key_modify ... ok
[INFO] [stdout] test types::tests::test_change_status_debug ... ok
[INFO] [stdout] test types::tests::test_contract_violation_serialization ... ok
[INFO] [stdout] test tui::tests::run_tui_inspector_executes_cleanly ... ok
[INFO] [stdout] test types::tests::change_status_variants ... ok
[INFO] [stdout] test types::tests::test_display_granularity_display_all ... ok
[INFO] [stdout] test types::tests::test_file_diff_empty ... ok
[INFO] [stdout] test types::tests::test_parser_limits_default_and_hash ... ok
[INFO] [stdout] test types::tests::test_supported_language_display_variants ... ok
[INFO] [stdout] test types::tests::operation_type_serialises_to_uppercase ... ok
[INFO] [stdout] test git_layer::tests::test_resolve_commit_nonexistent_reference ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 273 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/symtrace/45db46d53a0f8478/out/symtrace-45db46d53a0f8478)
[INFO] [stdout] 
[INFO] [stdout] running 276 tests
[INFO] [stdout] test ast_builder::tests::identical_rust_sources_have_equal_structural_hashes ... ok
[INFO] [stdout] test ast_builder::tests::identity_hash_is_nonzero_after_parse ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_insertion ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_python_modification ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_identical_content_reuses_all ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_reuses_unchanged_nodes ... ok
[INFO] [stdout] test ast_builder::tests::different_rust_sources_have_different_structural_hashes ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_java_modification ... ok
[INFO] [stdout] test ast_builder::tests::java_root_is_program ... ok
[INFO] [stdout] test ast_builder::tests::node_count_at_least_one ... ok
[INFO] [stdout] test ast_builder::tests::leaf_nodes_carry_text ... ok
[INFO] [stdout] test ast_builder::tests::default_limits_accept_normal_input ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_complete_change_still_correct ... ok
[INFO] [stdout] test ast_builder::tests::logic_only_rust_comment_stripped ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_deletion ... ok
[INFO] [stdout] test ast_builder::tests::node_count_limit_rejects_large_ast ... ok
[INFO] [stdout] test ast_builder::tests::javascript_root_is_program ... ok
[INFO] [stdout] test ast_builder::tests::parse_with_tree_matches_regular_parse ... ok
[INFO] [stdout] test ast_builder::tests::larger_source_has_more_nodes ... ok
[INFO] [stdout] test ast_builder::tests::parse_c_code ... ok
[INFO] [stdout] test ast_builder::tests::parse_cpp_code ... ok
[INFO] [stdout] test ast_builder::tests::parse_with_tree_returns_valid_tree ... ok
[INFO] [stdout] test ast_builder::tests::python_root_is_module ... ok
[INFO] [stdout] test ast_builder::tests::parse_go_code ... ok
[INFO] [stdout] test ast_builder::tests::parse_json_code ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_produces_same_ast_as_full_parse ... ok
[INFO] [stdout] test ast_builder::tests::recursion_depth_limit_rejects_deep_nesting ... ok
[INFO] [stdout] test ast_builder::tests::file_size_limit_rejects_oversized_input ... ok
[INFO] [stdout] test ast_builder::tests::incremental_parse_logic_only ... ok
[INFO] [stdout] test ast_builder::tests::renamed_function_identical_identity_hash ... ok
[INFO] [stdout] test ast_builder::tests::empty_source_parses_without_error ... ok
[INFO] [stdout] test ast_builder::tests::test_byte_to_char_col_mid_multibyte_safety ... ok
[INFO] [stdout] test ast_builder::tests::structural_hash_is_nonzero_after_parse ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_go ... ok
[INFO] [stdout] test ast_builder::tests::all_node_ids_are_unique ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_javascript ... ok
[INFO] [stdout] test ast_builder::tests::test_byte_to_char_col_cjk_and_emojis ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_content_incremental_zero_changes ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_python ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_bytes_zero_copy_rust ... ok
[INFO] [stdout] test ast_builder::tests::test_is_significant_operator_tokens ... ok
[INFO] [stdout] test ast_builder::tests::rust_root_is_source_file ... ok
[INFO] [stdout] test ast_builder::tests::test_byte_to_char_col_edge_cases ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_empty_files ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_multiple_targets ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_no_calls ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_self_recursion ... ok
[INFO] [stdout] test ast_builder::tests::test_parse_content_limits_max_file_size_exceeded ... ok
[INFO] [stdout] test ast_builder::tests::typescript_root_is_program ... ok
[INFO] [stdout] test ast_builder::tests::whitespace_only_source_parses_without_error ... ok
[INFO] [stdout] test commit_classification::tests::logic_only_no_changes_is_cleanup ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_lock_striped_in_memory_put_get ... ok
[INFO] [stdout] test ast_cache::tests::test_ast_cache_multiple_shards_distribution ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_atomic_disk_write_and_recovery ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_cas_diff_put_get ... ok
[INFO] [stdout] test commit_classification::tests::many_inserts_classified_as_feature ... ok
[INFO] [stdout] test commit_classification::tests::confidence_score_is_bounded ... ok
[INFO] [stdout] test ast_cache::tests::test_ast_cache_stats_tracking ... ok
[INFO] [stdout] test ast_cache::tests::test_cache_key_equality ... ok
[INFO] [stdout] test commit_classification::tests::commit_class_display ... ok
[INFO] [stdout] test commit_classification::tests::no_ops_is_formatting_only ... ok
[INFO] [stdout] test ast_cache::tests::test_diff_cache_key_digest ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_display_strings ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_build_and_blast_radius ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_cyclic_mutual_recursion ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_mutated_return_expression ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_diamond_dependency ... ok
[INFO] [stdout] test commit_classification::tests::renames_with_high_similarity_classified_as_refactor ... ok
[INFO] [stdout] test commit_classification::tests::modifications_with_control_flow_change_classified_as_bug_fix ... ok
[INFO] [stdout] test call_graph::tests::test_call_graph_severity_thresholds ... ok
[INFO] [stdout] test commit_classification::tests::classification_json_roundtrip ... ok
[INFO] [stdout] test data_flow::tests::test_cosmetic_local_rename_detection ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_variable_count_mismatch ... ok
[INFO] [stdout] test config::tests::parse_valid_toml_config ... ok
[INFO] [stdout] test data_flow::tests::test_extract_declared_variables_empty ... ok
[INFO] [stdout] test data_flow::tests::test_verify_def_use_isomorphism_token_count_mismatch ... ok
[INFO] [stdout] test data_flow::tests::test_data_flow_unchanged_identical ... ok
[INFO] [stdout] test ast_cache::tests::ast_cache_concurrent_striped_access ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_multiple_newlines ... ok
[INFO] [stdout] test incremental_parse::tests::deletion_at_end ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_clamped_beyond_end ... ok
[INFO] [stdout] test incremental_parse::tests::edit_at_start_of_content ... ok
[INFO] [stdout] test incremental_parse::tests::empty_to_content ... ok
[INFO] [stdout] test incremental_parse::tests::identical_content_produces_empty_edit ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_empty_string ... ok
[INFO] [stdout] test incremental_parse::tests::insertion_at_end ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_end_of_string ... ok
[INFO] [stdout] test git_layer::tests::test_shared_blob_reader_new ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_middle_of_first_line ... ok
[INFO] [stdout] test incremental_parse::tests::no_overlap_when_empty_ranges ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_middle_of_second_line ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_start_of_second_line ... ok
[INFO] [stdout] test incremental_parse::tests::byte_to_point_start_of_string ... ok
[INFO] [stdout] test incremental_parse::tests::complete_replacement ... ok
[INFO] [stdout] test incremental_parse::tests::content_to_empty ... ok
[INFO] [stdout] test incremental_parse::tests::stats_merge ... ok
[INFO] [stdout] test incremental_parse::tests::overlap_detected ... ok
[INFO] [stdout] test incremental_parse::tests::stats_default_is_zero ... ok
[INFO] [stdout] test incremental_parse::tests::tree_cache_put_and_get ... ok
[INFO] [stdout] test incremental_parse::tests::overlap_with_multiple_ranges ... ok
[INFO] [stdout] test language::tests::js_extensions ... ok
[INFO] [stdout] test language::tests::json_extensions ... ok
[INFO] [stdout] test language::tests::go_extension ... ok
[INFO] [stdout] test language::tests::java_extension ... ok
[INFO] [stdout] test language::tests::path_with_directories_uses_last_extension ... ok
[INFO] [stdout] test language::tests::rust_extension ... ok
[INFO] [stdout] test incremental_parse::tests::insertion_in_middle ... ok
[INFO] [stdout] test language::tests::tree_sitter_language_roundtrip ... ok
[INFO] [stdout] test language::tests::ts_extensions ... ok
[INFO] [stdout] test language::tests::unknown_extension_returns_none ... ok
[INFO] [stdout] test incremental_parse::tests::multiline_edit_positions ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_base_equals_theirs_keeps_ours ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_conflict_writes_headers ... ok
[INFO] [stdout] test node_identity::tests::comment_leaf_logic_only_uses_placeholder ... ok
[INFO] [stdout] test language::tests::dotfile_without_extension_returns_none ... ok
[INFO] [stdout] test node_identity::tests::content_change_not_only_identifiers ... ok
[INFO] [stdout] test language::tests::python_extensions ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_identical_clean_merge ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_base_equals_ours_updates_to_theirs ... ok
[INFO] [stdout] test node_identity::tests::identical_nodes_similarity_is_one ... ok
[INFO] [stdout] test node_identity::tests::comment_leaf_non_logic_only_differs ... ok
[INFO] [stdout] test node_identity::tests::context_hash_is_nonzero ... ok
[INFO] [stdout] test node_identity::tests::different_child_kinds_different_structural_hash ... ok
[INFO] [stdout] test node_identity::tests::identifier_normalised_in_identity_hash ... ok
[INFO] [stdout] test node_identity::tests::different_kind_different_structural_hash ... ok
[INFO] [stdout] test node_identity::tests::children_have_different_context_hashes_from_parent ... ok
[INFO] [stdout] test node_identity::tests::identifiers_differ_in_content_hash ... ok
[INFO] [stdout] test node_identity::tests::content_hash_is_nonzero ... ok
[INFO] [stdout] test node_identity::tests::incremental_hashes_match_full_hashes_unchanged ... ok
[INFO] [stdout] test incremental_parse::tests::tree_cache_miss_returns_none ... ok
[INFO] [stdout] test incremental_parse::tests::tree_cache_returns_cloned_tree ... ok
[INFO] [stdout] test incremental_parse::tests::replacement_in_middle ... ok
[INFO] [stdout] test language::tests::c_extensions ... ok
[INFO] [stdout] test merge_driver::tests::run_merge_driver_disjoint_ast_modifications ... ok
[INFO] [stdout] test node_identity::tests::inner_node_structural_hash_depends_on_child_kinds ... ok
[INFO] [stdout] test language::tests::cpp_extensions ... ok
[INFO] [stdout] test node_identity::tests::leaf_structural_hash_is_nonzero ... ok
[INFO] [stdout] test node_identity::tests::non_identifier_content_differs ... ok
[INFO] [stdout] test node_identity::tests::non_identifier_leaf_not_normalised ... ok
[INFO] [stdout] test node_identity::tests::test_collect_leaf_tokens_single ... ok
[INFO] [stdout] test node_identity::tests::same_kind_leaf_same_structural_hash ... ok
[INFO] [stdout] test node_identity::tests::only_identifiers_changed_detects_rename ... ok
[INFO] [stdout] test node_identity::tests::same_identifiers_same_content_hash ... ok
[INFO] [stdout] test node_identity::tests::incremental_hashes_match_full_hashes_changed ... ok
[INFO] [stdout] test node_identity::tests::incremental_reuse_count_is_zero_when_all_changed ... ok
[INFO] [stdout] test node_identity::tests::renamed_function_body_same_identity ... ok
[INFO] [stdout] test node_identity::tests::parent_content_hash_changes_when_child_changes ... ok
[INFO] [stdout] test node_identity::tests::test_is_scope_declaration_boundary_all_languages ... ok
[INFO] [stdout] test node_identity::tests::test_simd_jaccard_histogram_units ... ok
[INFO] [stdout] test node_identity::tests::test_token_bitset_units ... ok
[INFO] [stdout] test node_identity::tests::completely_different_nodes_low_similarity ... ok
[INFO] [stdout] test output::tests::test_determine_granularity_auto_detection ... ok
[INFO] [stdout] test node_identity::tests::test_token_bitset_deterministic ... ok
[INFO] [stdout] test node_identity::tests::test_token_similarity_units ... ok
[INFO] [stdout] test output::tests::test_format_cli_with_granularity ... ok
[INFO] [stdout] test output::tests::format_sarif_renders_valid_json ... ok
[INFO] [stdout] test output::tests::format_stat_renders_summary ... ok
[INFO] [stdout] test output::tests::format_html_renders_doctype ... ok
[INFO] [stdout] test output::tests::format_markdown_renders_table ... ok
[INFO] [stdout] test node_identity::tests::test_composite_similarity_range ... ok
[INFO] [stdout] test node_identity::tests::test_is_identifier_kind_all_grammars ... ok
[INFO] [stdout] test node_identity::tests::test_structural_similarity_empty ... ok
[INFO] [stdout] test output::tests::parse_output_format_strings ... ok
[INFO] [stdout] test query_dsl::tests::query_engine_load_from_dir_parses_scm_files ... ok
[INFO] [stdout] test query_dsl::tests::test_rule_severity_display_strings ... ok
[INFO] [stdout] test output::tests::test_format_micro_cli_output ... ok
[INFO] [stdout] test refactor_detection::tests::detect_move_method_from_move_op ... ok
[INFO] [stdout] test query_dsl::tests::test_lint_result_serialization ... ok
[INFO] [stdout] test query_dsl::tests::test_query_engine_load_from_nonexistent_dir ... ok
[INFO] [stdout] test query_dsl::tests::test_custom_query_rule_clone ... ok
[INFO] [stdout] test query_dsl::tests::test_query_lint_files_clean_pass ... ok
[INFO] [stdout] test query_dsl::tests::test_rule_severity_serde_roundtrip ... ok
[INFO] [stdout] test query_dsl::tests::test_lint_finding_fields ... ok
[INFO] [stdout] test refactor_detection::tests::detect_rename_variable_from_rename_op ... ok
[INFO] [stdout] test query_dsl::tests::test_query_severity_parse_warn_and_info ... ok
[INFO] [stdout] test refactor_detection::tests::no_patterns_for_simple_insert ... ok
[INFO] [stdout] test refactor_detection::tests::test_extract_old_name_malformed ... ok
[INFO] [stdout] test semantic_similarity::tests::complexity_delta_positive_when_branch_added ... ok
[INFO] [stdout] test refactor_detection::tests::test_is_function_entity ... ok
[INFO] [stdout] test refactor_detection::tests::extract_name_from_details_works ... ok
[INFO] [stdout] test semantic_similarity::tests::control_flow_change_detected ... ok
[INFO] [stdout] test refactor_detection::tests::rename_name_extraction ... ok
[INFO] [stdout] test refactor_detection::tests::test_detect_extract_method_pattern ... ok
[INFO] [stdout] test refactor_detection::tests::test_refactor_kind_display ... ok
[INFO] [stdout] test semantic_similarity::tests::small_change_high_similarity ... ok
[INFO] [stdout] test semantic_similarity::tests::test_change_intensity_display ... ok
[INFO] [stdout] test semantic_similarity::tests::completely_different_code_low_similarity ... ok
[INFO] [stdout] test semantic_similarity::tests::test_compute_positional_penalty_empty_ast ... ok
[INFO] [stdout] test output::tests::test_format_prompt_renders_llm_context ... ok
[INFO] [stdout] test semantic_similarity::tests::test_count_nodes_nested ... ok
[INFO] [stdout] test semantic_similarity::tests::identical_code_full_similarity ... ok
[INFO] [stdout] test semantic_similarity::tests::test_compute_positional_penalty_reversed_tokens ... ok
[INFO] [stdout] test semantic_similarity::tests::intensity_classification ... ok
[INFO] [stdout] test semantic_similarity::tests::test_similarity_score_clamping ... ok
[INFO] [stdout] test semantic_similarity::tests::test_cyclomatic_complexity_match_arms ... ok
[INFO] [stdout] test semantic_similarity::tests::test_cyclomatic_complexity_for_loop ... ok
[INFO] [stdout] test query_dsl::tests::query_engine_evaluate_rules_annotates_matching_ops ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_omitted_resource_cleanup_violation ... ok
[INFO] [stdout] test semantic_similarity::tests::test_cyclomatic_complexity_while_loop ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_removed_null_check_violation ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_contract_violations_empty_when_guard_preserved ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_stripped_lock_guard_violation ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_removed_bounds_check_violation ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_type_safe_refactors_none_when_identical ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_type_safe_refactors_option_to_result ... ok
[INFO] [stdout] test semantic_type::tests::test_detect_type_safe_refactors_primitive_widening ... ok
[INFO] [stdout] test symbol_tracking::tests::cross_file_event_display ... ok
[INFO] [stdout] test symbol_tracking::tests::classify_symbol_entity_covers_all_types ... ok
[INFO] [stdout] test symbol_tracking::tests::cross_file_rename_detected ... ok
[INFO] [stdout] test symbol_tracking::tests::cross_file_move_detected ... ok
[INFO] [stdout] test symbol_tracking::tests::no_false_positive_when_symbol_stays ... ok
[INFO] [stdout] test symbol_tracking::tests::single_file_no_cross_file_events ... ok
[INFO] [stdout] test symbol_tracking::tests::empty_input_produces_empty_tracking ... ok
[INFO] [stdout] test symbol_tracking::tests::symbol_table_counts_all_symbols ... ok
[INFO] [stdout] test symbol_tracking::tests::test_classify_symbol_entity_more_types ... ok
[INFO] [stdout] test symbol_tracking::tests::test_symbol_entry_creation ... ok
[INFO] [stdout] test symbol_tracking::tests::test_symbol_index_empty ... ok
[INFO] [stdout] test tests::test_build_summary_counts ... ok
[INFO] [stdout] test tree_diff::tests::added_function_produces_insert ... ok
[INFO] [stdout] test tests::test_read_file_content_or_none_special_paths ... ok
[INFO] [stdout] test tree_diff::tests::both_none_produces_no_ops ... ok
[INFO] [stdout] test tree_diff::tests::comment_only_change_produces_no_ops_in_logic_only ... ok
[INFO] [stdout] test tree_diff::tests::body_change_not_classified_as_rename ... ok
[INFO] [stdout] test tree_diff::tests::count_nodes_grows_with_source ... ok
[INFO] [stdout] test tree_diff::tests::count_nodes_single ... ok
[INFO] [stdout] test tree_diff::tests::delete_op_contains_detail_string ... ok
[INFO] [stdout] test tests::test_collect_source_files_recursive ... ok
[INFO] [stdout] test tree_diff::tests::deleted_file_all_deletes ... ok
[INFO] [stdout] test tree_diff::tests::inserted_rust_function_has_function_entity ... ok
[INFO] [stdout] test tree_diff::tests::identical_files_no_ops ... ok
[INFO] [stdout] test tree_diff::tests::insert_op_contains_detail_string ... ok
[INFO] [stdout] test tree_diff::tests::inserted_rust_struct_has_class_entity ... ok
[INFO] [stdout] test tree_diff::tests::java_method_modify ... ok
[INFO] [stdout] test tree_diff::tests::modified_function_produces_modify ... ok
[INFO] [stdout] test tree_diff::tests::python_class_rename ... ok
[INFO] [stdout] test tree_diff::tests::moved_function_produces_move ... ok
[INFO] [stdout] test tree_diff::tests::python_new_function_insert ... ok
[INFO] [stdout] test tree_diff::tests::new_file_all_inserts ... ok
[INFO] [stdout] test tree_diff::tests::compute_multi_file_diff_cross_file_move_test ... ok
[INFO] [stdout] test tree_diff::tests::js_function_delete ... ok
[INFO] [stdout] test tree_diff::tests::global_node_index_build_test ... ok
[INFO] [stdout] test tree_diff::tests::test_is_significant_kind_all_branches ... ok
[INFO] [stdout] test types::tests::change_status_variants ... ok
[INFO] [stdout] test tree_diff::tests::test_classify_entity_all_branches ... ok
[INFO] [stdout] test tree_diff::tests::test_compute_multi_file_diff_empty ... ok
[INFO] [stdout] test tui::tests::run_tui_inspector_executes_cleanly ... ok
[INFO] [stdout] test types::tests::diff_summary_json_roundtrip ... ok
[INFO] [stdout] test tree_diff::tests::removed_function_produces_delete ... ok
[INFO] [stdout] test types::tests::language_eq_and_clone ... ok
[INFO] [stdout] test types::tests::entity_type_serialises_to_lowercase ... ok
[INFO] [stdout] test types::tests::display_entity_types ... ok
[INFO] [stdout] test types::tests::display_all_languages ... ok
[INFO] [stdout] test types::tests::operation_record_new_location_omitted_when_none ... ok
[INFO] [stdout] test types::tests::display_operation_types ... ok
[INFO] [stdout] test types::tests::file_change_clone ... ok
[INFO] [stdout] test tree_diff::tests::test_c_function_insert_and_delete ... ok
[INFO] [stdout] test types::tests::operation_type_serialises_to_uppercase ... ok
[INFO] [stdout] test types::tests::test_blast_radius_report_serialization ... ok
[INFO] [stdout] test types::tests::operation_record_json_roundtrip ... ok
[INFO] [stdout] test types::tests::operation_record_old_location_omitted_when_none ... ok
[INFO] [stdout] test types::tests::test_commit_class_display_all_variants ... ok
[INFO] [stdout] test types::tests::test_change_status_debug ... ok
[INFO] [stdout] test tree_diff::tests::renamed_function_produces_rename ... ok
[INFO] [stdout] test types::tests::test_file_diff_empty ... ok
[INFO] [stdout] test types::tests::test_contract_violation_serialization ... ok
[INFO] [stdout] test types::tests::test_display_granularity_display_all ... ok
[INFO] [stdout] test tree_diff::tests::test_global_node_index_empty ... ok
[INFO] [stdout] test tree_diff::tests::test_go_function_rename ... ok
[INFO] [stdout] test types::tests::test_parser_limits_default_and_hash ... ok
[INFO] [stdout] test types::tests::test_supported_language_display_variants ... ok
[INFO] [stdout] test tree_diff::tests::test_json_key_modify ... ok
[INFO] [stdout] test git_layer::tests::test_resolve_commit_nonexistent_reference ... ok
[INFO] [stdout] test node_identity::tests::test_token_histogram_units ... ok
[INFO] [stdout] test output::tests::format_jsonl_renders_lines ... ok
[INFO] [stdout] test output::tests::format_name_only_renders_paths ... ok
[INFO] [stdout] test tree_diff::tests::test_compute_diff_none_trees ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 276 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/differential_tests.rs (/opt/rustwide/target/debug/build/symtrace/f4ea94bcd7f7a9ee/out/differential_tests-f4ea94bcd7f7a9ee)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test test_contract_violation_safety_guard_removal ... ok
[INFO] [stdout] test test_differential_json_ast_structural_equality ... ok
[INFO] [stdout] test test_cross_file_call_graph_transitive_blast_radius ... ok
[INFO] [stdout] test test_differential_contract_violation_mutex_lock_removal ... ok
[INFO] [stdout] test test_data_flow_cosmetic_rename_vs_mutation ... ok
[INFO] [stdout] test test_declarative_linter_rule_severity_and_threshold ... ok
[INFO] [stdout] test test_differential_blast_radius_multilevel_dag ... ok
[INFO] [stdout] test test_3way_merge_tree_sitter_validation ... ok
[INFO] [stdout] test differential_refactor_detection_extract_method ... ok
[INFO] [stdout] test test_differential_cpp_smart_pointer_transition ... ok
[INFO] [stdout] test test_differential_llm_prompt_density_and_content ... ok
[INFO] [stdout] test test_differential_go_error_handling_idiom ... ok
[INFO] [stdout] test test_differential_java_generic_refactoring ... ok
[INFO] [stdout] test test_operator_token_mutation_sensitivity ... ok
[INFO] [stdout] test differential_cross_file_movement ... ok
[INFO] [stdout] test test_differential_syntax_error_recovery_ast ... ok
[INFO] [stdout] test test_differential_c_macro_and_struct_mutation ... ok
[INFO] [stdout] test test_frequency_multiset_jaccard_token_similarity ... ok
[INFO] [stdout] test test_micro_compact_renderer_single_line_edit ... ok
[INFO] [stdout] test test_differential_python_async_def_mutation ... ok
[INFO] [stdout] test test_fast_path_isomorphic_micro_edit ... ok
[INFO] [stdout] test test_differential_typescript_interface_refactor ... ok
[INFO] [stdout] test test_oversized_file_windowed_collection ... ok
[INFO] [stdout] test test_type_safe_refactor_detection ... ok
[INFO] [stdout] test test_positional_displacement_penalty ... ok
[INFO] [stdout] test test_simd_jaccard_histogram_calculation ... ok
[INFO] [stdout] test test_utf8_char_offset_alignment_with_emojis ... ok
[INFO] [stdout] test test_zero_copy_parse_bytes ... ok
[INFO] [stdout] test zero_false_positives_c_formatting ... ok
[INFO] [stdout] test zero_false_positives_javascript_formatting ... ok
[INFO] [stdout] test zero_false_positives_rust_formatting ... ok
[INFO] [stdout] test zero_false_positives_python_formatting ... ok
[INFO] [stdout] test test_differential_cas_cache_roundtrip_warm_hit ... ok
[INFO] [stdout] test test_parallel_global_node_index_build ... ok
[INFO] [stdout] test test_differential_multi_file_pr_100_files ... ok
[INFO] [stdout] test test_windowed_pruning_deep_hierarchy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/proptests.rs (/opt/rustwide/target/debug/build/symtrace/1b6f557734f6a99a/out/proptests-1b6f557734f6a99a)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test prop_granularity_promotion_monotonicity ... ok
[INFO] [stdout] test prop_simd_jaccard_self_symmetry ... ok
[INFO] [stdout] test prop_simd_jaccard_histogram_bounds ... ok
[INFO] [stdout] test prop_byte_to_char_ascii ... ok
[INFO] [stdout] test prop_diff_self_symmetry ... ok
[INFO] [stdout] test prop_ast_cache_put_get_consistency ... ok
[INFO] [stdout] test prop_byte_to_char_monotonicity ... ok
[INFO] [stdout] test prop_content_hash_changes_on_literal_change ... ok
[INFO] [stdout] test prop_call_graph_blast_radius_bounded_by_nodes ... ok
[INFO] [stdout] test prop_multiset_positional_penalty_bounds ... ok
[INFO] [stdout] test prop_data_flow_self_analysis_unchanged ... ok
[INFO] [stdout] test prop_token_bitset_subset ... ok
[INFO] [stdout] test prop_3way_merge_identical_clean ... ok
[INFO] [stdout] test prop_diff_cache_key_digest_stability ... ok
[INFO] [stdout] test prop_diff_determinism ... ok
[INFO] [stdout] test prop_diff_cache_key_digest_uniqueness ... ok
[INFO] [stdout] test prop_token_histogram_sum ... ok
[INFO] [stdout] test prop_type_safe_refactor_fuzz ... ok
[INFO] [stdout] test prop_parser_resilience ... ok
[INFO] [stdout] test prop_structural_hash_rename_invariant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests symtrace
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292", kill_on_drop: false }`
[INFO] [stdout] 1299a1afad6cb4d122dc7de1c36637af1e2169c82745ade125fe3b92f2061292
