[INFO] fetching crate rustqual 1.8.3...
[INFO] testing rustqual-1.8.3 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate rustqual 1.8.3 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate rustqual 1.8.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rustqual 1.8.3
[INFO] tweaked toml for crates.io crate rustqual 1.8.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustqual 1.8.3 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 crates.io crate rustqual 1.8.3 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toon-encode v0.1.1
[INFO] [stderr]   Downloaded clap_complete v4.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71
[INFO] running `Command { std: "docker" "start" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", 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" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71" "/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" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", 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" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toon-encode v0.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rustqual v1.8.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.16s
[INFO] running `Command { std: "docker" "inspect" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", 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" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling rustqual v1.8.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 55.33s
[INFO] running `Command { std: "docker" "inspect" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", 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" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustqual-c5303d185f647442)
[INFO] [stdout] 
[INFO] [stdout] running 2334 tests
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::pattern_collectors::push_pat_ident_recurses_into_at_subpattern ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::pattern_collectors::parse_macro_tokens_extracts_let_init_exprs ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_unqualified_via_use_alias ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::receiver_tracking::test_tracker_factory_helper_unresolved_falls_back_to_method_shape ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_in_macro_descends ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::inference_fallback::test_existing_fast_path_still_works_without_index ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_turbofish_stripped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::receiver_tracking::test_tracker_unknown_receiver_falls_back_to_method_shape ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::pattern_collectors::collect_pattern_idents_covers_every_binding_kind ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_direct_qualified_call ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_empty_body_yields_no_calls ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::inference_fallback::test_inference_fallback_resolves_session_diff_through_open_result ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_collect_crate_root_modules_from_paths ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_external_call_without_use_still_falls_to_bare ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_collect_async_block ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::receiver_tracking::test_tracker_shadowing_uses_latest ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::inference_fallback::test_inference_fallback_resolves_field_access ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::pattern_collectors::extract_pat_ident_name_peels_ident_and_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_local_helper_call_resolves_to_crate_module ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::pattern_collectors::calls_inside_while_loop_are_collected ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_qualified_impl_path_does_not_double_crate ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_rust2018_absolute_import_resolves_to_crate_rooted ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_super_aliased_call_normalises_to_crate_rooted ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_rust2018_absolute_call_without_use_resolves_to_crate_rooted ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_top_level_self_as_alias_maps_to_current_file ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_collect_await_is_not_extra_call ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_in_semicolon_separated_macro_descends ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_collect_closure_body_collected ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_self_super_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::resolution_misc::test_unqualified_local_type_in_signature_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::basic::test_collect_unqualified_no_alias_is_bare ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_a::misc::test_adapter_fn_not_in_any_adapter_layer_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_a::misc::test_finding_line_is_fn_sig_line ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_collect_inferred_generic_call_resolves_via_use ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::receiver_tracking::test_tracker_fn_param_box_ref_mut_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::receiver_tracking::tracker_resolves_receiver_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_multiple_turbofish_calls_to_same_fn_resolve_to_one_canonical ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_collect_self_dispatch_in_impl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_collect_turbofish_call_resolves_via_use ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_turbofish_in_impl_method_body_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_turbofish_via_child_module_qualified_path_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::anchor_edge_cases::anchor_finding_carries_trait_method_source_line ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::anchor_edge_cases::check_b_does_not_skip_concrete_when_an_adapter_calls_it_directly ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::anchor_edge_cases::check_b_anchor_inspected_even_when_target_layer_absent_from_pub_fns_map ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::calls::turbofish::test_turbofish_unresolved_path_still_bare ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_a::misc::test_adapter_fn_cfg_test_file_skipped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::cfg_test_impl::file_fn_collector_skips_cfg_test_impl_block ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::hints::check_b_hint_suggests_private_attributed_fn_when_it_reaches_target ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::cfg_test_impl::pub_fns_skips_cfg_test_impl_block ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::missing_adapter::test_target_fn_only_called_from_tests_fails ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_loop_single_target_silent ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::coverage::target_fn_adapter_coverage ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::anchor_edge_cases::check_b_anchor_only_target_surface_still_inspected ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::promotion::check_b_cascade_clears_when_target_reached_via_generic_trait_dispatch ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::promotion::check_b_promoted_attribute_lifts_private_fn_onto_handler_surface ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::cfg_test_impl::cfg_test_trait_methods_excluded_from_anchor_capabilities ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_severity_off_skips_check ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::alias_chain_skips_aliases_inside_cfg_test_mod ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::build_reexports_resolves_non_test_file_pub_uses ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::coverage::check_b_silent_when_target_fully_covered_or_out_of_scope ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::file_root_visibility_descends_the_module_chain_to_nested_files ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_finding_lists_touchpoints ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::collect_local_symbols_covers_every_item_kind ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_a::table::adapter_delegation_flagging ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_single_touchpoint_silent ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::graph_excludes_test_fns_as_callers ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::missing_adapter::check_b_reports_specific_missing_adapter ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::graph_excludes_test_impl_methods_as_callers ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::hints::check_b_no_hint_when_promotion_would_not_resolve_the_finding ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_reports_both_touchpoints_for_sequence_and_branch ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collect_findings_integration::collect_findings_enriches_missing_adapter_findings_with_hints ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::visibility::check_b_orphan_and_boundary_target_visibility ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::visible_type_canonicals_include_public_decls_only ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::collectors_internal::workspace_type_canonicals_cover_kinds_and_skip_cfg_test_mod ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::hint::format_hint_uses_singular_vs_plural_per_count ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::hint::free_private_attributed_fn_is_recorded ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::hint::fn_in_invisible_impl_is_not_recorded ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::hint::fn_in_pub_inline_mod_is_recorded ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::hint::fn_in_private_inline_mod_is_not_recorded ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::hint::test_attributed_fn_is_not_recorded ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::peel_internal::peel_to_inner_path_peels_stdlib_wrapper_but_not_other_generics ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::peel_internal::peel_to_inner_path_unwraps_references_and_parens ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_severity_error_emits_finding ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::peel_internal::strip_wrappers_peels_parens_and_stdlib_owners ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_c::check_c_silent_for_single_trait_dispatch_with_multiple_impls ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::end_to_end_snapshot::check_b_asymmetric_coverage_is_flagged ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::end_to_end_snapshot::check_a_clean_on_session_handler_fixture ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_b::anchor_coverage::check_b_trait_anchor_coverage ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::end_to_end_snapshot::check_b_targets_reached_from_both_adapters ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::end_to_end_snapshot::check_b_unreached_pub_fn_is_flagged ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::any_adapter_counts_concrete_requires_a_real_count ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::binding_type_from_init_peels_try_await_and_parens ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::any_adapter_reaches_concrete_requires_a_real_hit ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::any_impl_canonical_covered_or_reachable_is_a_disjunction ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::normalize_after_alias_keeps_crate_rooted_paths ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::param_name_from_pat_handles_single_element_extractors_only ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::severity_for_multi_touchpoint_follows_single_touchpoint_mode ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::method_where_bound_extends_an_impl_level_generic ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::deprecated::pub_fn_other_attribute_not_deprecated ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::deprecated::pub_fn_no_attribute_not_deprecated ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::deprecated::pub_fn_records_deprecated_with_message ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::deprecated::pub_fn_records_deprecated_with_args ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::is_target_capability_node_needs_layer_and_a_forward_entry ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_d::multiplicity::multiplicity_mismatch_detection ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::free_and_groups::test_collect_pub_fns_skips_impl_methods_on_private_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::method_where_bound_extends_an_existing_method_generic ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::module_resolution::part_a::module_path_resolution_edges_part_a ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::free_and_groups::test_collect_pub_fns_skips_cfg_test_files ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::free_and_groups::test_collect_pub_fns_in_layer_free_fn ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::free_and_groups::test_collect_pub_fns_skips_unmatched_files ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::project_call_parity_maps_each_kind_to_its_rule_id ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::module_resolution::part_b::module_path_resolution_edges_part_b ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::predicates_internal::binding_type_from_init_accepts_multi_segment_type_paths ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_does_not_promote_local_wrapper_alias ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::free_and_groups::test_collect_pub_fns_groups_by_layer ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_chases_reexported_type_alias_to_target ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::deprecated::pub_fn_records_deprecated_attribute_bare ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_does_not_promote_bare_local_arc ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_records_impl_via_nested_pub_use_export_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_includes_crate_root_mod_decl_without_pub ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_skips_impl_method_on_type_in_private_inline_mod ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::free_and_groups::test_pub_crate_is_treated_as_public_for_intra_crate_layers ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_does_not_promote_qualified_local_arc ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::classification::pub_fn_layer_membership_classification ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::check_d::anchor_multiplicity::multiplicity_mismatch_on_trait_dispatch_and_direct_concrete ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_records_impl_via_chained_type_alias ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::private_mods::test_collect_pub_fns_records_impl_in_private_mod_for_public_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::end_to_end_snapshot::total_findings_budget_on_session_handler_fixture ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_records_inherited_trait_impl_methods ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_records_impl_via_renamed_stdlib_wrapper ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reachable_targets::reachable_targets_only_propagate_capability_anchor_impls ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_records_impl_via_pub_type_alias_through_wrapper ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_records_renamed_reexport_impl_methods ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_records_pub_use_reexport_with_qualified_impl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexport_resolution::impl_and_value_reexport::value_reexport_does_not_hijack_trait_bound ... ignored, Known limitation v1.2.5 — namespace-aware canonicals land in WorkspaceCanonical migration (docs/plan-workspace-canonical-newtype.md). Same-name type+value pub-use collides on both the file-level alias_map (HashMap<String, AliasTarget>, last-write-wins) AND the workspace reexport map (HashMap<String, String>, last-write-wins). Codex P2 reproducer kept here as regression target for the upcoming migration.
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexport_resolution::basic_and_trait_dispatch::pub_use_free_fn_resolves_after_v124_fix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexports_internal::collect_leaves_maps_self_to_the_enclosing_module_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexport_resolution::basic_and_trait_dispatch::non_pub_helper_resolves_after_v122_fix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_records_impl_via_pub_type_alias ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_skips_trait_impl_method_on_private_self_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::fast_path_signature_param_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::negative_external_type_method_is_bare ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexport_resolution::impl_and_value_reexport::pub_use_struct_assoc_fn_routes_to_decl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::fast_path_let_type_annotation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexports_internal::is_pub_use_true_only_for_non_inherited_visibility ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::negative_stdlib_map_closure_is_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::negative_tuple_destructuring_is_limit ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::cascading_struct_field_access_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_chained_inline_call_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_insert_returning_result_chained_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_plain_unwrap_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexport_resolution::impl_and_value_reexport::pub_fns_impl_self_type_resolves_through_reexport ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::annotated_destructuring_self_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::cascading_struct_field_access_via_let_binding_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_open_cwd_map_err_try_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::receiver_tracing::part_b::receiver_tracing_emits_expected_edges_part_b ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::cast_as_self_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_open_map_err_unwrap_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::self_field_access_resolves_via_impl_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::self_method_call_resolves_via_impl_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::signature_param_typed_self_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::let_annotation_self_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::self_resolution::turbofish_self_inside_impl_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexport_resolution::basic_and_trait_dispatch::pub_use_trait_dispatch_routes_to_decl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::fast_path_direct_constructor ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::trait_dispatch::trait_dispatch_emits_trait_method_anchor ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::trait_dispatch::trait_dispatch_emits_anchor_regardless_of_default_status ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::aliased_local_wrapper_does_not_auto_peel ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::qualified_path_does_not_alias_promote_through_leaf ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::trait_dispatch::trait_dispatch_emits_anchor_not_impl_edges ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::aliased_stdlib_wrapper_inside_inline_mod_peels_to_inner ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrappers_and_aliases::turbofish_gives_concrete_return_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrappers_and_aliases::user_wrapper_is_peeled_on_signature_param ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrappers_and_aliases::user_wrapper_unconfigured_stays_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::free_fn_result_chain ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_expect_message_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrappers_and_aliases::type_alias_expands_to_target_via_signature_param ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::user_transparent_wrapper_peels_to_inner_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::qualified_local_arc_does_not_auto_peel ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::bare_local_arc_does_not_auto_peel ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrapper_peeling::aliased_stdlib_wrapper_peels_to_inner ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::pub_fns::reexport_aliases::test_collect_pub_fns_unions_lib_and_main_root_trees ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::target_anchors::trait_anchor_edges::method_call_on_generic_receiver_emits_trait_anchor_edge ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::receiver_tracing::part_a::receiver_tracing_emits_expected_edges_part_a ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::reexports_internal::flatten_chains_resolves_a_terminal_chain_to_its_endpoint ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::target_anchors::capability::populate_anchor_index_resolves_impl_layers_for_cross_file_impls ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrappers_and_aliases::mixed_resolutions_in_single_body ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::wrappers_and_aliases::turbofish_on_type_method_is_not_overridden ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::workspace_graph_internals::canonical_fn_name_prepends_file_module_for_relative_self_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::workspace_graph_internals::anchor_backed_concrete_requires_both_capability_and_containment ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::method_chains::method_chain_ctor_unwrap_or_else_closure_resolves_receiver ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::workspace_graph_internals::inherited_default_match_true_for_non_overriding_default_impl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::regressions::fast_path_and_negative::negative_unannotated_generic_stays_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_happy_inner_unwraps_option ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_happy_inner_unwraps_result ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_path_constructor_from_owned_strings ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_happy_inner_none_on_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_path_constructor_from_string_slices ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::workspace_graph_internals::canonical_fn_name_uses_crate_rooted_self_type_as_is ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::target_anchors::across_bound_spellings::method_call_on_generic_receiver_emits_anchor_across_bound_spellings ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_happy_inner_none_on_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_happy_inner_none_on_slice ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_happy_inner_unwraps_future ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::workspace_graph_internals::inherited_default_match_false_when_impl_not_listed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_option_map_is_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_option_ok_or_yields_result_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::target_anchors::trait_anchor_edges::ufcs_path_call_on_generic_param_emits_trait_anchor_edge ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_option_preserve_wrapper_methods ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::canonical::test_is_opaque_detects_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_and_then_is_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_path_receiver_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_as_ref_as_mut_preserve_wrapper ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_option_unwrap_yields_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_option_unwrap_or_yields_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_chain_unwrap_then_field ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_map_is_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_expect_yields_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_inspect_variants_preserve_wrapper ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_err_yields_option_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_unwrap_or_yields_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_unwrap_yields_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_await_on_future_unwraps_output ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_or_else_preserves_ok_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_map_err_preserves_ok_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_await_on_result_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_slice_receiver_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_opaque_receiver_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_cast_resolves_target_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::touchpoints::anchor_membership::touchpoints_trait_anchor_recognized_when_trait_lives_in_ports_layer ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_option_and_then_is_unresolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_cast_to_unknown_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_field_access_on_bound_struct ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_unknown_method_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_deref_is_transparent ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_field_access_on_opaque_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_if_expression_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_closure_expression_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_numeric_negation_returns_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_field_access_unknown_field_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_reference_strips ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_nested_field_access ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_try_on_non_wrapper_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_paren_is_transparent ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_mutable_reference_strips ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_literal_expression_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::touchpoints::anchor_membership::touchpoint_anchor_membership ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_negation_returns_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_bare_ident_not_in_bindings_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::method_call_resolves_receiver_type_through_references ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_crate_path_resolves_via_fn_returns ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_self_substitutes_to_impl_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_self_without_self_type_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_ctor_returning_result ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_try_on_result_unwraps_ok ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_tuple_field_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_ctor_via_alias ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_single_ident_resolves_via_fn_returns ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_method_call_chained_via_fn_return ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_access::test_try_on_option_unwraps_some ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_bare_ident_resolves_from_bindings ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_unknown_fn_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_method_call_closure_combinator_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_method_call_on_opaque_receiver_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_call_type_ctor_resolves_via_method_returns ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_method_call_stdlib_combinator_resolves ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_method_call_unknown_method_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::trait_bound_receiver_resolves_via_impl_return ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::type_qualified_assoc_call_resolves_via_method_returns ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::parenthesised_pattern_unwraps_to_inner_binding ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_at_subpattern_walks_inner_pattern ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::struct_pattern_binds_indexed_field_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_err_pattern_binds_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_none_pattern_binds_nothing ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_mutable_reference_pattern_passes_type_through ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::target_anchors::capability::target_anchor_capability_enumeration ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_ident_pattern_binds_full_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_ok_pattern_unwraps_result ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::combinators::test_result_ok_yields_option_t ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_slice_pattern_distributes_element_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::infer_call::test_multi_segment_path_expr_is_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_reference_pattern_passes_type_through ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_slice_pattern_skips_named_rest_binding ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_slice_pattern_skips_rest ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_or_pattern_uses_first_branch_bindings ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_tuple_pattern_yields_opaque_bindings ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_unknown_variant_binds_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_struct_pattern_missing_field_binds_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_some_pattern_unwraps_option ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_type_annotation_overrides_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_wildcard_binds_nothing ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_iterator::test_for_over_slice_binds_element_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_iterator::test_for_over_opaque_binds_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_aliased_path_resolves_via_alias_map ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_iterator::test_for_with_destructuring_pattern ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_arc_is_stripped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_array_becomes_slice ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_destructure::test_struct_pattern_with_rest ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_iterator::test_for_over_map_yields_opaque_pair ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_hashmap_keeps_value_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_future_wraps_output ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_option_wraps_inner ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_impl_trait_unresolved_is_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_nested_smart_pointers_strip_to_inner ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_impl_trait_resolves_to_trait_bound ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_bare_path_resolves_via_local_symbols ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_result_wraps_inner ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_reference_type_strips_and_recurses ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_slice_type_becomes_slice ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::test_impl_trait_bare_std_send_marker_still_skipped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_trait_object_resolves_via_local_symbols ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_rwlock_is_not_peeled ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::test_alias_generic_arg_resolves_at_use_site ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::test_impl_aliased_future_resolves_to_future_with_output ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::unbounded_generic_param_shadows_same_named_workspace_symbol ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::test_impl_trait_local_send_named_trait_resolves_not_skipped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::unbounded_generic_param_shadowing_does_not_affect_unrelated_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_trait_object_unresolved_is_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::explicit_stdlib_non_wrapper_is_not_a_wrapper ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::bare_non_marker_trait_is_not_a_marker ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_unknown_external_path_is_opaque ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_b::test_impl_trait_external_aliased_bound_skipped_workspace_bound_wins ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::bare_marker_trait_is_recognised ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve::part_a::test_vec_becomes_slice ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::single_ident_of_rejects_multi_segment_paths ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::single_segment_non_wrapper_is_not_a_wrapper ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::record_trait_methods_captures_method_span ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_fn_with_unit_return_is_not_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_fn_inside_inline_mod_keys_include_mod_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::future_requires_output_named_assoc_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_cfg_test_file_is_skipped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_multiple_impls_of_same_trait_all_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_fn_inside_inline_mod_resolves_inner_return_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::patterns_iterator::test_for_with_wildcard_binds_nothing ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::leading_colon_and_disambiguation::absolute_leading_colon_type_path_does_not_route_to_same_named_workspace_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::leading_colon_and_disambiguation::absolute_leading_colon_path_is_not_shadowed_by_in_scope_generic ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::substitute_rewrites_bare_self_but_not_associated_self ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_struct_in_one_file_impl_in_another ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::empty_and_struct_fields::test_empty_workspace_produces_empty_index ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_struct_field_inside_inline_mod_keys_include_mod_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_inherent_impl_does_not_populate_trait_impls ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::resolve_internals::resolution_depth_is_capped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::empty_and_struct_fields::struct_field_indexing ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_trait_in_one_file_impl_in_another ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_trait_impl_is_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::leading_colon_and_disambiguation::multi_generic_fn_turbofish_picks_correct_arg_for_returned_param ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::inline_mod_and_traits::test_trait_declaration_methods_are_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::method_and_fn_returns::bounded_fn_generic_param_return_carries_canonicalised_trait_bound ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::turbofish_and_generics::struct_generic_param_field_does_not_collide_with_same_named_workspace_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::turbofish_and_generics::impl_level_generic_param_return_does_not_collide_with_same_named_workspace_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::leading_colon_and_disambiguation::leading_colon_paths_do_not_route_to_workspace_anchors ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::turbofish_and_generics::method_generic_param_return_canonicalises_where_bound_on_impl_generic ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::visitor_walks::method_inside_inline_mod_is_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::visitor_walks::test_attributed_method_is_not_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::visitor_walks::test_attributed_free_fn_is_not_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::method_and_fn_returns::fn_return_indexing ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::clean_file_no_matches ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::ignores_unlisted_derives ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::visitor_walks::type_alias_is_indexed_with_its_generic_params ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_on_enum ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::visitor_walks::trait_inside_inline_mod_is_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::visitor_walks::type_alias_inside_inline_mod_is_indexed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::multiple_derive_attributes_each_checked ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::method_and_fn_returns::method_return_indexing ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_multiple_banned_in_same_derive ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_single_derive_on_struct ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_nested_in_impl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_on_union ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_when_in_list_of_derives ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::matches_through_fully_qualified_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::descends_into_call_arguments ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::type_infer::tests::workspace_index::turbofish_and_generics::turbofish_substitution_through_generic_param_returns ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::descends_into_macro_tokens ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::clean_file_no_matches ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::derive::non_derive_attrs_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::descends_into_repeat_form_macro_tokens ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::ignores_dot_syntax_method_call ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::does_not_match_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::matches_deep_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::matches_two_segment_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::does_not_partial_match_final_segment ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::matches_ufcs_when_full_path_configured ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::does_not_match_empty_file ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::strips_turbofish_before_match ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::does_not_match_group_without_glob ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::matches_single_segment ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::matches_glob_inside_group ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::does_not_match_named_import ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::function_call::multiple_configured_paths_each_checked ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::matches_super_glob ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::matches_prelude_glob_at_matcher_level ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::matches_self_glob ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::reports_multiple_globs_separately ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::does_not_match_renamed_import ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::matches_simple_glob_import ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::async_fn_inside_impl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::line_number_points_to_glob_statement ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::glob_import::matches_nested_glob_import ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::cfg_test_mod_declaration_without_body_not_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::async_fn_inside_nested_mod ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::clean_file_no_matches ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::async_fn_top_level ... ok
[INFO] [stdout] test adapters::analyzers::architecture::call_parity_rule::tests::touchpoints::sets::touchpoint_sets ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::extern_c_block_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::extern_rust_block_not_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::immutable_static_not_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::inline_cfg_test_mod_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::mod_without_cfg_test_not_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::nested_cfg_test_fn_inside_mod_not_top_level ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::regular_impl_not_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::static_mut_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::top_level_cfg_test_const_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::top_level_cfg_test_fn_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::multiple_kinds_each_checked ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::top_level_cfg_test_ignores_mod_tests ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::unknown_kind_silently_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::top_level_cfg_test_impl_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::unsafe_impl_matched ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::unrequested_kind_never_matches ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::unsafe_fn_top_level ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::does_not_match_plain_function_with_macro_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::top_level_cfg_test_items_detected_for_every_item_kind ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::does_not_match_empty_file ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::item_kind::unsafe_fn_inside_impl ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::does_not_match_macro_name_in_string ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::line_number_points_to_bang ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::does_not_match_similar_named_macro ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_macro_inside_repeat_form_macro_args ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_item_level_macro ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_multiple_macros_separately ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_println_expression_macro ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::does_not_match_free_function_with_dissimilar_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_macro_inside_macro_args ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_panic_macro ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::does_not_match_name_in_string_or_comment ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::macro_call::matches_std_println_via_final_segment ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_method_call_inside_macro_arg ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_ufcs_call_result_expect ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::bare_crate_rename_matches_trailing_colon_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::bare_prefix_matches_exact_and_segment_boundary_only ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_method_call_inside_closure ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_multiple_names_independently ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_direct_method_call_expect_with_arg ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::does_not_match_empty_file ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_chained_method_call ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::bare_crate_use_matches_trailing_colon_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_unwrap_in_direct_and_ufcs_form ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::does_not_match_similar_but_different_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::clean_file_produces_no_matches ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_method_call_inside_repeat_form_macro ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::does_not_match_similar_but_different_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::does_not_match_string_containing_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::method_call::matches_multiple_occurrences_separately ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_extern_crate ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_attribute_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_generic_bound ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_let_type_annotation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_struct_field_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_use_statement ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_impl_trait_for_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_return_type ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::dimension_name_is_architecture ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_where_clause_bound ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::multiple_prefixes_both_match ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::forbidden_hit_projects_every_finding_field ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::reports_each_occurrence_separately ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::glob_policy_prelude_exemption_is_config_gated ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_nested_use_groups ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::analyze_emits_findings_for_layer_violation_only_when_enabled ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::layer_hit_projects_every_finding_field ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::call_parity_bench::benchmark_call_parity_on_self_analysis ... ignored, performance regression guard — run via `cargo test -- --ignored` before release
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::unmatched_layer_hit_uses_unmatched_rule_id ... ok
[INFO] [stdout] test adapters::analyzers::architecture::matcher::tests::path_prefix::matches_function_call_path ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::build_transparent_macros_unions_defaults_and_user ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::compile_pattern_scope_requires_exactly_one_of_allowed_forbidden ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_duplicate_adapters ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_accepts_exclude_targets ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_includes_trait_contracts ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_empty_adapters ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_target_in_adapters ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_unknown_target_layer ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_invalid_exclude_glob ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_unknown_adapter_layer ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::is_exact_crate_key_accepts_alnum_underscore_only ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::external_crates_split_by_glob_chars ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::analyzer::pattern_scope_accepts_implements_forbidden_allowed_and_except ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_normalises_transparent_wrappers ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_rejects_out_of_range_call_depth ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_none_yields_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compile_call_parity_links_layer_refs ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::compiles_minimal_config ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::rejects_order_with_missing_definition ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_picks_first_match ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::forbidden_rules_compile ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::call_parity_golden::golden_example_has_no_invalid_suppression_markers ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_matches_inner_layer ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::rejects_invalid_unmatched_behavior ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_resolves_crate_root_items ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_handles_mod_rs_and_bare_rs ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_returns_none_for_method_and_bare ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_returns_none_for_unmapped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::header_shows_layer_and_rank ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::import_entry_renders_tail ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::classifies_crate_import_resolved ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::layer_violation_line_rendered_and_no_all_clear ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::classifies_stdlib_imports_as_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::classifies_external_unknown_as_no_mapping ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::forbidden_violation_line_rendered ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::classifies_external_exact ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::reports_assigned_layer ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::candidate_paths_adds_crate_roots_only_for_single_segment ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::layer_violation_surfaced ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::clean_file_no_violations ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::external_crate_imports_not_affected ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::render_mentions_layer_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::render_includes_violation_sections ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::except_matching_any_candidate_suppresses_hit ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::reports_reexport_point ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::file_not_matching_from_is_skipped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::file_to_module_segments_treats_crate_roots_as_empty ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::render_marks_reexport_point ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::reports_unmatched_file ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::except_suppresses_specific_targets ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::grouped_use_flags_each_matching_leaf ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::module_map_prefers_modern_file_over_legacy_mod_rs ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::import_matches_module_dir_mod_rs_candidate ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::call_parity_golden::call_parity_golden_example_produces_expected_findings ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::super_does_not_match_unrelated_rule ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::compiled::test_layer_of_crate_path_rejects_non_crate_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::import_matches_leaf_module_file_candidate ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::from_matching_file_with_to_matching_import_flagged ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::std_import_is_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::import_of_different_module_same_adapter_tree_ok_when_to_is_peer_only ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::self_import_resolves_to_crate_absolute ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_derive_example_ignores_other_traits ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_function_call_example_ignores_unrelated_paths ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_derive_example_matches_exactly_once ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_function_call_example_matches_exactly_once ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_glob_import_example_matches_exactly_once ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::super_super_import_resolves_to_crate_absolute ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_glob_import_example_counted_as_path_prefix_on_base ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_item_kind_example_ignores_unrequested_kinds ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_macro_call_example_ignores_unrelated_macros ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_item_kind_example_matches_exactly_once ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::multiple_rules_evaluated_independently ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::forbidden_rule::super_import_resolves_to_crate_absolute ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_method_call_example_ignores_unrelated_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_method_call_example_matches_direct_and_ufcs ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_macro_call_example_matches_exactly_once ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_path_prefix_example_has_no_hits_for_unrelated_prefix ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbid_path_prefix_example_matches_exactly_once ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::layer_example_produces_exactly_one_violation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::clean_file_no_violations ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::outer_importing_inner_allowed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::external_exact_match_enforced ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::inner_importing_outer_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::explain::forbidden_violation_surfaced ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::same_layer_import_allowed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::application_importing_port_allowed ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::external_unknown_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::self_and_super_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::golden_examples::forbidden_example_produces_exactly_one_violation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::grouped_use_flags_each_bad_leaf ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::strict_error_does_not_flag_reexport_points ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::port_importing_application_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::external_exact_wins_over_glob ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::std_core_alloc_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::external_glob_match_enforced ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::reexport_point_bypasses_rule ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::unmatched_composition_root_bypasses ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::build_architecture_finding_projects_every_field ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::build_file_refs_maps_each_parsed_file ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::item_kind_head_omits_empty_name ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::missing_adapter_message_embeds_hint_when_present ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::unmatched_strict_error_emits_one_violation ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::multi_touchpoint_head_lists_touchpoints ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::no_delegation_message_uses_call_edge_wording_not_hops ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::multiplicity_mismatch_head_lists_per_adapter_counts ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::missing_adapter_message_omits_hint_section_when_none ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::windows_style_separators_work ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::layer_rule::unresolved_crate_segment_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::must_be_object_safe_flags_generic_method ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::receiver_shared_ref_only_flags_mut_receivers ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::rendering::match_to_finding_projects_every_field ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::must_be_object_safe_allows_method_level_lifetime ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::receiver_any_accepts_all_forms ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::must_be_object_safe_flags_self_return ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::out_of_scope_file_is_skipped ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::forbidden_return_type_matches_substring ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::fully_compliant_trait_has_no_hits ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::render_type_collapses_path_colons ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::error_variant_check_inspects_the_named_enum_not_the_first_one ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::error_variant_substring_flagged_via_naming ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::methods_must_be_async_flags_sync_methods ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::non_trait_items_are_ignored ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::receiver_associated_fn_without_receiver_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::must_be_object_safe_flags_const_generic_method ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::required_param_flags_the_method_that_lacks_the_param_not_the_one_that_has_it ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::trait_contract_hit_to_finding_projects_rule_id_and_fields ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::required_param_fires_when_none_of_the_params_match ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::trait_in_nested_inline_module_is_checked ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::trait_inside_inline_module_is_checked ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::integration::test_analyze_coupling_no_crate_deps ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::integration::analyze_coupling_surfaces_sdp_violation_from_real_source ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::integration::test_analyze_coupling_with_cycle ... ok
[INFO] [stdout] test adapters::analyzers::architecture::tests::trait_contract::required_supertraits_flags_missing_bound ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::build_graph_records_use_edges_across_forms ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_build_graph_simple_dep ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::integration::test_analyze_coupling_integration ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_cycles_no_cycles ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_cycles_empty_graph ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_build_graph_self_dep_skipped ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_build_graph_no_deps ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_build_graph_group_use ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_metrics_empty ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_metrics_instability_formula ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_cycles_self_loop_not_counted ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_cycles_complex_cycle ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_build_graph_external_dep_ignored ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_metrics_simple_dep ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::sdp_collects_every_violating_edge_not_just_the_first ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_cycles_simple_cycle ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_metrics_isolated_module ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::root::test_cycles_two_independent_cycles ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::test_no_violation_unstable_depends_on_stable ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::test_no_violations_all_same_instability ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::sdp_flags_stable_module_depending_on_unstable_one_with_exact_instabilities ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::test_no_violations_single_module ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::sdp_violation_inherits_suppression_from_either_endpoint ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::test_zero_violations_for_stable_leaves ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp001_non_trivial_from_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp001_requires_method_named_from ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp001_struct_literal_with_rest_not_trivial ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp001_struct_literal_from_detected ... ok
[INFO] [stdout] test adapters::analyzers::coupling::tests::sdp::test_no_violations_empty_graph ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp001_trivial_from_tuple_struct ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp002_complex_display_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp003_few_getters_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp003_getter_setter_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp003_reports_per_getter_not_per_struct ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp005_reports_struct_name ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp004_builder_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp005_custom_default_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp004_non_builder_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp002_trivial_display ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp005_requires_method_named_default ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp005_manual_default_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp001_to_005::test_bp005_recognises_each_default_value_kind ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_local_binding_makes_body_non_trivial ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_accepted_idiom_is_policy_not_finding ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_delegation_form_detected_and_acceptable ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_multi_statement_write_char_body_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_mixed_idioms_fire_unless_all_accepted ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_suggestion_names_all_fix_forms ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_write_macro_checks_formatter_even_when_renamed ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_simple_mapping_still_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_write_macro_on_non_formatter_target_not_trivial ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_write_on_non_formatter_receiver_not_trivial ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp002_semantics::test_bp002_write_str_newtype_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp002_requires_method_named_fmt ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_tuple_scrutinee_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp007_single_from_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_wildcard_arm_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_complex_match_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_or_pattern_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp008_no_clones_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp002_writeln_display_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp006_match_in_impl_method_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp007_error_enum_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp008_clone_heavy_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp003_setters_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp006_match_in_let_binding_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp008_clone_heavy_in_let_binding_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp009_different_types_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp009_few_fields_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_dispatch_bindings_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp010_repeated_format_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp010_different_formats_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp009_struct_update_syntax_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp009_overlapping_constructions_in_impl_method_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_suggest_crates_flag ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp009_overlapping_constructions_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_pattern_filtering_only_selected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_bp010_two_repetitions_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp_predicates::test_bp006_tuple_struct_variant_arms_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp_predicates::test_bp007_from_impl_with_extra_method_not_counted ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp006_to_008::test_bp006_repetitive_match_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp009_onward::test_disabled_boilerplate_returns_empty ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp_predicates::test_bp007_from_impl_with_non_expr_body_not_counted ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_forwarder_keeps_its_called_position_for_the_next_hop ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_function_handed_to_a_call_through_macro_is_called ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_chain_that_really_forwards_still_reaches_the_callee ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp_predicates::test_bp009_low_field_overlap_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_macro_that_only_stringifies_does_not_vouch_for_its_argument ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_module_qualifier_is_not_a_call_of_a_same_named_function ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_metavariable_is_not_a_call_of_a_same_named_function ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_qualified_call_may_reach_a_binding_in_its_module_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_macro_that_applies_nothing_is_not_call_through ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp_predicates::test_bp010_short_format_strings_not_collected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_macro_that_formats_the_result_still_calls_through ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_metavariable_that_is_only_stringified_is_not_forwarded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_rename_in_one_file_serves_a_call_site_in_another ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_re_export_is_exposure_not_consumption ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_helper_reached_only_through_a_test_alias_is_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::boilerplate::tests::root::bp_predicates::test_bp004_builder_method_must_return_bare_self ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_binding_a_metavariable_would_create_is_not_seen_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_rename_serves_every_caller_of_its_name_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_metavariable_at_the_called_position_is_forwarded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_function_consumed_through_what_exposes_it_is_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::allow_dead_code_is_inherited_from_an_enclosing_impl ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::allow_dead_code_is_inherited_by_functions_too ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::an_ffi_export_is_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_use_of_a_local_type_may_be_a_use_of_a_crate_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::allow_dead_code_is_inherited_across_the_file_boundary ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::an_associated_function_is_not_a_renamed_import ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::an_ordinary_macro_invocation_does_not_vouch_for_its_arguments ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::an_earlier_unreadable_arm_does_trigger_the_fallback ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::dollar_crate_is_not_a_metavariable ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::fn_named_like_a_lowercase_dsl_tag_is_still_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::fn_called_only_in_repeat_macro_arg_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::cfg_test_mod_child_files_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::integration_test_entry_point_in_crate_tests_dir_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::component_referenced_only_in_dsl_macro_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::collect_all_calls_recognizes_call_forms ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::fn_named_like_a_dsl_prop_key_is_still_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::merely_naming_a_call_through_macro_is_not_forwarding ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_api_function_excluded_from_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_allow_dead_code_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_api_does_not_count_as_suppression ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_called_function_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::a_metavariable_at_a_position_the_target_never_calls_is_not_forwarded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::fn_called_via_bound_local_not_dead_code_control ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::quote_spanned_does_not_execute_either ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_cfg_test_mod_calls_classified_as_test ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_detect_dead_code_empty ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_collect_cfg_test_file_paths_inline_mod_ignored ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_dead_code_always_runs_when_called_directly ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_main_excluded_from_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_method_call_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::helper_reached_via_trait_blanket_dispatch_is_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_private_use_does_not_count_as_reexport ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_qualified_call_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_helper_marker_suppresses_testonly_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_function_reference_as_method_argument ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_function_reference_as_call_argument ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_only_called_fn_is_not_uncalled ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_qualified_function_reference_as_argument ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_helper_marker_does_not_suppress_uncalled ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_default_fn_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_default_fn_cross_file_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_default_fn_realistic_pattern ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_serialize_with_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_test_function_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_default_without_value_ignored ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_with_module_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_deserialize_with_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::testonly_suggestion_mentions_qual_api_and_test_helper ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_serde_qualified_path_not_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::two_renames_to_one_alias_keep_both_originals ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_declaration_in_a_test_file_is_not_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_trait_impl_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_declaration_in_test_code_is_not_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_uncalled_function_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::test_test_only_function_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_declaration_used_only_from_a_macro_body_is_not_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_constant_used_only_through_an_inline_format_arg_is_not_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_production_type_used_only_from_a_test_file_is_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::every_kind_carries_its_own_word_in_the_suggestion ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_type_used_only_from_a_doc_example_is_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_type_used_only_from_a_cfg_test_function_is_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::every_declaration_kind_reaches_a_finding ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_declaration_used_only_from_tests_is_reported_as_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::a_deny_in_the_child_file_revokes_an_inherited_allow ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::a_test_helper_keeps_what_it_names_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::allow_dead_code_excludes_the_declaration ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::the_call_through_reaches_a_macro_that_only_forwards ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::allow_dead_code_is_inherited_from_the_file ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::allow_dead_code_is_inherited_across_the_file_boundary ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_referenced_declaration_is_not_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_exempt_declaration_keeps_what_it_names_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_allow_on_the_mod_declaration_covers_the_file_it_names ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_inherited_allow_does_not_leak_to_a_sibling_module ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::forbid_cannot_be_downgraded_by_an_inner_allow ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::allow_dead_code_is_inherited_from_an_enclosing_function ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_inner_deny_overrides_an_inherited_allow ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_exported_symbol_by_name_counts_too ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_ffi_export_keeps_itself_and_what_it_names_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::a_declaration_nothing_refers_to_is_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::allow_dead_code_is_inherited_from_an_enclosing_module ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_underscore_prefixed_declaration_is_not_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::qual_test_helper_silences_test_only_but_not_unused ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::qual_api_on_one_member_keeps_the_whole_cycle_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_blanket_impl_parameter_shadowing_a_real_type_still_roots ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::the_last_lint_attribute_in_source_order_wins ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::an_allow_on_a_sibling_module_does_not_leak ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::the_inherited_allow_reaches_a_grandchild ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_camel_case_alias_of_a_module_still_carries_its_bindings ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cfg_test_member_of_a_live_type_yields_a_test_only_reference ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_crate_shadowed_by_a_same_named_type_elsewhere_still_carries_its_bindings ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cycle_entered_from_production_stays_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::qual_api_excludes_the_declaration ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::qual_api_on_the_entry_keeps_what_its_methods_name_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cycle_of_three_types_is_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cycle_across_files_is_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_blanket_impl_roots_its_references ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::exemptions::the_edition_2024_spelling_of_an_export_counts_too ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cycle_reached_only_from_tests_is_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cycle_through_impl_methods_is_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_cycle_through_trait_impls_is_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_code::only_the_called_argument_positions_count_as_calls ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_doc_comment_on_a_use_still_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_declared_module_named_like_a_type_still_carries_its_bindings ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_metavariable_is_not_a_reference_to_a_same_named_type ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_consumed_variant_keeps_its_enum_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_module_and_an_enum_sharing_name_and_member_pool_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_module_segment_in_a_use_does_not_vouch_for_a_same_named_type ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_qualified_impl_self_type_still_owns_its_body ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_referenced_recursive_type_is_still_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_same_named_variant_of_another_enum_does_not_vouch_for_an_unused_one ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_type_named_only_by_a_trait_is_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_self_referencing_type_does_not_keep_itself_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_type_that_only_carries_its_own_methods_is_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_self_qualified_variant_is_a_use_of_the_impl_owner ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_test_alias_does_not_resolve_a_production_import ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_variant_glob_resolves_across_files_in_either_order ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_variant_qualified_by_an_enum_alias_pools_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_variant_qualified_by_a_type_is_not_a_use_of_a_glob_import ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::an_impl_on_a_foreign_type_is_not_owned_by_a_colliding_local_name ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::an_impl_on_a_type_alias_does_not_own_the_body ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::two_types_that_only_refer_to_each_other_are_both_reported ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::declared_types::associated_consts_are_not_top_level_declarations ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::an_impl_on_a_type_from_outside_the_workspace_roots_its_references ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_variant_reached_through_a_test_alias_is_test_only ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::an_unconsumed_variant_import_keeps_nothing_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::declared_types::functions_and_traits_are_not_collected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::declared_types::a_declaration_in_a_cfg_test_module_is_marked_as_test ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_empty ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::declared_types::every_declaration_kind_is_collected_with_its_own_label ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::fragment_entries_span_the_full_window ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::fragments_in_cfg_test_companion_file_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::declared_types::the_declaration_records_its_own_line ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_cross_file ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::an_impl_reached_through_the_crate_root_is_still_owned ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_merge_into_fragments_empty ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::an_unconsumed_glob_through_a_renamed_enum_keeps_nothing_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_impl_method ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_too_few_statements ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_same_function_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_below_min_tokens ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_includes_test_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_merges_adjacent ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_matching_statements ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_fragment_group_statement_count ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_entry_has_lines ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_closure_parameter_stays_in_its_closure ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::dead_types::reachability::a_declaration_consumed_through_a_qualified_binding_is_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_destructured_callback_parameter_is_a_local_too ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_for_binding_does_not_outlive_its_loop ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_for_binding_is_not_in_scope_in_the_iterator_expression ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_binding_leaves_scope_with_its_block ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_callback_parameter_is_still_alpha_renamed ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_let_binding_is_not_in_scope_in_its_own_initializer ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_extract_matching_pairs_empty ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_three_way ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::fragments::test_detect_fragments_no_match ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::declared_types::allow_dead_code_is_recorded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_let_bound_callee_is_still_alpha_renamed ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_match_arm_binding_stays_in_its_arm ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::duplicates_in_cfg_test_companion_file_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::an_unused_parameter_does_not_shift_the_alpha_indices ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::duplicates_in_production_file_under_nested_tests_dir_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_while_let_binding_stays_in_its_loop ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::a_qualified_callee_is_still_dropped_entirely ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::an_if_let_binding_stays_in_its_branch ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_no_functions ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::token_count_exactly_at_min_tokens_is_kept ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_exact_duplicates_same_structure ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::bodies_calling_the_same_functions_are_still_duplicates ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::bodies_calling_different_functions_are_not_duplicates ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_below_min_tokens_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_detect_empty ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_config_disabled ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_different_structure ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::repeated_struct_variant_matches_carry_enum_name ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_group_exact_duplicates_returns_remaining ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_three_way ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_detect_few_arms_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_includes_test_functions ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_detect_duplicates_no_duplicates ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::test_duplicate_entry_has_file_and_line ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_detect_single_match_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::functions::near_duplicate_detected_above_threshold_but_rejected_below_it ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_detect_repeated_match_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_detect_different_matches_not_grouped ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::repeated_matches_in_impl_methods_are_qualified ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_group_requires_multiple_functions ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_extract_enum_name_path ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_collect_declared_functions_allow_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_detect_test_code_included ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_collect_declared_functions_allow_list_without_dead_code ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_has_cfg_test_negative ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_extract_enum_name_tuple_struct ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_declaration_is_not_a_use_of_itself ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::test_extract_enum_name_unknown ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_collect_declared_functions_basic ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_in_a_macro_body_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_collect_declared_functions_trait_impl ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_in_a_nested_macro_group_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_has_test_attr ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_in_an_expression_path_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_collect_declared_functions_allow_dead_code_in_list ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_declaration_naming_itself_is_not_a_use_either ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::test_has_cfg_test_positive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_in_a_pattern_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_in_a_field_type_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::declared_function_is_test_classification ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_in_an_intra_doc_link_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_use_path_is_exposure_not_a_reference ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_value_attribute_still_contributes_its_value ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_positional_placeholder_contributes_nothing ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_variant_walk_skips_the_name_and_keeps_the_rest ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_whole_test_file_contributes_only_test_references ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_used_only_in_a_doc_test_is_a_test_reference ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_variant_glob_inside_a_test_module_is_a_test_reference ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::an_impl_self_type_is_not_a_use ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::an_unconsumed_alias_still_keeps_nothing_alive ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_name_used_only_through_inline_format_args_counts ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::root::collect_function_hashes_inclusion ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::declarations_still_contribute_their_own_generics_and_attributes ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_test_rename_colliding_with_a_production_name_widens_only_the_tests ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::match_patterns::repeated_matches_in_cfg_test_companion_file_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::names_in_a_format_spec_count_too ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::prose_in_a_doc_comment_is_not_a_reference ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::generic_arguments_of_an_impl_self_type_are_uses ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::use_bindings::a_head_is_where_a_use_binding_can_be_reached ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::the_trait_of_a_trait_impl_is_a_use ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::test_and_production_references_are_kept_apart ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::two_renames_to_one_alias_keep_both_originals ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::use_bindings::the_pre_pass_reads_every_enum_wherever_it_sits ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::use_bindings::the_leaf_head_is_the_last_segment_or_nothing ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_detects_nested_glob ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_empty_file ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_detects_simple_glob ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::the_module_prefix_of_an_impl_self_type_is_a_use ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_excludes_prelude_glob ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_glob_inside_group ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_excludes_super_in_test ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::test_context_stays_sticky_through_nested_modules ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_detects_wildcard_inside_module ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_excludes_extern_crate_prelude_glob ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::use_bindings::the_pre_pass_reads_every_module_wherever_it_sits ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_pub_crate_use_reexport_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_super_glob_outside_test_flagged ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_pub_use_reexport_excluded ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::a_declaration_consumed_through_its_use_is_referenced ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_excludes_custom_prelude_glob ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_external_glob_detected ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::test_context_switches_on_every_attributed_node_kind ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_multiple_files ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_no_warning_for_named_import ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_not_suppressed_by_default ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_no_warning_for_group_import ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_multiple_globs_in_file ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::test_glob_line_number ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::wildcard_in_cfg_test_companion_file_skipped ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_build_classification_result_trivial ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::type_references::prose_outside_a_doc_fence_is_still_not_a_reference ... ok
[INFO] [stdout] test adapters::analyzers::dry::tests::wildcards::wildcard_in_production_file_under_nested_tests_dir_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_classify_from_findings_trivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_attach_metrics_trivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_extract_type_name_generic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_build_classification_result_operation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_extract_type_name_no_path ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_attach_metrics_non_trivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_classify_from_findings_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_dedup_calls_with_duplicates ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_build_classification_result_returns_call_names ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_classify_from_findings_integration ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_dedup_calls_no_duplicates ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_classify_from_findings_operation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_dedup_calls_empty ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_is_trivial_body_empty ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_is_trivial_body_single_expr_now_analyzed ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::for_loop_with_paren_delegation_is_not_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_extract_type_name_simple ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::method_in_modular_cfg_test_impl_is_marked_test ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::match_with_block_arms_keeps_them_trivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::for_loop_with_return_delegation_is_not_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::method_in_top_level_cfg_test_impl_is_marked_test ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::single_line_function_has_one_line_count ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::violation_with_total_five_is_medium_severity ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::violation_effort_score_is_the_weighted_sum ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::default_method_in_top_level_cfg_test_trait_is_marked_test ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_for_loop_with_logic_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::function_in_doubly_nested_module_is_analysed ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::trait_method_in_nested_module_is_analysed ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::violation_with_total_two_is_low_severity ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_impl_block_parent_type ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_async_block_lenient_ignores_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_recursion_allowed_becomes_operation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_question_mark_strict_counts_as_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_for_loop_delegation_is_integration ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_violation_locations ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::classify::test_is_trivial_body_multiple ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_trait_default_impl ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_suppressed_flag_default_false ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::analysis_structure::impl_method_in_nested_module_is_analysed ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_question_mark_default_not_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_qualified_name_free_fn ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_for_loop_delegation_not_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_complexity_metrics_present ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_qualified_name_impl_method ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_match_dispatch_method_is_integration ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_match_dispatch_complexity_still_tracked ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_complexity_nesting_depth ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_severity_low ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_nested_module ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_match_with_guard_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_match_dispatch_is_integration ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_match_with_logic_in_arm_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::complexity_and_metadata::test_severity_none_for_non_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_trivial_getter_get_not_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_leaf_constructor_call_is_operation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classify_basics::test_recursion_default_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::dispatch_and_getters::test_trivial_self_getter_not_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::and_after_or_increments_cognitive ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::bitwise_counts_as_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::is_test::test_fn_with_test_attr_is_test ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::comparison_counts_as_logic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classification_predicate::classification_predicate_lenient_vs_strict ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::loop_increments_cyclomatic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::const_context_resets_after_const_item ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::non_negation_unary_on_int_records_unsigned_value ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::negative_float_literal_records_signed_value ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::for_loop_increments_cyclomatic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::expect_counted ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::float_literal_is_a_magic_number ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::classification_exact::classification_exact ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::panic_macro_counted ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::static_context_resets_after_static_item ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::unreachable_macro_counted_as_panic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::unwrap_counted ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::todo_macro_counted ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::while_loop_increments_cyclomatic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::metrics_exact::unsafe_block_counted ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::async_block_body_is_lenient ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::async_depth_pops_after_block ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::is_test::is_test_classification ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::get_with_non_self_path_arg_breaks_trivial_accessor ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::paren_accessor_body_is_a_trivial_getter ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::recursive_own_method_call_is_counted_when_recursion_disallowed ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::receiver_of_wrong_type_is_not_an_own_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::non_get_one_arg_method_breaks_trivial_accessor ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::non_iterator_own_method_call_is_counted ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_leaf_call_not_counted_as_own_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::cast_accessor_body_is_a_trivial_getter ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::method_with_extra_param_is_not_a_trivial_getter ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_method_on_param_project_type_is_own_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::reference_typed_receiver_is_resolved ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::self_receiver_resolves_to_parent_type_only ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_non_leaf_call_still_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_call_to_violation_stays_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::own_call_only_inside_macro_is_not_counted_deliberate_safe_direction ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_call_to_integration_is_safe ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_self_method_call_is_own_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_call_resolution::unary_accessor_body_is_a_trivial_getter ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_cascading_leaf_detection ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_method_name_collision_resolved_by_type ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_multiple_leaf_calls_still_operation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_a::test_method_on_non_project_type_not_own_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_recursive_annotation_makes_self_call_safe ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_pure_integration_unchanged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_mixed_leaf_and_integration_calls_safe ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_complexity_hotspot_display ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_complexity_metrics_default ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_call_occurrence_display ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::root::own_calls_b::test_recursive_without_annotation_is_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_compute_severity_high ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_compute_severity_none_for_non_violation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_compute_severity_medium ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_compute_severity_low ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_logic_occurrence_display ... ok
[INFO] [stdout] test adapters::analyzers::iosp::tests::types::test_magic_number_occurrence_display ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_boolean_alternation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_deep_nesting ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_for_while_loop ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_nested_if ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_match ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_no_alternation ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_match_mixed_trivial_nontrivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_complexity_hotspot_at_deep_nesting ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_match_arms_all_trivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_enter_exit_nesting ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_no_hotspot_at_shallow_nesting ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_match_arms_with_control_flow ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_match_all_nontrivial ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_extract_call_name_non_path ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cognitive_simple_if ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_boolean_ops ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_extract_call_name_simple ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_in_lenient_nested_context_async_block ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_in_lenient_nested_context_closure ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_in_lenient_nested_context_strict_mode ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_basic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::complexity::test_cyclomatic_lookup_table_match ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_extract_call_name_path ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_record_logic_normal ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_record_logic_skipped_in_closure ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_is_recursive_call_no_fn_name ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_is_iterator_method_unknown ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_record_logic_in_for_iter ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_is_recursive_call_qualified ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_new_defaults ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_delegation_let_binding ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_is_iterator_method_known ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_is_recursive_call_match ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_new_without_fn_name ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::construction::test_record_logic_in_async_block_lenient ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_delegation_await ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_delegation_multiple_calls ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_delegation_if_let_push ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_delegation_single_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_detected ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_delegation_method_call_with_try ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_allowed_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_float_detected ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_in_const_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_negative_detected ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_dispatch_method_calls ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_detection_disabled ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_dispatch_all_calls ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_dispatch_tuple_pattern ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_dispatch_block_with_call ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_dispatch_with_try ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_nested_index_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_outside_index_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_not_dispatch_arithmetic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_in_array_index_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_not_dispatch_with_guard ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_magic_number_negative_one_allowed ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_not_delegation_arithmetic ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_not_delegation_comparison ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_not_delegation_match ... ok
[INFO] [stdout] test adapters::analyzers::iosp::visitor::tests::root::magic_and_delegation::test_match_not_dispatch_logic_in_arm ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::lcom4_constructor_and_transitive_connections ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::lcom4_unites_methods_linked_via_debug_assert_macro ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::lcom4_unites_methods_via_format_macro_call_edge ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::method_body_visitor_sees_self_calls_inside_debug_assert_macro ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::test_lcom4_self_method_call_resolves_field_access ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::lcom4_unites_methods_via_assert_eq_macro ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::lcom4_scenarios ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_composite_score_fully_cohesive ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::test_cluster_contains_correct_fields ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_composite_score_high_lcom4 ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::lcom4_and_collector::method_body_visitor_sees_self_calls_inside_repeat_form_macro ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_composite_score_exact_value ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_composite_score_zero_cap_ratio ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_composite_score_lcom4_one_is_zero ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::warnings::test_bridge_unions_disjoint_helpers ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_fan_out_empty ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::scoring::test_fan_out_distinct_targets ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::warnings::test_build_struct_warnings_no_warning_for_small_struct ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::warnings::test_build_struct_warnings_no_methods_skipped ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::warnings::test_build_struct_warnings_triggers_for_incohesive ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::warnings::test_build_struct_warnings_single_method_skipped ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::cohesion::warnings::test_build_struct_warnings_two_methods_analysed_not_skipped ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_connected_functions ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_no_functions ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_shared_caller_unites_callees ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_single_private_function ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_disconnected_functions ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_public_functions_excluded ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_small_functions_excluded ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_two_callers_two_groups ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_empty ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_counts_code_after_inline_block_comment ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_counts_code_before_block_comment ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_clusters_three_independent_triggers_warning ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_counts_deref_starting_lines ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_nested_block_closes_properly ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_with_test_module ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_skips_single_line_block_comment ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_handles_nested_block_comments ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_skips_block_comment ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_simple ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_analyze_module_srp_below_threshold ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_skips_comments ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_collect_free_functions_basic ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::clusters::test_cohesion_warning_without_length_warning ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_skips_blanks ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_stops_on_single_line_cfg_test ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_skips_line_with_two_block_comments ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_skips_pure_inline_block_comment ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::production_lines::test_count_production_lines_stops_on_cfg_test_with_trailing_whitespace ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_collect_free_functions_skips_impl_methods ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_file_length_score_at_threshold ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_file_length_score_above_threshold ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_file_length_score_below_threshold ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_file_length_score_zero_threshold_guard ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_analyze_srp_multiple_files ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::bare_impl_god_struct_warns_baseline ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_analyze_srp_cohesive_struct ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::impl_qualified_into_inline_module_still_pools ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::impl_with_crate_absolute_path_is_accepted_under_report ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::impl_qualified_with_super_still_pools ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::test_analyze_srp_does_not_pool_methods_across_same_named_structs ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::impl_with_leading_colon_absolute_path_does_not_pool ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_method_body_visitor_field_accesses ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_returns_self_default_return ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_is_self_expr_true ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_method_body_visitor_call_targets ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_returns_self_no ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_returns_self_yes ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_returns_self_result_non_self ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_struct_collector_named_fields ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_analyze_srp_returns_empty_param_warnings ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_component_members ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_struct_collector_tuple_struct_skipped ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_single_element ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_new_creates_singletons ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_struct_collector_unit_struct_skipped ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_union_idempotent ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_empty ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_union_transitive ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::cfg_test_attr_impl_stub_excluded ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::pooling::impl_super_over_climbing_root_does_not_pool ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::union_find::test_union_merges_components ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_analyze_srp_empty ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_is_self_expr_false_other_path ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_impl_method_collector_instance_methods_and_constructors ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::stub_impl_in_cfg_test_file_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::cfg_test_attr_method_stub_excluded ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_analyze_srp_god_struct_fires_in_test_file ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_is_self_expr_false_literal ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_impl_method_collector_skips_trait_impls ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_returns_self_option_self ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_empty_impl_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::root::test_returns_self_result_self ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_default_default_body_not_treated_as_stub ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_all_stub_methods_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_disabled_check ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::stub_impl_in_inline_cfg_test_module_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_inherent_impl_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::stub_impl_in_non_test_module_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_unimplemented_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_panic_not_implemented_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_partial_stub_flags_only_stubs ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_cfg_test_fn_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_test_fn_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_cfg_test_attr_method_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::test_downcast_mut_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_cfg_test_companion_file_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_non_test_module_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::btc::test_real_impl_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::test_no_downcast_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::test_downcast_ref_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_expanded_quickcheck_property_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::cfg_test_attr_pub_fn_error_type_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::downcast_in_cfg_test_attr_impl_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::test_disabled_check ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::deh::test_test_code_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::inconsistent_error_types_across_non_test_module_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::inconsistent_error_types_in_cfg_test_file_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_disabled_check ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::cfg_test_attr_impl_method_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_private_fns_not_counted ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_inconsistent_error_types_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_cfg_test_module_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::needless_mut_self_in_non_test_module_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_no_result_return_not_counted ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_consistent_error_types_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::cfg_test_attr_method_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::needless_mut_self_in_cfg_test_file_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::needless_mut_self_in_inline_cfg_test_module_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::a_genuinely_read_only_method_is_still_reported ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_assignment_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_bare_self_reference_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_immutable_self_reference_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_method_call_on_local_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_immutable_self_not_checked ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_mut_borrow_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_empty_body_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_assign_to_local_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_normalized_paths ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_indexed_field_method_call_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::iet::test_single_pub_fn_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_method_call_on_self_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::assignment_through_a_nested_field_counts ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_needless_mut_self_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::mutation_through_a_nested_field_counts ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::mutation_through_an_explicit_deref_counts ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_non_assign_binary_on_self_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_no_self_ref_skipped_for_slm ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_trait_impl_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::nms::test_non_self_path_not_referenced_as_self ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_file_the_module_tree_cannot_place_gets_no_verdict ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_module_declared_twice_under_exclusive_cfgs_is_at_home_in_both ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_disabled_check ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_raw_identifier_module_resolves_to_its_plain_file_name ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::an_impl_in_a_path_mapped_child_module_is_at_home ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::an_impl_through_a_crate_root_path_is_not_narrowed_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_re_export_does_not_make_an_impl_orphaned ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_different_module_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::an_impl_far_from_every_namesake_is_orphaned_in_both_orders ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_test_only_type_does_not_vouch_for_a_production_impl ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_external_type_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::root::test_cfg_test_module_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::an_impl_through_a_crate_path_is_judged_by_bare_name_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_same_module_backslash_paths_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::root::test_collect_metadata_empty ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_same_module_tree_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_namesake_in_another_crate_is_no_candidate ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_trait_impl_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::an_impl_next_to_its_own_type_is_not_orphaned_by_a_namesake_elsewhere ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::root::test_collect_metadata_enum ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::orphaned_impl_across_cfg_test_files_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::test_same_file_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::root::test_structural_analysis_default_empty ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::root::test_collect_metadata_struct_and_impl ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_single_impl_in_a_child_module_is_not_certain_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_gated_module_name_in_one_crate_does_not_gate_another_crate ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::root::test_collect_metadata_trait_and_impl ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::an_impl_is_at_home_wherever_the_module_tree_puts_it ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_prelude_trait_or_a_later_foreign_glob_is_not_counted_for_a_local_namesake ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_local_module_import_reads_as_possibly_foreign_known_limit ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_renamed_foreign_import_brings_in_only_its_alias ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::an_auto_trait_impl_is_not_counted_for_a_local_namesake ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_single_impl_next_to_its_trait_is_still_found ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::an_impl_of_a_foreign_trait_is_not_counted_for_a_local_namesake ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_foreign_trait_by_any_route_is_not_counted_for_a_local_namesake ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::trait_seam_with_cfg_test_impl_does_not_trip_oi ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_foreign_trait_reached_through_a_local_re_export_is_not_counted ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_test_only_trait_does_not_mask_a_production_single_impl ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::a_trait_name_defined_twice_is_not_judged_by_the_wrong_definition ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::cfg_test_attr_impl_is_not_a_production_impl ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::an_impl_in_a_non_test_module_is_collected ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::name_collision_with_test_only_trait_under_reports_sit ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::real_double_via_super_not_reflagged_with_same_named_nested_test_trait ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::real_double_counts_even_with_unrelated_same_named_test_trait ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::code_behind_a_file_or_module_cfg_is_not_certain ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::an_impl_through_self_super_or_a_cfg_is_not_certain ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::test_marker_trait_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_impl_trait_in_cfg_test_file_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::a_similarly_named_placeholder_is_not_a_self_reference ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::test_single_impl_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::cfg_test_attr_impl_method_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::test_zero_impls_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::self_in_an_inline_format_arg_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_prod_impl_with_inline_cfg_test_impl_is_a_seam_not_sit ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_prod_impl_with_cfg_test_impl_in_separate_file_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::cfg_test_attr_method_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_empty_body_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_matches_macro_self_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::selfless_method_in_cfg_test_file_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_mut_self_selfless_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_prod_impl_zero_test_impls_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_prod_impl_with_two_cfg_test_impls_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_prod_impl_with_cfg_test_attr_double_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::test_disabled_check ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::test_pub_trait_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_self_field_access_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_self_in_macro_arg_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_no_receiver_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::test_multiple_impls_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_stub_body_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_self_method_call_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::panic_without_should_panic_attr_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_trait_impl_excluded ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::slm::test_selfless_method_flagged ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::expression_position_assertion_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_empty_test_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::method_call_only_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::non_assertion_macro_alone_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_debug_assert_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::quickcheck_bool_property_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::should_panic_with_expression_position_panic_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_should_panic_without_panic_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_assert_prefixed_custom_macro_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_no_assertion_still_warns ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_prop_assert_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_extra_assertion_macro_config ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_assert_ne_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_with_assert_eq_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::oi::a_file_mounted_twice_is_at_home_in_either_module ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_multiple_tests_mixed ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_function_excluded_by_is_test_flag ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_function_not_in_lcov_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_non_test_function_ignored ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_without_assertion_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_should_panic_with_panic_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_logic_line_not_in_lcov_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::cfg_excluded_fn_present_in_results_but_absent_from_lcov_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::coverage_lookup_aggregates_monomorphisations ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::test_with_assert_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::assertions::unit_return_without_assertion_still_warns ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_multiple_uncovered_logic_lines_one_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_no_logic_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_suppressed_function_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_untested_logic_detected ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::uncovered_function_is_flagged_regardless_of_name ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::a_missing_report_is_not_measured_coverage ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_covered_function_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::a_report_that_recorded_no_execution_is_still_measurement ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::a_report_with_an_executed_function_is_measured_coverage ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_da_with_checksum ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::dispatch::free_fn_drive_resolves_constructor_binding ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_basic_lcov ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_missing_file_error ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::a_file_the_run_measured_nothing_in_is_not_measured_coverage ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_no_end_of_record ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::root::test_tq_warning_kind_equality ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_empty_file ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_unknown_line_within_record_does_not_split ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_malformed_lines_skipped ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::dispatch::method_drive_links_driver_to_visitor_helpers ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::calls_prod_fn_known_only_via_declared_set ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_zero_hit_function ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::calls_fn_known_only_via_scope_functions ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::test_covered_logic_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::root::test_tq_analysis_default_empty ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::lcov::test_parse_multiple_files ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::coverage::untested_logic_in_test_function_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_calls_method_on_scope_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_calls_only_external_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_calls_prod_function_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_empty_test_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_non_test_function_ignored ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::tq_no_sut_satisfied_by_component_render_in_dsl_macro ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_transitive_sut_via_helper ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::build_reaches_prod_set_seeds_prod_and_walks_callers_backward ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::full_call_graph_recovers_repeat_form_macro_call_edge ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::test_circular_calls_no_infinite_loop ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::dispatch::forwarder_drive_resolves_second_argument ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::tq_no_sut_abc_triangulation ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::tq_no_sut_satisfied_by_repeat_macro_call ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::test_empty_call_graph_falls_back_to_direct ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::test_transitive_tested_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::test_untested_leaf_still_flagged ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::coverage::a_monomorphised_symbol_yields_its_generic_function ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::coverage::a_finding_says_whether_the_report_covered_that_function ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::coverage::a_digit_in_a_function_name_survives_demangling ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::coverage::coverage_seeds_the_tested_set ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::call_graph::test_deep_transitive_not_flagged ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_main_fn_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_trait_impl_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::a_reexport_alone_is_not_a_production_call ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_uncalled_fn_no_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::dispatch::forwarder_drive_resolves_third_argument ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_untested_prod_fn_emits_warning ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_dead_code_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_test_fn_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::coverage::mangled_coverage_symbols_yield_their_function_name ... ok
[INFO] [stdout] test adapters::analyzers::structural::tests::sit::single_impl_findings_come_out_in_a_fixed_order ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_test_helper_fn_excluded ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_tested_fn_no_warning ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_architecture_config_default_is_disabled ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::dispatch::undriven_visitor_yields_no_edges ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_architecture_layers_parse ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_architecture_enabled_minimal ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_call_parity_default_call_depth_is_3 ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_reexport_points_custom_paths ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_reexport_points_default_is_lib_and_main ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_call_parity_with_exclude_targets ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_architecture_forbidden_parse ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_call_parity_rejects_unknown_field ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_forbidden_unknown_field_rejected ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_call_parity_section_omitted_is_noop ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_call_parity_minimal_parse ... ok
[INFO] [stdout] test adapters::config::tests::architecture::forbid_glob_import_can_opt_out_of_prelude_exemption ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_symbol_pattern_unknown_field_rejected ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_symbol_pattern_allowed_in_alternative ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_trait_contract_all_checks_parse ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::sut::test_associated_function_call_recognized_as_sut ... ok
[INFO] [stdout] test adapters::analyzers::tq::tests::untested::test_api_fn_excluded ... ok
[INFO] [stdout] test adapters::config::tests::root::test_default_sub_configs ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_allow_prelude_glob_default_is_true ... ok
[INFO] [stdout] test adapters::config::tests::root::test_boilerplate_accepted_display_idioms_parse_and_default_empty ... ok
[INFO] [stdout] test adapters::config::tests::root::test_build_globset_empty ... ok
[INFO] [stdout] test adapters::config::tests::root::test_default_values ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_architecture_external_crates_parse ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_symbol_pattern_all_matchers_parse ... ok
[INFO] [stdout] test adapters::config::tests::architecture::test_unknown_field_rejected ... ok
[INFO] [stdout] test adapters::config::tests::root::test_build_globset_patterns ... ok
[INFO] [stdout] test adapters::config::tests::root::test_new_fields_default_false ... ok
[INFO] [stdout] test adapters::config::tests::init::test_generate_tailored_config_is_valid_toml ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_boilerplate_default_ok ... ok
[INFO] [stdout] test adapters::config::tests::root::test_excluded_file_compiled ... ok
[INFO] [stdout] test adapters::config::tests::root::test_config_loads_rustqual_toml ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_boilerplate_accepts_full_vocabulary ... ok
[INFO] [stdout] test adapters::config::tests::init::test_generate_tailored_config_includes_metrics_comments ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_boilerplate_rejects_unknown_idiom_fail_loud ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_suppression_default_ok ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_weights_bad_sum ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_weights_default_ok ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_coupling_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::root::test_validate_suppression_rejects_non_finite_and_negative ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_duplicates_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_boilerplate_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_complexity_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_duplicates_config_deserialize ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_complexity_config_deserialize ... ok
[INFO] [stdout] test adapters::config::tests::root::test_load_with_sub_configs ... ok
[INFO] [stdout] test adapters::config::tests::root::test_load_invalid_file_returns_error ... ok
[INFO] [stdout] test adapters::config::tests::init::test_generate_default_config_contents ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_suppression_config_rejects_unknown_field ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_test_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_quality_weights_have_seven_dimensions ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_test_config_deserialize ... ok
[INFO] [stdout] test adapters::config::tests::init::tailored_config_complexity_thresholds ... ok
[INFO] [stdout] test adapters::config::tests::root::test_load_unknown_field_returns_error ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_report_config_rejects_unknown_fields ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_srp_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_report_config_parse_arithmetic ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_weights_config_as_array ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_weights_config_defaults ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_suppression_config_deserialize ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_quality_weights_sum_to_one ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_tests_config_partial_override_leaves_rest_none ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_tests_config_defaults_inherit_production ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_tests_config_rejects_unknown_field ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_suppression_config_default_pin_headroom ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_srp_config_deserialize_with_weights ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_report_config_default_is_loc_weighted ... ok
[INFO] [stdout] test adapters::report::html::tests::complexity::build_issue_summary_lists_magic_unsafe_and_error_handling ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_weights_config_rejects_legacy_test_field ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_tests_config_deserialize_overrides ... ok
[INFO] [stdout] test adapters::report::html::tests::complexity::build_issue_summary_em_dash_when_clean ... ok
[INFO] [stdout] test adapters::report::html::tests::dashboard::dashboard_score_percentage ... ok
[INFO] [stdout] test adapters::config::tests::init::test_generate_default_config_is_valid_toml ... ok
[INFO] [stdout] test adapters::report::html::tests::dashboard::dashboard_quality_badge_color_by_threshold ... ok
[INFO] [stdout] test adapters::report::html::tests::dry::dry_section_total_and_every_category_table ... ok
[INFO] [stdout] test adapters::report::html::tests::iosp::build_iosp_data_view_keeps_only_unsuppressed_violations ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_contains_doctype ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_contains_dashboard ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_contains_style ... ok
[INFO] [stdout] test adapters::report::html::tests::root::html_reporter_renders_orphans_via_snapshot_view ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_coupling_section_empty ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_dry_section_empty ... ok
[INFO] [stdout] test adapters::report::html::tests::complexity::complexity_magic_number_key_flags_whole_file_regardless_of_line ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_empty_results ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_escapes_special_chars ... ok
[INFO] [stdout] test adapters::report::html::tests::iosp::iosp_section_join_requires_exact_file_and_line ... ok
[INFO] [stdout] test adapters::report::html::tests::complexity::complexity_section_renders_only_flagged_unsuppressed_rows ... ok
[INFO] [stdout] test adapters::report::html::tests::dry::dry_section_empty_state ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_footer_closes_tags ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_renders_architecture_findings ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_iosp_section_present ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_srp_section_empty ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_no_violations_message ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_with_violations_table ... ok
[INFO] [stdout] test adapters::report::html::tests::sections::coupling_section_renders_cycles_sdp_and_modules ... ok
[INFO] [stdout] test adapters::report::html::tests::sections::tq_section_renders_row ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_self_contained_no_external ... ok
[INFO] [stdout] test adapters::report::html::tests::srp_tables::srp_section_empty_states_when_no_warnings ... ok
[INFO] [stdout] test adapters::report::html::tests::sections::structural_section_total_and_rows ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_analyze_module_srp_test_lines_excluded ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_complexity_section ... ok
[INFO] [stdout] test adapters::report::html::tests::srp_tables::srp_section_total_header_and_subtables ... ok
[INFO] [stdout] test adapters::report::sarif::tests::mappers::dry_rule_maps_each_kind ... ok
[INFO] [stdout] test adapters::report::sarif::tests::mappers::tq_rule_maps_kinds_and_help_uri_only_on_iosp ... ok
[INFO] [stdout] test adapters::report::html::tests::root::test_html_quality_score_displayed ... ok
[INFO] [stdout] test adapters::report::sarif::tests::mappers::srp_rule_maps_each_kind_and_structural_codes ... ok
[INFO] [stdout] test adapters::report::sarif::tests::mappers::complexity_rule_maps_each_kind ... ok
[INFO] [stdout] test adapters::report::sarif::tests::mappers::coupling_rule_maps_each_detail ... ok
[INFO] [stdout] test adapters::report::sarif::tests::rules::sarif_rules_render_from_the_rule_card_registry ... ok
[INFO] [stdout] test adapters::report::sarif::tests::rules::test_sarif_rules_contain_boilerplate_patterns ... ok
[INFO] [stdout] test adapters::report::tests::ai::build_ai_value_shape::build_ai_value_groups_entries_by_file ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::orphan_and_architecture::sarif_reporter_emits_orphan_results_via_snapshot_view ... ok
[INFO] [stdout] test adapters::report::tests::ai::build_ai_value_shape::build_ai_value_includes_architecture_finding ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::orphan_and_architecture::sarif_skips_suppressed_architecture_findings ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::core::test_print_sarif_emits_violation_with_location ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::orphan_and_architecture::sarif_maps_architecture_severities ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::orphan_and_architecture::sarif_rules_include_orphan_suppression ... ok
[INFO] [stdout] test adapters::report::tests::ai::build_ai_value_shape::the_envelope_states_how_untested_was_answered ... ok
[INFO] [stdout] test adapters::report::tests::ai::details::fragment_excludes_self_and_keeps_other_partners ... ok
[INFO] [stdout] test adapters::report::tests::ai::build_ai_value_shape::build_ai_value_skips_suppressed ... ok
[INFO] [stdout] test adapters::report::tests::ai::details::duplicate_keeps_same_file_different_line_partner ... ok
[INFO] [stdout] test adapters::report::tests::ai::build_ai_value_shape::build_ai_value_zero_findings_no_findings_by_file ... ok
[INFO] [stdout] test adapters::report::tests::ai::build_ai_value_shape::every_entry_has_the_same_keys ... ok
[INFO] [stdout] test adapters::report::sarif::tests::rules::sarif_results_exclude_suppressed_findings_and_emit_ratio ... ok
[INFO] [stdout] test adapters::report::tests::ai::details::srp_module_cluster_clause_pins_greater_than_max ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_a::build_iosp_emits_violation_with_logic_and_call_lines ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_a::build_iosp_resolves_function_name_via_data ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_a::report_complexity_threshold_findings_include_max ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_b::empty_findings_produce_empty_chunks ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_a::report_dry_dead_code_uses_suggestion ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_b::report_architecture_severity_maps_independently ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_b::build_test_quality_emit_correct_categories ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_a::report_dry_duplicate_includes_partner_locations ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_b::build_srp_emit_dimension_specific_categories ... ok
[INFO] [stdout] test adapters::report::tests::ai::dimension_entries_b::report_coupling_cycle_emits_arrow_chain ... ok
[INFO] [stdout] test adapters::report::tests::ai::smoke_and_orphan::ai_json_render_on_empty_analysis_emits_zero_findings ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::core::test_print_sarif_multiple_violations ... ok
[INFO] [stdout] test adapters::report::sarif::tests::rules::every_emitted_rule_id_is_registered_in_rules_table ... ok
[INFO] [stdout] test adapters::config::tests::sections::test_weights_config_deserialize ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_baseline_v2_regression_by_quality_score ... ok
[INFO] [stdout] test adapters::report::tests::ai::smoke_and_orphan::ai_reporter_includes_orphan_entries_via_snapshot_view ... ok
[INFO] [stdout] test adapters::report::tests::ai::smoke_and_orphan::ai_toon_render_on_empty_analysis_emits_zero_findings ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::core::test_print_sarif_emits_no_results_when_clean ... ok
[INFO] [stdout] test adapters::report::tests::ai::smoke_and_orphan::ai_value_includes_complexity_finding_metric_and_location ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_baseline_v1_compat_no_version ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_comparison_lines_pins_deltas_and_regression ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::core::test_print_sarif_severity_for_many_violations_is_error_or_warning ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_format_score_delta_direction_and_magnitude ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_v2_has_all_dimensions ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_is_valid_json ... ok
[INFO] [stdout] test adapters::report::tests::dot::dot_reporter_intentionally_omits_orphan_rendering ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_v2_has_version ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_dot_render_emits_node_and_edge_for_function_with_calls ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_perfect_scores_are_one ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_with_violations ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_suppressed_excluded ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_create_baseline_empty ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_print_comparison_detects_only_regressions ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_comparison_lines_v1_skips_findings_line ... ok
[INFO] [stdout] test adapters::report::tests::ai::details::iosp_function_name_requires_exact_line_match ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_dot_render_returns_digraph_envelope ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::core::test_print_sarif_suppressed_skipped ... ok
[INFO] [stdout] test adapters::report::tests::baseline::test_print_comparison_invalid_json ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_dot_render_ignores_findings ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_print_dot_all_classifications ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_print_dot_integration_node_present ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_print_dot_empty_yields_digraph_envelope ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_print_dot_suppressed_skipped ... ok
[INFO] [stdout] test adapters::report::tests::dot::dot_nodes_use_classification_specific_fill_colors ... ok
[INFO] [stdout] test adapters::report::sarif::tests::root::orphan_and_architecture::sarif_emits_architecture_call_parity_finding ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::api_marker_orphan_renders_as_qual_api_not_qual_allow ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_collect_empty_analysis ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_collect_iosp_violation ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_format_findings_emits_file_line_category_and_function_name ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::findings_list_includes_orphan_suppressions_via_snapshot_view ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_collect_architecture_finding ... ok
[INFO] [stdout] test adapters::report::tests::dot::test_print_dot_violation_node_present ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_collect_magic_number_per_occurrence ... ok
[INFO] [stdout] test adapters::report::tests::findings_list_categories::complexity_detail_per_kind ... ok
[INFO] [stdout] test adapters::report::tests::findings_list_categories::function_name_at_requires_exact_file_and_line_match ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_collect_test_quality_uncovered ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::architecture_finding_severity_maps_to_level ... ok
[INFO] [stdout] test adapters::report::tests::findings_list_categories::srp_category_and_detail_per_kind ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_suppressed_not_collected ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::empty_findings_produce_empty_output ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::iosp_suppressed_finding_skipped ... ok
[INFO] [stdout] test adapters::report::tests::findings_list_categories::dry_category_and_detail_per_kind ... ok
[INFO] [stdout] test adapters::report::tests::findings_list_categories::srp_build_drops_suppressed ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_total_findings_coupling_cycle_no_file ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::summary_annotation_no_violations_emits_notice ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::iosp_finding_emits_warning_with_file_and_line ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_total_findings_dry_duplicate_per_participant ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::github_smoke_annotations ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::summary_annotation_with_only_architecture_findings_emits_error ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::summary_annotation_with_suppression_excess_adds_warning ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_sorted_by_file_and_line ... ok
[INFO] [stdout] test adapters::report::tests::github::annotations::summary_annotation_with_violations_emits_error ... ok
[INFO] [stdout] test adapters::report::tests::findings_list::test_format_findings_empty_yields_empty_string ... ok
[INFO] [stdout] test adapters::report::tests::github::messages::complexity_level_maps_kind_to_annotation_level ... ok
[INFO] [stdout] test adapters::report::tests::github::messages::coupling_messages_and_cycle_has_no_file_location ... ok
[INFO] [stdout] test adapters::report::tests::github::messages::srp_messages_per_kind ... ok
[INFO] [stdout] test adapters::report::tests::github::rendering::github_reporter_emits_orphan_annotations_via_snapshot_view ... ok
[INFO] [stdout] test adapters::report::tests::github::messages::dry_messages_per_kind_and_suppressed_dropped ... ok
[INFO] [stdout] test adapters::report::tests::json::sections::coupling_section_present_with_only_a_cycle ... ok
[INFO] [stdout] test adapters::report::tests::github::rendering::test_github_render_emits_iosp_annotation_then_summary ... ok
[INFO] [stdout] test adapters::report::tests::json::sections::suppressed_findings_excluded_from_json ... ok
[INFO] [stdout] test adapters::report::tests::json::sections::dead_types_reach_their_own_json_array_and_summary_count ... ok
[INFO] [stdout] test adapters::report::tests::json::sections::json_envelope_contains_every_populated_section ... ok
[INFO] [stdout] test adapters::report::tests::json::srp_complexity_severity::test_print_json_carries_complexity_counts ... ok
[INFO] [stdout] test adapters::report::tests::json::srp_complexity_severity::test_print_json_carries_srp_composite_score_clusters_length_score ... ok
[INFO] [stdout] test adapters::report::tests::json::srp_complexity_severity::test_print_json_marks_suppressed_function ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::test_json_omits_empty_orphan_suppressions ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::test_json_complexity_has_extended_fields ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::json_orphan_projects_too_loose_kind_and_target ... ok
[INFO] [stdout] test adapters::report::tests::json::violations_and_dups::test_print_json_carries_near_duplicate_similarity ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::json_reporter_includes_orphan_suppressions_via_snapshot_view ... ok
[INFO] [stdout] test adapters::report::tests::json::functions::violation_locations_attach_only_on_exact_line_match ... ok
[INFO] [stdout] test adapters::report::tests::json::srp_complexity_severity::test_print_json_carries_high_severity_for_many_violations ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::json_orphan_carries_the_marker_kind ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::test_json_summary_has_all_dimension_fields ... ok
[INFO] [stdout] test adapters::report::tests::json::violations_and_dups::test_print_json_carries_repeated_match_arm_count_and_distinct_groups ... ok
[INFO] [stdout] test adapters::report::tests::json::violations_and_dups::test_print_json_empty_yields_valid_json ... ok
[INFO] [stdout] test adapters::report::tests::projections_dry::split_dry_findings_keeps_distinct_repeated_match_groups_over_same_enum ... ok
[INFO] [stdout] test adapters::report::tests::json::summary_fields_and_orphan::test_json_summary_warning_count_fields_are_numbers ... ok
[INFO] [stdout] test adapters::report::tests::json::violations_and_dups::test_print_json_carries_violation_logic_and_call_locations ... ok
[INFO] [stdout] test adapters::report::tests::projections_extra::coupling_split_buckets_cycles_always_sdp_and_structural_filtered ... ok
[INFO] [stdout] test adapters::report::tests::projections_extra::srp_split_buckets_each_kind_and_drops_suppressed ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::compute_quality_score_zero_weights_collapse_to_zero ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_complexity_in_function_analysis ... ok
[INFO] [stdout] test adapters::report::tests::projections_dry::dead_code_boilerplate_wildcard_buckets_built_and_drop_suppressed ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_quality_score_empty ... ok
[INFO] [stdout] test adapters::report::tests::projections_dry::duplicate_and_fragment_groups_carry_participants ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_quality_score_with_warnings ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_quality_score_with_violations ... ok
[INFO] [stdout] test adapters::report::tests::projections_dry::split_dry_findings_collapses_duplicate_repeated_match_group_emissions ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_score_100_percent_only_with_zero_findings ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_suppression_ratio_flag_preserved ... ok
[INFO] [stdout] test adapters::report::tests::github::messages::tq_view_drops_suppressed_rows ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_score_all_violations_is_near_zero ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::total_findings_sums_every_contributing_field ... ok
[INFO] [stdout] test adapters::report::tests::projections_extra::tq_rows_drop_suppressed_and_untested_logic_lists_uncovered ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_quality_score_perfect ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_score_reflects_total_findings_realistically ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::compute_quality_score_epsilon_weight_is_inactive ... ok
[INFO] [stdout] test adapters::report::tests::github::rendering::test_github_render_includes_summary_annotation ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_suppression_ratio_default_false ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::compute_quality_score_pins_every_dimension_deficit ... ok
[INFO] [stdout] test adapters::report::tests::root::quality_score::test_total_findings ... ok
[INFO] [stdout] test adapters::report::tests::github::rendering::architecture_message_with_special_chars_is_escaped ... ok
[INFO] [stdout] test adapters::report::tests::json::sections::srp_section_present_with_only_a_struct_warning ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_baseline_roundtrip ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_json_integration_no_logic ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_summary_empty ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::test_print_suggestions_with_if_logic ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::test_print_suggestions_suppressed_skipped ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_json_violation_has_logic_and_calls ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::test_print_suggestions_with_arithmetic_logic ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_summary_counts ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::collect_suggestions_filters_to_unsuppressed_violations ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_suppressed_not_counted_as_violation ... ok
[INFO] [stdout] test adapters::report::text::tests::dry::dry_group_categories_render_with_participants ... ok
[INFO] [stdout] test adapters::report::text::tests::dry::dry_section_empty_when_no_findings ... ok
[INFO] [stdout] test adapters::report::text::tests::files::complexity_details_and_warnings_render ... ok
[INFO] [stdout] test adapters::report::text::tests::coupling::coupling_verbose_renders_header_cycle_sdp_legend_and_module_edges ... ok
[INFO] [stdout] test adapters::report::text::tests::files::complexity_line_hidden_when_all_metrics_zero ... ok
[INFO] [stdout] test adapters::report::text::tests::files::complexity_line_shown_for_calls_or_nesting_alone ... ok
[INFO] [stdout] test adapters::report::text::tests::files::error_handling_lists_only_nonzero_counts ... ok
[INFO] [stdout] test adapters::report::text::tests::files::suppressed_function_keeps_its_file_visible ... ok
[INFO] [stdout] test adapters::report::text::tests::files::non_verbose_violation_file_hides_non_violation_entries ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::suggestion_messages_pick_branch_by_logic_kind_and_calls ... ok
[INFO] [stdout] test adapters::report::text::tests::files::violation_entry_shows_logic_calls_effort_and_severity ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_json_structure ... ok
[INFO] [stdout] test adapters::report::text::tests::root::footer_with_findings_points_at_rule_cards_and_allow_guide ... ok
[INFO] [stdout] test adapters::report::text::tests::root::orphan_not_double_counted_when_present_in_findings_entries ... ok
[INFO] [stdout] test adapters::report::text::tests::root::test_print_report_empty_emits_quality_score_header ... ok
[INFO] [stdout] test adapters::report::text::tests::root::test_print_report_no_violations_marks_clean ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::test_print_suggestions_no_violations ... ok
[INFO] [stdout] test adapters::report::text::tests::dry::dry_dead_code_boilerplate_wildcard_render ... ok
[INFO] [stdout] test adapters::report::tests::suggestions::test_print_suggestions_with_loop_logic ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::test_summary_total_matches ... ok
[INFO] [stdout] test adapters::report::text::tests::files::non_verbose_hides_clean_files_but_verbose_shows_them ... ok
[INFO] [stdout] test adapters::report::text::tests::root::test_print_report_suppressed_verbose_marks_function ... ok
[INFO] [stdout] test adapters::report::text::tests::coupling::coupling_non_verbose_hides_edges_and_shows_all_clear ... ok
[INFO] [stdout] test adapters::report::text::tests::sections::findings_list_heading_pluralizes_and_lists_entries ... ok
[INFO] [stdout] test adapters::report::text::tests::root::test_print_report_verbose_lists_all_classifications ... ok
[INFO] [stdout] test adapters::report::text::tests::sections::tq_section_renders_row_with_detail ... ok
[INFO] [stdout] test adapters::report::text::tests::srp::srp_module_rows_show_only_nonzero_lines_and_clusters ... ok
[INFO] [stdout] test adapters::report::tests::root::summary_and_json::the_coverage_mode_distinguishes_partial_coverage ... ok
[INFO] [stdout] test adapters::report::text::tests::srp::srp_struct_and_param_rows_render ... ok
[INFO] [stdout] test adapters::report::text::tests::root::test_print_report_with_violation_surfaces_bad_fn ... ok
[INFO] [stdout] test adapters::report::text::tests::srp::srp_section_empty_when_no_findings ... ok
[INFO] [stdout] test adapters::report::text::tests::root::text_reporter_renders_orphans_via_snapshot_view ... ok
[INFO] [stdout] test adapters::config::tests::root::test_load_missing_file ... ok
[INFO] [stdout] test adapters::report::text::tests::root::test_print_report_with_complexity_surfaces_complexity_metrics ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_header_shows_counts_score_and_iosp_detail ... ok
[INFO] [stdout] test adapters::report::text::tests::root::untested_findings_without_coverage_say_so ... ok
[INFO] [stdout] test adapters::report::text::tests::sections::structural_section_renders_either_side_and_is_empty_when_both_empty ... ok
[INFO] [stdout] test adapters::report::text::tests::sections::architecture_view_drops_suppressed_and_section_renders_rows ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::summary_suppression_lines_only_for_nonzero_counts ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_clean_shows_pass_footer_and_no_finding_count ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_detail_lists_only_nonzero_counts ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::summary_suppression_section_preceded_by_blank_line ... ok
[INFO] [stdout] test adapters::report::tests::json::violations_and_dups::test_print_json_classifications_all_four ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_hides_inline_locations_above_threshold ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_shows_each_dimension_score_and_label ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::bare_test_attribute_recognized ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_maps_each_category_to_its_dimension_locations ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::summary_inline_location_skips_empty_file_findings ... ok
[INFO] [stdout] test adapters::report::text::tests::summary::format_summary_section_renders_suppression_lines ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::framework_test_attributes_recognized ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::cfg_test_attribute_still_distinct ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::cfg_test_propagation_does_not_tag_unrelated_files ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::inner_cfg_test_file_attribute_marks_file_as_cfg_test ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::nested_src_tests_dir_not_blanket_classified_as_integration ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::nested_file_under_src_bin_is_not_an_autobinary_crate_root ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::collect_cfg_test_file_paths_basic ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::path_attribute_on_cfg_test_mod_redirects_to_target_file ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::non_test_attributes_not_recognized ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::test_attribute_variant_matrix ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::is_integration_test_path_matches_package_root_tests_only ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::path_attribute_resolves_relative_to_parent_dir ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::directory_autobinary_main_is_an_autobinary_crate_root ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::cfg_test_classification_propagates_and_honours_package_roots ... ok
[INFO] [stdout] test adapters::shared::tests::file_to_module::test_file_to_module_backslash ... ok
[INFO] [stdout] test adapters::shared::tests::file_to_module::test_file_to_module_root_file ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::inline_mod_does_not_propagate_cfg_test_to_same_named_external_file ... ok
[INFO] [stdout] test adapters::shared::tests::file_to_module::test_file_to_module_src_prefix ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::a_literal_argument_is_checked_against_its_specifier ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::an_edition_variant_is_the_same_fragment ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::per_crate_tests_dir_recognized_as_integration_test ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::a_transparent_kind_decides_nothing_on_its_own ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::tests_dir_next_to_bin_only_crate_classified ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::src_tests_dir_reached_via_cfg_test_mod_still_classified ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::tests_dir_next_to_crate_root_file_classified ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::an_unknown_source_decides_nothing ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::the_same_kind_always_matches ... ok
[INFO] [stdout] test adapters::shared::tests::file_to_module::test_file_to_module_subdir_file ... ok
[INFO] [stdout] test adapters::shared::tests::file_to_module::test_file_to_module_subdir_mod ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::workspace_root_tests_dir_recognized_as_integration_test ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::an_unknown_specifier_decides_nothing ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::tests_dir_only_classified_at_a_real_package_root ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_files::tests_dir_next_to_src_without_crate_root_file_not_classified ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::expr_attrs_reads_the_expression_itself ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test_inline_mods::cfg_test_status_reaches_declarations_inside_inline_modules ... ok
[INFO] [stdout] test adapters::shared::tests::macro_expansion::non_test_macro_left_untouched ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::an_opaque_kind_is_rejected_by_every_other_one ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::generic_parameter_attributes_are_reachable_for_every_kind ... ok
[INFO] [stdout] test adapters::shared::tests::macro_expansion::proptest_block_surfaces_inner_test_fn ... ok
[INFO] [stdout] test adapters::shared::tests::macro_expansion::proptest_block_surfaces_multiple_fns ... ok
[INFO] [stdout] test adapters::shared::tests::macro_expansion::proptest_config_attribute_does_not_block_expansion ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::every_named_item_kind_yields_its_attributes_and_name ... ok
[INFO] [stdout] test adapters::shared::tests::macro_expansion::quickcheck_block_marks_fn_as_test ... ok
[INFO] [stdout] test adapters::shared::tests::macro_expansion::unparseable_test_macro_falls_back_to_opaque ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::associated_and_foreign_item_kinds_yield_their_attributes ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::idents_in_call_position_harvests_calls_and_component_renders ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::idents_in_call_position_excludes_lowercase_dsl_element_tag ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::recover_exprs_comma_list_form ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::recover_exprs_repeat_semicolon_form ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::recover_exprs_single_expr_form ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::recover_exprs_unparseable_dsl_returns_empty_without_panic ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::idents_in_call_position_excludes_prop_named_like_a_function ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::idents_in_call_position_keeps_lowercase_call_form ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_jaccard_both_empty ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::recover_exprs_recovers_let_else_diverging_branch ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::recover_exprs_repeat_form_recovers_nested_macro_stmt ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::tokens_reference_ident_false_when_absent ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::tokens_reference_ident_recurses_into_nested_groups ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_jaccard_partial_overlap ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::pattern_attributes_are_reachable_for_every_shape ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_jaccard_identical ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_field_access_preserves_name ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::statement_attributes_are_exposed_where_syn_offers_them ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_for_loop ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_closure ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_macro_call ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::tokens_reference_ident_finds_self_in_format_args ... ok
[INFO] [stdout] test adapters::shared::tests::macro_tokens::tokens_reference_ident_ignores_string_literal_and_substring ... ok
[INFO] [stdout] test adapters::shared::tests::item_shape::expression_attributes_are_reachable_for_every_shape_a_statement_takes ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_if_expression ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_let_binding ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_empty_body ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_jaccard_disjoint ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_jaccard_one_empty ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_match_expression ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_method_call_preserves_name ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_reference ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::structural_hash_equality_by_structure ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_stmts_subset ... ok
[INFO] [stdout] test adapters::shared::tests::normalize::test_normalize_try_operator ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::conventional_child_of_an_inline_module_resolves_under_its_directory ... ok
[INFO] [stdout] test adapters::shared::tests::normalize_coverage::unary_operators_each_emit_their_token ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::path_attribute_binds_within_its_own_package ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::nested_file_under_src_bin_is_not_a_crate_root ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::path_attribute_inside_an_inline_module_binds_under_the_module_directory ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::directory_autobinary_main_is_a_crate_root ... ok
[INFO] [stdout] test adapters::shared::tests::normalize_coverage::or_pattern_emits_a_pipe_between_each_case ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::inline_module_path_attribute_in_a_non_mod_rs_file_opens_the_file_directory ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::a_private_inline_module_hides_the_file_its_path_attribute_pulls_in ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::path_attribute_may_point_outside_its_own_package ... ok
[INFO] [stdout] test adapters::shared::tests::normalize_coverage::expr_kinds_each_emit_their_marker ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::path_attribute_on_a_private_module_still_resolves_for_reexports ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::nested_directory_modules_resolve_through_mod_rs ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::top_level_path_attribute_stays_relative_to_the_declaring_file ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::path_attribute_with_parent_segments_is_normalised ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::layout::path_suffix_matching_respects_segment_boundaries ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::a_private_link_anywhere_in_the_chain_breaks_reachability ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::a_public_type_behind_a_private_module_is_not_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::binary_crate_items_are_not_externally_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::glob_reexport_rescues_the_whole_module ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::private_mod_declaration_makes_everything_below_unreachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::inline_module_visibility_is_part_of_the_chain ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::crate_root_items_are_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::methods_of_a_reexported_type_are_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::non_pub_item_in_pub_module_is_unreachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::methods_of_an_unreachable_type_stay_unreachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::a_shared_file_is_walked_once_per_crate ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::methods_in_a_split_impl_find_their_owner ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::pub_item_in_pub_module_chain_is_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::public_types_and_constants_are_reachable_items_too ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_private_reexport_is_not_followed_on_a_later_hop ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::public_methods_are_reachable_items_too ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_reexport_inside_a_private_inline_module_exposes_nothing ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::trait_methods_are_reachable_through_their_trait ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::pub_use_reexport_rescues_an_item_from_a_private_module ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::workspace_crates_are_resolved_per_package ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::modules::unknown_file_is_treated_as_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_crate_root_style_unprefixed_reexport_still_resolves ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_reexport_does_not_make_every_same_named_function_reachable ... ok
[INFO] [stdout] test adapters::shared::tests::normalize_coverage::binary_operators_each_emit_their_token ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_collect_free_functions ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_collect_nested_module ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_reexport_inside_a_private_module_does_not_expose_anything ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_renamed_reexport_chain_reaches_the_declaration ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::super_prefixed_reexports_resolve_to_the_parent_module ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_collect_impl_methods ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::glob_chains_through_a_glob_exposed_facade_are_followed ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::reexport_from_a_private_inline_module_is_resolved ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::a_reexport_inside_a_public_inline_module_still_exposes ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_function_self_own_method ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_function_single_segment ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_method_in_scope ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::non_test_attribute_never_recognized ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_method_not_in_scope ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_method_inherent_is_own ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_function_self_inherent_is_own ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_function_not_in_scope ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_method_not_universal ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_name_collision_conservative ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_enum_variant_constructor_not_own_call ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_function_type_prefix ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_nontrivial_method_with_logic ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_nontrivial_method_with_params ... ok
[INFO] [stdout] test adapters::shared::tests::reachability::reexports::reexport_chains_are_followed_to_the_declaration ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_collect_enum_names ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_nontrivial_method_get_computed_arg ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_collect_struct_names ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_collect_trait_methods ... ok
[INFO] [stdout] test adapters::shared::tests::scope::collection_and_ownership::test_own_function_external_type ... ok
[INFO] [stdout] test adapters::shared::tests::normalize_coverage::pat_kinds_each_emit_their_marker ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_nontrivial_method_multi_stmt ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_own_function_trait_impl_blocked ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_own_function_type_custom_still_counted ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_clone ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trait_only_method_not_own_call ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_get_ref_field ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_field_access ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_external_trait_impl_trait_only ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trait_and_inherent_collision_not_trait_only ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_self_path_trait_only_not_own_function ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trait_def_only_no_impl ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_reference ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_own_function_type_inherent_is_own ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_glob_skipped ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_absolute_path_preserves_leading_colon ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_absolute_path_renamed_preserves_leading_colon ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_not_own_call ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_rename ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_crate_prefix ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_self_in_group ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_multiple_top_level_uses ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::leaves_give_the_renames_members_and_globs ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_nested_group ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_mixed_absolute_and_relative ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_len_chain ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_get_deep_field ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_simple_use ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_get_self_field ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::a_marker_trailing_real_code_is_not_an_annotation ... ok
[INFO] [stdout] test adapters::shared::tests::use_tree::test_alias_map_self_renamed_in_group ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::marker_text_on_a_literal_closing_line_is_not_collected ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::test_collect_rust_files_dot_prefix_path ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::marker_inside_a_nested_macro_group_literal_is_not_collected ... ok
[INFO] [stdout] test adapters::source::tests::watch::test_run_watch_loop_calls_on_change_initially ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::collect_rust_files_excludes_hidden_and_target_dirs ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::qual_allow_marker_line_follows_contiguous_comment_block ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::test_collect_rust_files_dotdot_path ... ok
[INFO] [stdout] test adapters::shared::tests::scope::trivial_and_edge_cases::test_trivial_method_get_literal ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::test_display_path_uses_forward_slashes ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::marker_inside_a_multiline_string_literal_is_not_collected ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::collected_files_come_back_in_a_fixed_order ... ok
[INFO] [stdout] test adapters::source::tests::watch::test_create_file_watcher_valid_path ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::qual_api_marker_also_honors_contiguous_block ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_api_marker_exact ... ok
[INFO] [stdout] test adapters::source::tests::watch::test_create_file_watcher_returns_result ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_api_marker_not_regular_comment ... ok
[INFO] [stdout] test adapters::source::tests::filesystem::real_marker_outside_a_literal_is_still_collected ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_api_marker_not_counted_as_suppression ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_api_marker_with_trailing_text ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_detect_invalid_qual_allow_catches_unclosed_parens ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_detect_invalid_qual_allow_does_not_flag_bare_or_empty ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_inverse_marker_empty_rejected ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_api_marker_not_suppression ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_inverse_marker_parsed ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_multi_dim_blanket_rejected ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_detect_invalid_qual_allow_flags_typo_dimensions ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_inverse_marker_not_suppression ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_qual_allow_bare_is_ignored ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_qual_allow_iosp ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_qual_allow_with_reason ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_detect_invalid_qual_allow_flags_unknown_target ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_invalid_qual_allow_reason_distinguishes_kinds ... ok
[INFO] [stdout] test adapters::shared::tests::cfg_test::qualified_test_path_always_recognized ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_qual_allow_unclosed_parens_is_ignored_as_suppression ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_test_helper_marker_with_trailing_text ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_bad_pin_value ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_blanket_allow_has_no_target ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_boolean_target_rejects_value ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_inverse_marker_with_spaces ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_non_finite_and_negative_pins_rejected ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_parse_targeted_boolean ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_old_iosp_allow_with_reason ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_test_helper_marker_exact ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_parse_targeted_metric_pin ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_test_helper_marker_not_api ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_targeted_requires_reason ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_test_helper_marker_not_plural ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_old_iosp_allow_still_works ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_bare_multikind_dim_rejected ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_test_helper_marker_not_counted_as_suppression ... ok
[INFO] [stdout] test app::tests::analyze_codebase::concatenates_findings_from_each_analyzer ... ok
[INFO] [stdout] test adapters::suppression::tests::qual_allow::test_parse_no_match ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_targeted_suppression_has_exactly_one_dimension ... ok
[INFO] [stdout] test app::tests::analyze_codebase::empty_analyzer_list_yields_empty ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_unknown_target_lists_valid_targets ... ok
[INFO] [stdout] test app::tests::architecture::count_architecture_warnings_excludes_suppressed ... ok
[INFO] [stdout] test app::tests::coupling_targeted::blanket_allow_coupling_suppresses_module ... ok
[INFO] [stdout] test app::tests::coupling_targeted::sdp_target_suppresses_sdp_not_metric ... ok
[INFO] [stdout] test app::tests::coupling_targeted::wrong_metric_target_leaves_instability_firing ... ok
[INFO] [stdout] test app::tests::gates::test_check_default_fail_no_fail_mode ... ok
[INFO] [stdout] test app::tests::analyze_codebase::preserves_analyzer_order ... ok
[INFO] [stdout] test app::tests::gates::test_check_fail_on_warnings_exits_when_triggered ... ok
[INFO] [stdout] test adapters::suppression::tests::targeted::test_metric_target_requires_value ... ok
[INFO] [stdout] test app::tests::architecture::architecture_family_is_first_segment_after_prefix ... ok
[INFO] [stdout] test app::tests::architecture::architecture_marker_in_window_suppresses_finding ... ok
[INFO] [stdout] test app::tests::architecture::architecture_marker_must_cover_the_architecture_dimension ... ok
[INFO] [stdout] test app::tests::architecture::architecture_targeted_marker_matches_only_its_family ... ok
[INFO] [stdout] test app::tests::coupling_targeted::instability_pin_suppresses_within_and_refires ... ok
[INFO] [stdout] test app::tests::gates::test_check_min_quality_score_above_threshold ... ok
[INFO] [stdout] test app::tests::gates::test_check_min_quality_score_exactly_at_threshold_passes ... ok
[INFO] [stdout] test app::tests::gates::test_check_min_quality_score_below_threshold ... ok
[INFO] [stdout] test app::tests::gates::test_min_quality_score_cli_parse ... ok
[INFO] [stdout] test app::tests::gates::test_check_quality_gates_below_threshold ... ok
[INFO] [stdout] test app::tests::gates::test_apply_exit_gates_returns_err_on_findings ... ok
[INFO] [stdout] test app::tests::gates::test_check_quality_gates_passes ... ok
[INFO] [stdout] test app::tests::gates::test_setup_config_missing_explicit_file_returns_exit_code_2 ... ok
[INFO] [stdout] test app::tests::gates::test_check_default_fail_no_findings ... ok
[INFO] [stdout] test app::tests::gates::test_check_quality_gates_no_gate_set ... ok
[INFO] [stdout] test app::tests::gates::test_suppression_ratio_warning_message_gating ... ok
[INFO] [stdout] test app::tests::metrics::counters::compute_coupling_returns_some_when_enabled ... ok
[INFO] [stdout] test app::tests::metrics::counters::count_sdp_violations_excludes_suppressed_with_distinct_counts ... ok
[INFO] [stdout] test app::tests::metrics::counters::coupling_afferent_above_threshold_warns ... ok
[INFO] [stdout] test app::tests::metrics::counters::count_dry_findings_counts_only_unsuppressed ... ok
[INFO] [stdout] test app::tests::metrics::counters::coupling_instability_exactly_at_threshold_does_not_warn ... ok
[INFO] [stdout] test app::tests::metrics::counters::count_srp_warnings_counts_unsuppressed_struct_warnings ... ok
[INFO] [stdout] test app::tests::gates::test_check_default_fail_with_findings ... ok
[INFO] [stdout] test app::tests::metrics::counters::coupling_efferent_exactly_at_threshold_does_not_warn ... ok
[INFO] [stdout] test app::tests::metrics::counters::coupling_instability_above_threshold_warns ... ok
[INFO] [stdout] test app::tests::metrics::counters::coupling_afferent_exactly_at_threshold_does_not_warn ... ok
[INFO] [stdout] test app::tests::gates::test_check_fail_on_warnings_passes_when_no_warnings ... ok
[INFO] [stdout] test app::tests::metrics::counters::wildcard_suppression_wrong_dimension_does_not_suppress ... ok
[INFO] [stdout] test app::tests::metrics::counters::wildcard_suppression_one_line_above_suppresses ... ok
[INFO] [stdout] test app::tests::metrics::counters::wildcard_suppression_same_line_suppresses ... ok
[INFO] [stdout] test app::tests::metrics::counters::wildcard_suppression_two_lines_above_does_not_suppress ... ok
[INFO] [stdout] test app::tests::metrics::counters::coupling_efferent_above_threshold_warns ... ok
[INFO] [stdout] test app::tests::metrics::counters::wildcard_suppression_below_warning_does_not_suppress ... ok
[INFO] [stdout] test app::tests::metrics::dry_detection::dead_type_detection_runs_when_enabled ... ok
[INFO] [stdout] test app::tests::metrics::dry_detection::dead_type_detection_skipped_when_disabled ... ok
[INFO] [stdout] test app::tests::metrics::dry_detection::dead_type_detection_skipped_when_duplicates_disabled ... ok
[INFO] [stdout] test app::tests::metrics::dry_detection::dead_code_detection_skipped_when_disabled ... ok
[INFO] [stdout] test app::tests::metrics::param_warnings::test_param_warning_at_threshold_no_warning ... ok
[INFO] [stdout] test app::tests::metrics::param_warnings::test_param_warning_srp_none ... ok
[INFO] [stdout] test app::tests::metrics::param_warnings::test_param_warning_suppressed_fn_is_flagged_but_marked_suppressed ... ok
[INFO] [stdout] test app::tests::metrics::srp_suppression::srp_param_suppression_respects_window_and_dimension ... ok
[INFO] [stdout] test app::tests::metrics::srp_suppression::srp_struct_suppression_respects_window_and_dimension ... ok
[INFO] [stdout] test app::tests::metrics::srp_targeted::cluster_pin_suppresses_cohesion_only_warning ... ok
[INFO] [stdout] test app::tests::metrics::dry_detection::wildcard_detection_skipped_when_duplicates_disabled ... ok
[INFO] [stdout] test app::tests::metrics::param_warnings::test_param_warning_custom_threshold ... ok
[INFO] [stdout] test app::tests::metrics::param_warnings::test_param_warning_trait_impl_excluded ... ok
[INFO] [stdout] test app::tests::metrics::srp_targeted::blanket_allow_srp_suppresses_module ... ok
[INFO] [stdout] test app::tests::metrics::srp_targeted::file_length_pin_does_not_hide_cohesion ... ok
[INFO] [stdout] test app::tests::metrics::srp_targeted::file_length_pin_refires_above_pin ... ok
[INFO] [stdout] test app::tests::metrics::suppression::dry_suppression_marks_every_group_kind ... ok
[INFO] [stdout] test app::tests::metrics::suppression::dry_suppression_must_cover_the_dry_dimension ... ok
[INFO] [stdout] test app::tests::metrics::suppression::dry_targeted_suppression_is_per_kind ... ok
[INFO] [stdout] test app::tests::metrics::suppression::test_inverse_annotation_suppresses_duplicate ... ok
[INFO] [stdout] test app::tests::metrics::suppression::test_duplicate_without_suppression_not_marked ... ok
[INFO] [stdout] test app::tests::metrics::suppression::test_inverse_annotation_must_target_group_member ... ok
[INFO] [stdout] test app::tests::metrics::suppression::inverse_suppression_window_boundaries ... ok
[INFO] [stdout] test app::tests::metrics::param_warnings::test_param_warning_exceeds_threshold ... ok
[INFO] [stdout] test app::tests::metrics::srp_targeted::file_length_pin_suppresses_within_pin ... ok
[INFO] [stdout] test app::tests::metrics::srp_targeted::wrong_target_does_not_suppress ... ok
[INFO] [stdout] test app::tests::metrics::suppression::test_count_sdp_violations_excludes_suppressed ... ok
[INFO] [stdout] test app::tests::pipeline::a_qual_api_on_a_re_exported_but_unconsumed_function_is_not_spent ... ok
[INFO] [stdout] test app::tests::pipeline::a_marker_is_not_spent_by_a_call_through_an_alias_known_limit ... ok
[INFO] [stdout] test app::tests::gates::test_check_fail_on_warnings_passes_when_disabled ... ok
[INFO] [stdout] test app::tests::pipeline::test_analyze_and_output_returns_analyzed_functions ... ok
[INFO] [stdout] test app::tests::pipeline::a_type_marker_is_not_spent_by_an_alias_implication ... ok
[INFO] [stdout] test app::tests::pipeline::a_qual_test_helper_reached_through_a_colliding_test_alias_is_not_spent ... ok
[INFO] [stdout] test adapters::analyzers::srp::tests::module::scoring_and_analysis::test_analyze_module_srp_length_and_cohesion_by_file_kind ... ok
[INFO] [stdout] test app::tests::pipeline::an_alias_implication_does_not_make_a_function_untested ... ok
[INFO] [stdout] test app::tests::pipeline::test_check_suppression_ratio_below ... ok
[INFO] [stdout] test app::tests::pipeline::test_check_suppression_ratio_zero_total ... ok
[INFO] [stdout] test app::tests::pipeline::test_check_suppression_ratio_above ... ok
[INFO] [stdout] test app::tests::pipeline::test_check_suppression_ratio_at_boundary ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_filtered_files_no_exclude ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_rust_files_directory ... ok
[INFO] [stdout] test app::tests::pipeline::test_check_suppression_ratio_just_above ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_no_match ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_old_iosp_allow_with_reason ... ok
[INFO] [stdout] test app::tests::pipeline::a_test_reaching_a_function_through_an_alias_still_tests_it ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_filtered_files_with_exclude ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_bare_qual_allow_is_ignored ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_multiple ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_qual_allow_iosp ... ok
[INFO] [stdout] test adapters::shared::tests::fragment_match::the_known_specifiers_match_the_compiler ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_rust_files_single_file ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_qual_allow_with_reason ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_suppression_old_iosp_allow_still_works ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_all_suppressions_allow_with_gap_counted ... ok
[INFO] [stdout] test app::tests::pipeline::test_mark_coupling_suppressions_none_analysis ... ok
[INFO] [stdout] test app::tests::pipeline::test_output_results_dispatches_text_format_on_empty_analysis ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_all_suppressions_allow_before_cfg_test_excluded ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_coupling_warnings_counts_unsuppressed ... ok
[INFO] [stdout] test app::tests::pipeline::test_mark_coupling_suppressions_submodule_file ... ok
[INFO] [stdout] test app::tests::pipeline::test_mark_coupling_suppressions_dimension_coverage ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_coupling_warnings_skips_suppressed ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_all_suppressions_both_types ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_all_suppressions_test_code_excluded ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_rust_files_empty_dir ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_all_suppressions_qual_only ... ok
[INFO] [stdout] test app::tests::pipeline::test_read_and_parse_files_invalid_syntax ... ok
[INFO] [stdout] test app::tests::pipeline::test_run_analysis_empty_input ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_coupling_warnings_leaf_module_excluded ... ok
[INFO] [stdout] test app::tests::pipeline::test_mark_coupling_suppressions_marks_module ... ok
[INFO] [stdout] test app::tests::pipeline::test_count_all_suppressions_rust_allow_only ... ok
[INFO] [stdout] test app::tests::pipeline::test_run_analysis_trivial_function ... ok
[INFO] [stdout] test app::tests::pipeline::test_read_and_parse_files_missing_file ... ok
[INFO] [stdout] test app::tests::pipeline::test_run_analysis_findings_architecture_field_present ... ok
[INFO] [stdout] test app::tests::projection::project_complexity_nesting_carries_hotspot ... ok
[INFO] [stdout] test app::tests::projection_secondary::project_data_emits_one_module_record_per_metric ... ok
[INFO] [stdout] test app::tests::projection::project_complexity_emits_cognitive_finding ... ok
[INFO] [stdout] test app::tests::projection::project_complexity_emits_magic_number_findings ... ok
[INFO] [stdout] test app::tests::projection_secondary::project_coupling_takes_only_coupling_dimension_structural_warnings ... ok
[INFO] [stdout] test app::tests::pipeline::test_run_analysis_populates_iosp_dimension ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_rust_files_non_rust_file ... ok
[INFO] [stdout] test app::tests::projection::project_complexity_error_handling_sums_all_counts ... ok
[INFO] [stdout] test app::tests::projection_secondary::project_srp_takes_only_srp_dimension_structural_warnings ... ok
[INFO] [stdout] test app::tests::pipeline::test_read_and_parse_files_valid ... ok
[INFO] [stdout] test app::tests::pipeline::test_run_analysis_populates_complexity_metrics ... ok
[INFO] [stdout] test app::tests::projection_secondary::project_coupling_threshold_filter_is_warning_and_not_suppressed ... ok
[INFO] [stdout] test app::tests::run::test_apply_cli_overrides_allow_recursion ... ok
[INFO] [stdout] test app::tests::run::test_apply_cli_overrides_fail_on_warnings ... ok
[INFO] [stdout] test app::tests::run::test_determine_output_format_explicit_overrides_json_flag ... ok
[INFO] [stdout] test app::tests::run::test_apply_cli_overrides_strict_error_propagation ... ok
[INFO] [stdout] test app::tests::run::test_apply_cli_overrides_strict_closures ... ok
[INFO] [stdout] test app::tests::run::test_apply_cli_overrides_strict_iterators ... ok
[INFO] [stdout] test app::tests::projection_secondary::project_dry_emits_fragment_and_repeated_match_findings ... ok
[INFO] [stdout] test app::tests::run::test_determine_output_format_default_text ... ok
[INFO] [stdout] test app::tests::run::test_extract_init_metrics_empty ... ok
[INFO] [stdout] test app::tests::run::test_determine_output_format_json_flag ... ok
[INFO] [stdout] test app::tests::run::test_apply_cli_overrides_no_flags ... ok
[INFO] [stdout] test app::tests::run::test_extract_init_metrics_with_complexity ... ok
[INFO] [stdout] test app::tests::run::test_determine_output_format_explicit ... ok
[INFO] [stdout] test app::tests::projection::project_architecture_wraps_each_legacy_finding ... ok
[INFO] [stdout] test app::tests::run::test_output_format_github ... ok
[INFO] [stdout] test app::tests::run::test_output_format_ai ... ok
[INFO] [stdout] test app::tests::run::test_output_format_case_insensitive ... ok
[INFO] [stdout] test app::tests::run::test_output_format_default ... ok
[INFO] [stdout] test app::tests::run::test_output_format_html ... ok
[INFO] [stdout] test app::tests::run::test_output_format_ai_json ... ok
[INFO] [stdout] test app::tests::run::test_fail_on_warnings_config_default ... ok
[INFO] [stdout] test app::tests::run::test_output_format_json ... ok
[INFO] [stdout] test app::tests::run::test_output_format_invalid ... ok
[INFO] [stdout] test app::tests::run::test_fail_on_warnings_cli_parse ... ok
[INFO] [stdout] test app::tests::run::test_fail_on_warnings_default_false ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::ambiguity_does_not_hide_a_never_applied_marker ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::marker_attached_within_the_annotation_window_is_not_called_unattached ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::ambiguous_bare_name_never_reports_a_marker_as_spent ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::both_markers_on_one_function_are_each_classified ... ok
[INFO] [stdout] test app::tests::pipeline::test_run_analysis_populates_dry_duplicates ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::qualified_name_match_is_unambiguous_even_when_bare_names_collide ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::marker_out_of_range_of_its_function_is_reported_as_unattached ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::unmarked_function_is_never_reported ... ok
[INFO] [stdout] test app::tests::pipeline::test_collect_rust_files_skips_target_and_hidden_dirs ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::findings_are_sorted_by_file_then_line ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_on_a_type_is_no_longer_reported_as_unattached ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::marker_not_attached_to_any_function_is_reported ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_on_a_public_method_is_not_accused ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::unattached_test_helper_marker_is_reported_too ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_on_an_exempt_type_changes_nothing ... ok
[INFO] [stdout] test app::tests::stale_markers::ineffective::marker_on_an_exempt_function_is_reported_as_ineffective ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_on_a_crate_internal_type_never_applied ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_belongs_to_the_nearest_declaration ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_on_neither_a_function_nor_a_type_is_still_unattached ... ok
[INFO] [stdout] test app::tests::run::test_output_format_dot ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_test_helper_marker_on_a_type_is_verified_too ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::api_marker_on_real_public_api_without_callers_stays_silent ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::spent_marker_message_warns_that_untested_may_surface ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_marker_on_a_type_production_uses_is_spent ... ok
[INFO] [stdout] test app::tests::stale_markers::types::the_message_names_the_check_that_will_report_a_type ... ok
[INFO] [stdout] test app::tests::stale_markers::types::a_name_shared_with_a_function_is_not_attributable ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::api_marker_on_unreachable_called_item_says_remove_it ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::qualified_name_counts_as_a_production_caller ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::api_marker_on_unreachable_uncalled_item_says_wire_or_delete ... ok
[INFO] [stdout] test app::tests::structural_metrics::count_structural_warnings_splits_by_dimension ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::test_helper_marker_is_spent_when_production_calls_it ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::test_helper_marker_is_not_judged_by_reachability ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::test_helper_without_any_caller_is_left_to_dead_code ... ok
[INFO] [stdout] test app::tests::structural_metrics::compute_structural_returns_some_when_enabled ... ok
[INFO] [stdout] test app::tests::structural_metrics::structural_target_does_not_suppress_a_different_kind ... ok
[INFO] [stdout] test app::tests::structural_metrics::unrelated_targeted_marker_does_not_suppress_structural_warning ... ok
[INFO] [stdout] test app::tests::structural_metrics::structural_target_suppresses_its_own_kind ... ok
[INFO] [stdout] test app::tests::structural_metrics::structural_suppression_window_and_dimension ... ok
[INFO] [stdout] test app::tests::tq_metrics::count_tq_warnings_splits_by_kind ... ok
[INFO] [stdout] test app::tests::stale_markers::verdicts::api_marker_is_spent_once_production_calls_the_function ... ok
[INFO] [stdout] test app::tests::tq_metrics::tq_suppression_window_and_dimension ... ok
[INFO] [stdout] test app::tests::tq_metrics::tq_targeted_suppression_is_per_kind ... ok
[INFO] [stdout] test app::tests::warnings::complexity_flags::disabled_complexity_emits_no_warnings ... ok
[INFO] [stdout] test app::tests::warnings::complexity_targeted::cognitive_pin_suppresses_within_and_refires_above ... ok
[INFO] [stdout] test app::tests::warnings::complexity_targeted::unsafe_target_suppresses_unsafe_not_nesting ... ok
[INFO] [stdout] test app::tests::warnings::complexity_flags::magic_numbers_are_summed ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_error_handling_flagged_for_non_test_fn ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_exclude_test_violations_keeps_non_test ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_error_handling_skipped_for_test_fn ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_exclude_test_violations_reclassifies ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::count_rust_allow_attrs_excludes_test_module_attrs ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::extended_warning_flags_set_over_threshold ... ok
[INFO] [stdout] test app::tests::warnings::complexity_flags::cognitive_over_threshold_warns_alone ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_unsafe_without_allow_still_warned ... ok
[INFO] [stdout] test app::tests::warnings::complexity_flags::cyclomatic_over_threshold_warns_alone ... ok
[INFO] [stdout] test app::tests::warnings::complexity_flags::complexity_exactly_at_threshold_does_not_warn ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::test_complexity_suppressed_functions_skipped ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::test_function_length_at_threshold_no_warning ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::test_nesting_depth_at_threshold_no_warning ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_unsafe_suppressed_by_allow_annotation ... ok
[INFO] [stdout] test app::tests::warnings::complexity_targeted::length_pin_suppresses_within ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::test_error_handling_expect_allowed ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::test_error_handling_expect_not_allowed ... ok
[INFO] [stdout] test app::tests::warnings::exclude_and_error_handling::test_error_handling_flagged_for_lone_panic ... ok
[INFO] [stdout] test app::tests::warnings::complexity_targeted::wrong_target_does_not_suppress ... ok
[INFO] [stdout] test app::tests::warnings::flag_application::complexity_suppression_on_same_line_suppresses_complexity_only ... ok
[INFO] [stdout] test app::tests::warnings::flag_application::suppression_at_window_edge_applies ... ok
[INFO] [stdout] test app::tests::warnings::flag_application::iosp_suppression_on_same_line_suppresses_iosp_only ... ok
[INFO] [stdout] test app::tests::warnings::flag_application::recursive_annotation_drops_self_calls_only ... ok
[INFO] [stdout] test app::tests::warnings::extended_warnings::test_suppressed_functions_skipped ... ok
[INFO] [stdout] test app::tests::warnings::orphan_dry_and_disabled::srp_marker_is_orphan_when_srp_dimension_disabled ... ok
[INFO] [stdout] test app::tests::warnings::flag_application::suppression_below_function_does_not_apply ... ok
[INFO] [stdout] test app::tests::warnings::orphan_complexity_thresholds::error_handling_marker_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_basics_and_suppression::suppressed_srp_param_over_threshold_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_dry_and_disabled::srp_marker_within_5_line_window_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::flag_application::suppression_just_outside_window_does_not_apply ... ok
[INFO] [stdout] test app::tests::warnings::orphan_basics_and_suppression::orphan_suppression_window_and_dimension_matching ... ok
[INFO] [stdout] test app::tests::warnings::orphan_basics_and_suppression::coupling_marker_is_not_orphan_for_structural_coupling_finding ... ok
[INFO] [stdout] test app::tests::warnings::orphan_basics_and_suppression::coupling_only_marker_with_no_line_anchored_finding_is_skipped ... ok
[INFO] [stdout] test app::tests::warnings::orphan_basics_and_suppression::suppressed_complexity_metric_over_threshold_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_complexity_thresholds::complexity_marker_at_exact_threshold_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_dry_and_disabled::complexity_marker_is_orphan_when_complexity_dimension_disabled ... ok
[INFO] [stdout] test app::tests::warnings::orphan_mod_internals::invalid_marker_surfaces_as_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::both_active_module_finding_emits_both_targets ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::architecture_targeted_wrong_family_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::architecture_targeted_right_family_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_module_tq_arch::complexity_marker_without_any_overshoot_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_module_tq_arch::srp_module_marker_anywhere_in_file_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_mod_internals::magic_numbers_skipped_for_test_fn_leaves_marker_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_mod_internals::architecture_marker_in_window_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_mod_internals::coupling_only_marker_is_verifiable_when_a_coupling_finding_exists ... ok
[INFO] [stdout] test app::tests::warnings::orphan_mod_internals::dry_enable_guard_truth_table ... ok
[INFO] [stdout] test app::tests::warnings::orphan_mod_internals::error_handling_skipped_for_test_fn_leaves_marker_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_module_tq_arch::architecture_marker_only_matches_findings_in_window ... ok
[INFO] [stdout] test app::tests::warnings::orphan_module_tq_arch::tq_marker_within_5_line_window_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::dry_duplicate_marker_over_suppressed_group_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::targeted_coupling_pin_with_structural_finding_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::targeted_coupling_sdp_pin_without_finding_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::dry_targeted_wrong_kind_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::file_length_pin_mismatches_god_struct_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::file_length_pin_on_cluster_only_finding_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::cluster_pin_on_length_only_finding_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::complexity_wrong_metric_target_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::coupling_metric_pin_is_never_too_loose_checked ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::magic_numbers_pin_above_function_is_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::tq_targeted_right_kind_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::structural_coupling_target_wrong_kind_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::structural_coupling_target_matches_its_finding ... ok
[INFO] [stdout] test app::tests::warnings::orphan_targeting::tq_targeted_wrong_kind_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::cluster_pin_too_loose_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::complexity_cognitive_pin_within_headroom_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::cluster_pin_within_headroom_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::complexity_pin_too_tight_refires_not_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::max_parameters_pin_within_headroom_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::pin_headroom_config_flips_the_verdict ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::file_length_pin_within_headroom_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::too_loose_uses_largest_covered_value_not_smallest ... ok
[INFO] [stdout] test cli::explain::tests::fallback_text_hints_when_arg_is_a_suppression_target ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::file_length_pin_too_loose_is_orphan ... ok
[INFO] [stdout] test cli::explain::tests::fallback_text_lists_all_three_modes_with_examples ... ok
[INFO] [stdout] test cli::explain::tests::rule_card_text_is_none_for_unknown_id ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::complexity_cognitive_pin_too_loose_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::max_parameters_pin_too_loose_is_orphan ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::orphan_target_rendering_covers_metric_boolean_and_blanket ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::pin_exactly_at_headroom_ceiling_is_clean ... ok
[INFO] [stdout] test app::tests::warnings::orphan_too_loose::pin_just_above_headroom_ceiling_is_orphan ... ok
[INFO] [stdout] test cli::explain::tests::rule_card_text_renders_full_card_for_known_id ... ok
[INFO] [stdout] test cli::explain::tests::suppression_guide_covers_grammar_targets_and_rationale ... ok
[INFO] [stdout] test domain::tests::finding::project_wide_finding_allowed ... ok
[INFO] [stdout] test domain::tests::dimension::display_matches_canonical_name ... ok
[INFO] [stdout] test domain::tests::finding::struct_literal_construction_is_ergonomic ... ok
[INFO] [stdout] test domain::tests::dimension::display_roundtrips_via_from_str_opt ... ok
[INFO] [stdout] test domain::tests::dimension::parse_known_dimensions_case_insensitive ... ok
[INFO] [stdout] test domain::tests::finding::default_finding_is_unsuppressed_and_zero_position ... ok
[INFO] [stdout] test domain::tests::orphan::allow_marker_renders_a_metric_pin ... ok
[INFO] [stdout] test domain::tests::dimension::parse_architecture_dimension ... ok
[INFO] [stdout] test domain::tests::dimension::parse_test_quality_accepts_all_aliases ... ok
[INFO] [stdout] test domain::tests::orphan::allow_marker_without_target_renders_scope_only ... ok
[INFO] [stdout] test domain::tests::dimension::parse_unknown_returns_none ... ok
[INFO] [stdout] test domain::tests::orphan::bare_markers_ignore_the_scope_entirely ... ok
[INFO] [stdout] test domain::tests::orphan::default_marker_is_allow ... ok
[INFO] [stdout] test domain::tests::rule_cards::every_rule_family_is_represented ... ok
[INFO] [stdout] test domain::tests::rule_cards::registered_sub_ids_still_resolve_exactly ... ok
[INFO] [stdout] test domain::tests::rule_cards::cards_name_real_suppression_targets ... ok
[INFO] [stdout] test domain::tests::orphan::json_kind_is_stable_per_marker ... ok
[INFO] [stdout] test domain::tests::rule_cards::dynamic_architecture_sub_ids_resolve_to_their_family_card ... ok
[INFO] [stdout] test domain::tests::rule_cards::ids_are_unique ... ok
[INFO] [stdout] test domain::tests::rule_cards::every_card_is_fully_filled ... ok
[INFO] [stdout] test domain::tests::rule_cards::prefix_fallback_does_not_invent_cards ... ok
[INFO] [stdout] test domain::tests::rule_cards::find_is_case_insensitive ... ok
[INFO] [stdout] test domain::tests::rule_cards::cards_name_their_config_knob ... ok
[INFO] [stdout] test domain::tests::orphan::allow_marker_renders_scope_and_target ... ok
[INFO] [stdout] test domain::tests::suppression::empty_dimensions_list_covers_everything ... ok
[INFO] [stdout] test domain::tests::suppression::metric_pin_never_silences_a_value_less_finding ... ok
[INFO] [stdout] test domain::tests::suppression::metric_pin_only_matches_its_own_target_and_dimension ... ok
[INFO] [stdout] test domain::tests::suppression::metric_pin_suppresses_at_or_below_and_refires_above ... ok
[INFO] [stdout] test domain::tests::source_unit::source_units_with_different_content_are_not_equal ... ok
[INFO] [stdout] test domain::tests::source_unit::source_units_with_different_paths_are_not_equal ... ok
[INFO] [stdout] test domain::tests::suppression::boolean_target_silences_by_name_regardless_of_value ... ok
[INFO] [stdout] test domain::tests::source_unit::source_unit_holds_path_and_content ... ok
[INFO] [stdout] test domain::tests::suppression::blanket_suppression_silences_every_finding_of_its_dimension ... ok
[INFO] [stdout] test domain::tests::severity::severity_variants_are_comparable_for_equality ... ok
[INFO] [stdout] test domain::tests::rule_cards::unknown_id_is_none ... ok
[INFO] [stdout] test domain::tests::severity::severity_serializes_as_lowercase ... ok
[INFO] [stdout] test domain::tests::suppression::specific_dimensions_only_cover_those_listed ... ok
[INFO] [stdout] test domain::tests::suppression::target_kind_and_target_names_agree_for_every_dimension ... ok
[INFO] [stdout] test ports::tests::reporter::render_passes_views_to_publish_in_canonical_order ... ok
[INFO] [stdout] test ports::tests::source_loader::fake_loader_returns_injected_units ... ok
[INFO] [stdout] test ports::tests::reporter::reporter_trait_requires_send_sync ... ok
[INFO] [stdout] test ports::tests::source_loader::port_requires_send_and_sync ... ok
[INFO] [stdout] test ports::tests::suppression_parser::port_requires_send_and_sync ... ok
[INFO] [stdout] test ports::tests::reporter::render_calls_every_build_method_exactly_once ... ok
[INFO] [stdout] test ports::tests::suppression_parser::parse_error_variants_carry_diagnostic_information ... ok
[INFO] [stdout] test ports::tests::suppression_parser::port_is_object_safe ... ok
[INFO] [stdout] test domain::tests::suppression::multiple_dimensions_cover_all_listed ... ok
[INFO] [stdout] test ports::tests::source_loader::load_error_variants_carry_diagnostic_information ... ok
[INFO] [stdout] test ports::tests::suppression_parser::fake_parser_returns_injected_suppressions ... ok
[INFO] [stdout] test ports::tests::source_loader::port_is_object_safe ... ok
[INFO] [stdout] test ports::tests::reporter::report_error_variants_carry_diagnostic_information ... ok
[INFO] [stdout] test app::tests::run::test_output_format_sarif ... ok
[INFO] [stdout] test app::tests::run::test_output_format_text ... ok
[INFO] [stdout] test app::tests::warnings::orphan_dry_and_disabled::dry_marker_orphan_depends_on_finding_kind_and_window ... ok
[INFO] [stdout] test domain::tests::source_unit::equal_source_units_compare_equal ... ok
[INFO] [stdout] test adapters::source::tests::watch::test_run_watch_loop_calls_on_change_on_event ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2332 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 1.27s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/cargo-qual/main.rs (/opt/rustwide/target/debug/deps/cargo_qual-6c9986b752c0ff16)
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustqual-ee7c54511e02b1fb)
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-5f7db29ae7aed8e6)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_dead_type_reaches_the_json_envelope_and_fails_the_run ... ok
[INFO] [stdout] test test_sample_file_expected_results ... ok
[INFO] [stdout] test test_verbose_shows_all ... ok
[INFO] [stdout] test test_json_output_schema_and_complexity_values ... ok
[INFO] [stdout] test test_self_analysis_no_violations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/showcase_iosp.rs (/opt/rustwide/target/debug/deps/showcase_iosp-e65bc70a8b4ca8f2)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_after_iosp_no_violations ... ok
[INFO] [stdout] test test_before_iosp_has_violations ... ok
[INFO] [stdout] test test_iosp_refactoring_improves_score ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rustqual
[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" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71", kill_on_drop: false }`
[INFO] [stdout] 7217e8bb6576a702fc9d7deaed7f4e5adc7799bd94c1a6b72a3314f446591c71
