[INFO] fetching crate edgevec 0.9.0...
[INFO] testing edgevec-0.9.0 against beta-2026-03-05 for beta-1.95-1
[INFO] extracting crate edgevec 0.9.0 into /workspace/builds/worker-7-tc2/source
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate edgevec 0.9.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate edgevec 0.9.0
[INFO] tweaked toml for crates.io crate edgevec 0.9.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate edgevec 0.9.0 on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate edgevec 0.9.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aeca5b9458135d2b8d99584f2db5045f7542c169ef752a9c13bc60136f4b41e3
[INFO] running `Command { std: "docker" "start" "-a" "aeca5b9458135d2b8d99584f2db5045f7542c169ef752a9c13bc60136f4b41e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aeca5b9458135d2b8d99584f2db5045f7542c169ef752a9c13bc60136f4b41e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aeca5b9458135d2b8d99584f2db5045f7542c169ef752a9c13bc60136f4b41e3", kill_on_drop: false }`
[INFO] [stdout] aeca5b9458135d2b8d99584f2db5045f7542c169ef752a9c13bc60136f4b41e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1774277c467e68e13c114263cf2e4ef8215eba416e4efe81361090a001eb7bad
[INFO] running `Command { std: "docker" "start" "-a" "1774277c467e68e13c114263cf2e4ef8215eba416e4efe81361090a001eb7bad", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.106
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling wasm-bindgen v0.2.106
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling pest v2.8.4
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling pest_meta v2.8.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.106
[INFO] [stderr]    Compiling pest_generator v2.8.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling pest_derive v2.8.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.106
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling js-sys v0.3.83
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling postcard v1.1.3
[INFO] [stderr]    Compiling web-sys v0.3.83
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.56
[INFO] [stderr]    Compiling serde-wasm-bindgen v0.6.5
[INFO] [stderr]    Compiling console_log v1.0.0
[INFO] [stderr]    Compiling edgevec v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.07s
[INFO] running `Command { std: "docker" "inspect" "1774277c467e68e13c114263cf2e4ef8215eba416e4efe81361090a001eb7bad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1774277c467e68e13c114263cf2e4ef8215eba416e4efe81361090a001eb7bad", kill_on_drop: false }`
[INFO] [stdout] 1774277c467e68e13c114263cf2e4ef8215eba416e4efe81361090a001eb7bad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9cfb4d224a711ce23adda8f674ea4cc8f2caf4cdcb6772eeb0c530ab88bf82a4
[INFO] running `Command { std: "docker" "start" "-a" "9cfb4d224a711ce23adda8f674ea4cc8f2caf4cdcb6772eeb0c530ab88bf82a4", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wasm-bindgen v0.2.106
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling js-sys v0.3.83
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_xorshift v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.56
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling tempfile v3.10.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling web-sys v0.3.83
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.56
[INFO] [stderr]    Compiling serde-wasm-bindgen v0.6.5
[INFO] [stderr]    Compiling wasm-bindgen-test v0.3.56
[INFO] [stderr]    Compiling proptest v1.4.0
[INFO] [stderr]    Compiling console_log v1.0.0
[INFO] [stderr]    Compiling edgevec v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] running `Command { std: "docker" "inspect" "9cfb4d224a711ce23adda8f674ea4cc8f2caf4cdcb6772eeb0c530ab88bf82a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cfb4d224a711ce23adda8f674ea4cc8f2caf4cdcb6772eeb0c530ab88bf82a4", kill_on_drop: false }`
[INFO] [stdout] 9cfb4d224a711ce23adda8f674ea4cc8f2caf4cdcb6772eeb0c530ab88bf82a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 68998e1c2d675ca86eaaffe00da78f4896f89c120f82b257e7e2126ae8455489
[INFO] running `Command { std: "docker" "start" "-a" "68998e1c2d675ca86eaaffe00da78f4896f89c120f82b257e7e2126ae8455489", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/edgevec-1e0ab57538165e3b)
[INFO] [stdout] 
[INFO] [stdout] running 1018 tests
[INFO] [stdout] test filter::ast::tests::test_as_array ... ok
[INFO] [stdout] test filter::ast::tests::test_as_int ... ok
[INFO] [stdout] test filter::ast::tests::test_box_recursion ... ok
[INFO] [stdout] test filter::ast::tests::test_depth_array ... ok
[INFO] [stdout] test filter::ast::tests::test_as_string ... ok
[INFO] [stdout] test filter::ast::tests::test_depth_binary ... ok
[INFO] [stdout] test filter::ast::tests::test_depth_ternary ... ok
[INFO] [stdout] test filter::ast::tests::test_depth_unary ... ok
[INFO] [stdout] test filter::ast::tests::test_derive_clone ... ok
[INFO] [stdout] test filter::ast::tests::test_derive_debug ... ok
[INFO] [stdout] test filter::ast::tests::test_derive_partial_eq ... ok
[INFO] [stdout] test filter::ast::tests::test_derive_serialize_deserialize ... ok
[INFO] [stdout] test filter::ast::tests::test_as_field ... ok
[INFO] [stdout] test filter::ast::tests::test_as_float ... ok
[INFO] [stdout] test filter::ast::tests::test_is_array_op ... ok
[INFO] [stdout] test filter::ast::tests::test_depth_empty_array ... ok
[INFO] [stdout] test filter::ast::tests::test_is_comparison ... ok
[INFO] [stdout] test filter::ast::tests::test_is_field ... ok
[INFO] [stdout] test filter::ast::tests::test_is_string_op ... ok
[INFO] [stdout] test filter::ast::tests::test_operator_name ... ok
[INFO] [stdout] test filter::ast::tests::test_referenced_fields_multiple ... ok
[INFO] [stdout] test filter::ast::tests::test_referenced_fields_no_fields ... ok
[INFO] [stdout] test filter::ast::tests::test_referenced_fields_single ... ok
[INFO] [stdout] test filter::ast::tests::test_serialization_complex ... ok
[INFO] [stdout] test filter::error::tests::test_clone ... ok
[INFO] [stdout] test filter::error::tests::test_constants ... ok
[INFO] [stdout] test filter::error::tests::test_display_syntax_error ... ok
[INFO] [stdout] test filter::ast::tests::test_is_logical ... ok
[INFO] [stdout] test filter::ast::tests::test_is_null_check ... ok
[INFO] [stdout] test filter::error::tests::test_evaluation_error_codes ... ok
[INFO] [stdout] test filter::error::tests::test_is_evaluation_error ... ok
[INFO] [stdout] test filter::error::tests::test_is_limit_error ... ok
[INFO] [stdout] test filter::ast::tests::test_is_literal ... ok
[INFO] [stdout] test filter::error::tests::test_is_syntax_error ... ok
[INFO] [stdout] test filter::error::tests::test_partial_eq ... ok
[INFO] [stdout] test filter::error::tests::test_position_non_positional ... ok
[INFO] [stdout] test filter::error::tests::test_limit_error_codes ... ok
[INFO] [stdout] test filter::error::tests::test_position_other_syntax_errors ... ok
[INFO] [stdout] test filter::error::tests::test_is_type_error ... ok
[INFO] [stdout] test filter::error::tests::test_position_syntax_error ... ok
[INFO] [stdout] test filter::error::tests::test_suggestion_invalid_escape ... ok
[INFO] [stdout] test filter::error::tests::test_suggestion_type_mismatch ... ok
[INFO] [stdout] test filter::error::tests::test_suggestion_unclosed_paren ... ok
[INFO] [stdout] test filter::error::tests::test_suggestion_unclosed_string ... ok
[INFO] [stdout] test filter::error::tests::test_suggestion_unknown_field ... ok
[INFO] [stdout] test filter::error::tests::test_syntax_error_codes ... ok
[INFO] [stdout] test filter::error::tests::test_type_error_codes ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_all_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_any_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_all_no_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_empty_array ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_any_no_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_array_op_type_mismatch ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_in_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_in_with_integer ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_none_match ... ok
[INFO] [stdout] test filter::ast::tests::test_depth_literal ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_none_no_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_not_in_no_match ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_not_in_match ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_eq_boolean ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_eq_string ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_float_comparison ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_eq_integer ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_ge ... ok
[INFO] [stdout] test filter::evaluator::tests::array_ops::test_in_no_match ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_le ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_ne_string ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_type_mismatch_comparison ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_int_float_coercion ... ok
[INFO] [stdout] test filter::evaluator::tests::core::test_field_cannot_be_evaluated ... ok
[INFO] [stdout] test filter::evaluator::tests::core::test_literal_cannot_be_evaluated ... ok
[INFO] [stdout] test filter::evaluator::tests::edge_cases::test_all_empty_array_vacuous_truth ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_gt ... ok
[INFO] [stdout] test filter::evaluator::tests::edge_cases::test_unicode_string_equality ... ok
[INFO] [stdout] test filter::evaluator::tests::comparison::test_lt ... ok
[INFO] [stdout] test filter::evaluator::tests::core::test_empty_metadata ... ok
[INFO] [stdout] test filter::evaluator::tests::like_edge_cases::test_like_mixed_wildcards ... ok
[INFO] [stdout] test filter::evaluator::tests::like_edge_cases::test_like_empty_value ... ok
[INFO] [stdout] test filter::evaluator::tests::like_edge_cases::test_like_only_percent ... ok
[INFO] [stdout] test filter::evaluator::tests::like_edge_cases::test_like_only_underscore ... ok
[INFO] [stdout] test filter::evaluator::tests::like_edge_cases::test_like_unicode ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_and_both_true ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_and_left_false ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_and_right_false ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_not_false ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_not_true ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_or_both_true ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_or_left_true ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_or_both_false ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_or_right_true ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_short_circuit_and ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_short_circuit_or ... ok
[INFO] [stdout] test filter::evaluator::tests::null_checks::test_is_not_null_existing_field ... ok
[INFO] [stdout] test filter::evaluator::tests::null_checks::test_is_not_null_missing_field ... ok
[INFO] [stdout] test filter::evaluator::tests::null_checks::test_is_null_existing_field ... ok
[INFO] [stdout] test filter::evaluator::tests::null_checks::test_is_null_missing_field ... ok
[INFO] [stdout] test filter::evaluator::tests::logical_ops::test_complex_expression ... ok
[INFO] [stdout] test filter::ast::tests::test_as_bool ... ok
[INFO] [stdout] test filter::ast::tests::test_filter_expr_has_27_variants ... ok
[INFO] [stdout] test filter::ast::tests::test_serialization_all_literals ... ok
[INFO] [stdout] test filter::error::tests::test_display_type_mismatch ... ok
[INFO] [stdout] test filter::evaluator::tests::like_edge_cases::test_like_empty_pattern ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_and_commutativity ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_de_morgan_laws ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_double_negation_elimination ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_null_mutual_exclusion ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_or_commutativity ... ok
[INFO] [stdout] test filter::evaluator::tests::range_ops::test_between_at_boundary ... ok
[INFO] [stdout] test filter::evaluator::tests::range_ops::test_between_float ... ok
[INFO] [stdout] test filter::evaluator::tests::range_ops::test_between_in_range ... ok
[INFO] [stdout] test filter::evaluator::tests::range_ops::test_between_out_of_range ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_contains ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_ends_with ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_equality_reflexivity ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_like_no_match ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_like_percent_both ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_between_equivalence ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_like_percent_start ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_like_underscore ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_starts_with ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_like_exact ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_filtered_search_result_constructors ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_string_op_type_mismatch ... ok
[INFO] [stdout] test filter::evaluator::tests::string_ops::test_like_percent_end ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_empty_index ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_numeric_transitivity ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_hybrid ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_int_float_coercion_symmetric ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_in_not_in_mutual_exclusion ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_like_percent_matches_all ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_vector_metadata_store ... ok
[INFO] [stdout] test filter::parser::tests::test_case_insensitive_and ... ok
[INFO] [stdout] test filter::parser::tests::test_case_insensitive_boolean ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_auto ... ok
[INFO] [stdout] test filter::parser::tests::test_case_insensitive_contains ... ok
[INFO] [stdout] test filter::parser::tests::test_case_insensitive_or ... ok
[INFO] [stdout] test filter::parser::tests::test_error_position_multibyte ... ok
[INFO] [stdout] test filter::parser::tests::test_fuzz_regression_raw_bytes ... ok
[INFO] [stdout] test filter::parser::tests::test_fuzz_regression_non_char_boundary ... ok
[INFO] [stdout] test filter::parser::tests::test_helper_is_operator ... ok
[INFO] [stdout] test filter::parser::tests::test_helper_is_keyword ... ok
[INFO] [stdout] test filter::parser::tests::test_multibyte_utf8_handling ... ok
[INFO] [stdout] test filter::parser::tests::test_newline_handling ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_all ... ok
[INFO] [stdout] test filter::parser::tests::test_helper_is_valid_field_name ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_and ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_between ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_postfilter ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_contains ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_deeply_nested ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_empty_array ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_any ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_ends_with ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_complex_expression ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_error_empty ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_error_input_too_long ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_error_invalid_operator ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_error_unclosed_string ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_float ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_in ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_integer ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_is_not_null ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_error_unclosed_paren ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_contradiction ... ok
[INFO] [stdout] test filter::evaluator::tests::property_tests::prop_like_exact_match ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_like ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_is_null ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_not ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_negative_float ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_none ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_not_in ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_or ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_simple_gt ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_no_filter ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_simple_eq ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_simple_ge ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_simple_le ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_simple_ne ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_prefilter ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_negative_integer ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_simple_lt ... ok
[INFO] [stdout] test filter::parser::tests::test_precedence_and_binds_tighter_than_or ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_starts_with ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_symbolic_not ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_symbolic_or ... ok
[INFO] [stdout] test filter::parser::tests::test_suggestion_colon_instead_of_equals ... ok
[INFO] [stdout] test filter::parser::tests::test_suggestion_double_equals ... ok
[INFO] [stdout] test filter::parser::tests::test_suggestion_parentheses_for_array ... ok
[INFO] [stdout] test filter::parser::tests::test_suggestion_sql_not_equal ... ok
[INFO] [stdout] test filter::parser::tests::test_suggestion_where_keyword ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_string_escape_newline ... ok
[INFO] [stdout] test filter::filtered_search::tests::test_search_filtered_tautology ... ok
[INFO] [stdout] test filter::parser::tests::test_whitespace_handling ... ok
[INFO] [stdout] test filter::parser::tests::test_precedence_parentheses ... ok
[INFO] [stdout] test filter::strategy::tests::prop_selectivity_always_clamped ... ok
[INFO] [stdout] test filter::strategy::tests::test_calculate_oversample_capped ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_string_escapes ... ok
[INFO] [stdout] test filter::parser::tests::test_parse_symbolic_and ... ok
[INFO] [stdout] test filter::strategy::tests::test_calculate_oversample_edge_cases ... ok
[INFO] [stdout] test filter::strategy::tests::test_calculate_oversample_normal ... ok
[INFO] [stdout] test filter::strategy::tests::test_constants_have_expected_values ... ok
[INFO] [stdout] test filter::strategy::tests::test_default_is_auto ... ok
[INFO] [stdout] test filter::strategy::tests::prop_strategy_selection_deterministic ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_all_pass ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_half_pass ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_none_pass ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_deterministic ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_small_store ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_empty_store ... ok
[INFO] [stdout] test filter::strategy::tests::test_hybrid_default ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_false_literal ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_different_fields ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_float_range ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_a_and_not_a ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_impossible_range_gt_lt ... ok
[INFO] [stdout] test filter::strategy::tests::test_estimate_selectivity_different_seeds ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_impossible_range_ge_le ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_impossible_range_reverse ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_possible_range ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_simple_expression ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_true_literal ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_false_literal ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_nested_or ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_not_a_or_a ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_not_contradiction ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_simple_expression ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_true_literal ... ok
[INFO] [stdout] test filter::strategy::tests::test_post_filter_default ... ok
[INFO] [stdout] test filter::strategy::tests::test_select_strategy_at_threshold ... ok
[INFO] [stdout] test filter::strategy::tests::test_select_strategy_high_selectivity ... ok
[INFO] [stdout] test filter::strategy::tests::test_select_strategy_low_selectivity ... ok
[INFO] [stdout] test filter::strategy::tests::test_select_strategy_medium_selectivity ... ok
[INFO] [stdout] test filter::strategy::tests::test_selectivity_estimate_clamping ... ok
[INFO] [stdout] test filter::strategy::tests::test_selectivity_estimate_confidence ... ok
[INFO] [stdout] test filter::strategy::tests::test_selectivity_estimate_full ... ok
[INFO] [stdout] test filter::strategy::tests::test_selectivity_estimate_new ... ok
[INFO] [stdout] test filter::strategy::tests::test_selectivity_estimate_zero ... ok
[INFO] [stdout] test filter::strategy::tests::test_validate_hybrid_invalid ... ok
[INFO] [stdout] test filter::strategy::tests::test_validate_hybrid_valid ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_tautology_a_or_not_a ... ok
[INFO] [stdout] test filter::strategy::tests::test_validate_post_filter_invalid ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_not_a_and_a ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_not_tautology ... ok
[INFO] [stdout] test flat::tests::test_clear ... ok
[INFO] [stdout] test filter::strategy::tests::test_validate_post_filter_valid ... ok
[INFO] [stdout] test flat::tests::test_empty_search ... ok
[INFO] [stdout] test filter::strategy::tests::test_is_contradiction_nested_or ... ok
[INFO] [stdout] test flat::tests::test_invalid_dimensions ... ok
[INFO] [stdout] test flat::tests::test_invalid_query_length ... ok
[INFO] [stdout] test flat::tests::test_insert_and_get ... ok
[INFO] [stdout] test flat::tests::test_invalid_vector_length ... ok
[INFO] [stdout] test flat::tests::test_memory_usage ... ok
[INFO] [stdout] test flat::tests::test_search_k_zero ... ok
[INFO] [stdout] test flat::tests::test_search_ordering ... ok
[INFO] [stdout] test flat::tests::test_search_k_limit ... ok
[INFO] [stdout] test flat::tests::test_serialized_size ... ok
[INFO] [stdout] test flat::tests::test_shrink_to_fit ... ok
[INFO] [stdout] test flat::tests::test_vectors_len ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_dimension_mismatch_first_vector ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_dimension_mismatch_later_vector_skipped ... ok
[INFO] [stdout] test flat::tests::test_new ... ok
[INFO] [stdout] test flat::tests::test_search_exact_match ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_duplicate_id_in_existing_index ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_duplicate_id_within_batch ... ok
[INFO] [stdout] test filter::strategy::tests::prop_contradiction_implies_not_tautology ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_id_zero_skipped ... ok
[INFO] [stdout] test filter::strategy::tests::prop_oversample_always_bounded ... ok
[INFO] [stdout] test filter::strategy::tests::test_validate_prefilter_auto_always_valid ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_invalid_vector_infinity ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_empty ... ok
[INFO] [stdout] test flat::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_single_vector ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_progress_callback_called ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_progress_callback_single_vector ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_helper_contains_id ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_helper_dimensions ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_helper_len_empty ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_validate_vector_infinity ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_validate_vector_nan ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_validate_vector_valid ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_boundary_50_percent ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_boundary_90_percent ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_boundary_all_deleted ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_invalid_vector_neg_infinity ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_invalid_vector_nan ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_10_percent_tombstones ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_large_k_small_index ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_boundary_zero_tombstones ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_no_tombstones ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_helper_capacity ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_delete_invalid_vector_id_zero ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_with_tombstones ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_uses_constant ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_deleted_field_is_zero_by_default ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_deleted_field_set_to_one_after_delete ... ok
[INFO] [stdout] test filter::strategy::tests::prop_tautology_implies_not_contradiction ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_is_deleted_nonexistent_fails ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_deleted_count ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_multiple_vectors ... ok
[INFO] [stdout] test hnsw::graph::tests::batch_insert_tests::test_batch_insert_mixed_errors ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_get_node_by_vector_id_helper ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_soft_delete_marks_node ... ok
[INFO] [stdout] test hnsw::graph::tests::test_dimension_mismatch ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_live_count ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_tombstone_ratio ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_soft_delete_idempotent ... ok
[INFO] [stdout] test hnsw::graph::tests::test_initialization ... ok
[INFO] [stdout] test hnsw::graph::tests::test_neighbor_roundtrip ... ok
[INFO] [stdout] test hnsw::graph::tests::test_send_sync ... ok
[INFO] [stdout] test hnsw::insert::tests::test_scan_blob ... ok
[INFO] [stdout] test hnsw::graph::tests::test_layer_distribution ... ok
[INFO] [stdout] test hnsw::neighbor::tests::test_alloc_free_recycle ... ok
[INFO] [stdout] test hnsw::neighbor::tests::test_alloc_too_large ... ok
[INFO] [stdout] test hnsw::neighbor::tests::test_decode_layer ... ok
[INFO] [stdout] test hnsw::neighbor::tests::test_iter_layer ... ok
[INFO] [stdout] test hnsw::neighbor::tests::test_vbyte_roundtrip ... ok
[INFO] [stdout] test hnsw::neighbor::tests::test_vbyte_unsorted ... ok
[INFO] [stdout] test hnsw::rescore::tests::test_rescore_skips_deleted_vectors ... ok
[INFO] [stdout] test hnsw::rescore::tests::test_rescore_skips_invalid_ids ... ok
[INFO] [stdout] test hnsw::insert::tests::test_insert_lifecycle ... ok
[INFO] [stdout] test hnsw::rescore::tests::test_rescore_sorts_correctly ... ok
[INFO] [stdout] test hnsw::rescore::tests::test_rescore_top_k ... ok
[INFO] [stdout] test hnsw::search::tests::test_search_dimension_mismatch ... ok
[INFO] [stdout] test hnsw::rescore::tests::test_rescore_single_vector ... ok
[INFO] [stdout] test hnsw::rescore::tests::test_rescore_empty ... ok
[INFO] [stdout] test hnsw::search::tests::test_search_safety_limit ... ok
[INFO] [stdout] test hnsw::search::tests::test_candidate_ordering ... ok
[INFO] [stdout] test hnsw::search_bq::tests::test_search_bq_empty_index ... ok
[INFO] [stdout] test hnsw::search_bq::tests::test_search_bq_dimension_mismatch ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_soft_delete_nonexistent_fails ... ok
[INFO] [stdout] test hnsw::search_bq::tests::test_search_bq_finds_most_similar ... ok
[INFO] [stdout] test hnsw::search_bq::tests::test_search_bq_multiple_vectors ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_linear ... ok
[INFO] [stdout] test hnsw::search_bq::tests::test_search_bq_single_vector ... ok
[INFO] [stdout] test hnsw::search_bq::tests::test_search_bq_not_enabled_error ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_linear_invalid_low ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_linear_balanced ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_rrf ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_default ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_capped_at_10x ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_linear_invalid_high ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_alpha_boundary_high ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_method_rrf_with_k ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_result_new ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_result_partial_eq ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_fusion_result_with_ranks ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_alpha_one ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_alpha_weighting ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_alpha_zero ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_empty_sparse ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_alpha_boundary_low ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_disjoint_lists ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_both_empty ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_alpha_clamping ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_empty_dense ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_preserves_ranks ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_score_ordering ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_top_n_zero ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_normalize_all_same ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_identical_lists ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_linear_single_score_normalization ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_both_empty ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_disjoint_lists ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_empty_dense ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_normalize_single ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_identical_lists ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_normalize_range ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_empty_sparse ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_partial_overlap ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_k_parameter_effect ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_rank_tracking ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_normalize_empty ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_normalize_large_range ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_score_ordering ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_large_lists ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_linear ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_rrf ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_validation_both_zero ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_validation_final_zero ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_top_n_truncation ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_rrf_with_k ... ok
[INFO] [stdout] test hybrid::fusion::tests::test_rrf_top_n_zero ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_default ... ok
[INFO] [stdout] test hybrid::search::tests::test_result_from_fusion ... ok
[INFO] [stdout] test hybrid::search::tests::test_result_from_fusion_missing_scores ... ok
[INFO] [stdout] test index::flat::tests::test_auto_compact_on_threshold ... ok
[INFO] [stdout] test index::flat::tests::test_binarize_vector_16_dim ... ok
[INFO] [stdout] test hnsw::graph::tests::delete_tests::test_adjusted_k_integer_precision ... ok
[INFO] [stdout] test hybrid::search::tests::test_hybrid_error_display ... ok
[INFO] [stdout] test hybrid::search::tests::test_hybrid_error_from_graph_error ... ok
[INFO] [stdout] test hybrid::search::tests::test_config_validation_valid ... ok
[INFO] [stdout] test index::flat::tests::test_compact_basic ... ok
[INFO] [stdout] test index::flat::tests::test_compact_empty ... ok
[INFO] [stdout] test index::flat::tests::test_binarize_vector ... ok
[INFO] [stdout] test index::flat::tests::test_config_builder ... ok
[INFO] [stdout] test index::flat::tests::test_config_new ... ok
[INFO] [stdout] test index::flat::tests::test_config_cleanup_threshold_clamping ... ok
[INFO] [stdout] test index::flat::tests::test_contains ... ok
[INFO] [stdout] test index::flat::tests::test_compact_nothing_to_do ... ok
[INFO] [stdout] test index::flat::tests::test_delete_updates_deleted_count ... ok
[INFO] [stdout] test index::flat::tests::test_compact_preserves_data ... ok
[INFO] [stdout] test index::flat::tests::test_delete_basic ... ok
[INFO] [stdout] test index::flat::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test index::flat::tests::test_delete_invalidates_quantization ... ok
[INFO] [stdout] test index::flat::tests::test_delete_updates_len ... ok
[INFO] [stdout] test index::flat::tests::test_distance_metric_default ... ok
[INFO] [stdout] test index::flat::tests::test_deletion_stats ... ok
[INFO] [stdout] test index::flat::tests::test_distance_metric_is_similarity ... ok
[INFO] [stdout] test index::flat::tests::test_enable_quantization ... ok
[INFO] [stdout] test index::flat::tests::test_disable_quantization ... ok
[INFO] [stdout] test index::flat::tests::test_enable_quantization_empty_index ... ok
[INFO] [stdout] test index::flat::tests::test_enable_quantization_idempotent ... ok
[INFO] [stdout] test index::flat::tests::test_get_nonexistent ... ok
[INFO] [stdout] test index::flat::tests::test_get_vector ... ok
[INFO] [stdout] test index::flat::tests::test_get_empty_index ... ok
[INFO] [stdout] test index::flat::tests::test_hamming_distance_binary ... ok
[INFO] [stdout] test index::flat::tests::test_deletion_ratio_empty ... ok
[INFO] [stdout] test index::flat::tests::test_id_overflow_protection ... ok
[INFO] [stdout] test index::flat::tests::test_high_dimension_vectors ... ok
[INFO] [stdout] test index::flat::tests::test_delete_already_deleted ... ok
[INFO] [stdout] test index::flat::tests::test_insert_batch_dimension_mismatch ... ok
[INFO] [stdout] test index::flat::tests::test_insert_batch ... ok
[INFO] [stdout] test index::flat::tests::test_insert_single ... ok
[INFO] [stdout] test index::flat::tests::test_insert_capacity_growth ... ok
[INFO] [stdout] test index::flat::tests::test_memory_usage ... ok
[INFO] [stdout] test index::flat::tests::test_new_flat_index ... ok
[INFO] [stdout] test index::flat::tests::test_negative_values ... ok
[INFO] [stdout] test index::flat::tests::test_insert_invalidates_quantization ... ok
[INFO] [stdout] test index::flat::tests::test_insert_dimension_mismatch ... ok
[INFO] [stdout] test index::flat::tests::test_insert_multiple_sequential_ids ... ok
[INFO] [stdout] test index::flat::tests::test_search_all_metrics ... ok
[INFO] [stdout] test index::flat::tests::test_search_basic_cosine ... ok
[INFO] [stdout] test index::flat::tests::test_search_after_restore ... ok
[INFO] [stdout] test index::flat::tests::test_search_dot_product_metric ... ok
[INFO] [stdout] test index::flat::tests::test_search_empty_index ... ok
[INFO] [stdout] test index::flat::tests::test_search_hamming_metric ... ok
[INFO] [stdout] test index::flat::tests::test_search_100_recall_validation ... ok
[INFO] [stdout] test index::flat::tests::test_search_k_larger_than_count ... ok
[INFO] [stdout] test index::flat::tests::test_search_dimension_mismatch ... ok
[INFO] [stdout] test index::flat::tests::test_search_k_zero ... ok
[INFO] [stdout] test index::flat::tests::test_search_l2_metric ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_dimension_mismatch ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_basic ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_hamming_distances ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_k_zero ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_skips_deleted ... ok
[INFO] [stdout] test index::flat::tests::test_search_results_sorted_cosine ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_cleanup_threshold ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_corrupted_checksum ... ok
[INFO] [stdout] test index::flat::tests::test_new_with_different_metrics ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_empty_index ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_header_validation ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_invalid_magic ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_preserves_next_id ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_not_enabled ... ok
[INFO] [stdout] test index::flat::tests::test_search_quantized_high_dimension ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_truncated ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_with_deletions ... ok
[INFO] [stdout] test index::flat::tests::test_special_float_values ... ok
[INFO] [stdout] test index::flat::tests::test_zero_vector ... ok
[INFO] [stdout] test metadata::error::tests::test_error_clone ... ok
[INFO] [stdout] test metadata::error::tests::test_error_debug ... ok
[INFO] [stdout] test metadata::error::tests::test_error_equality ... ok
[INFO] [stdout] test metadata::error::tests::test_error_messages_are_descriptive ... ok
[INFO] [stdout] test metadata::serialize::tests::test_crc_calculates_correctly ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_different_metrics ... ok
[INFO] [stdout] test metadata::serialize::tests::test_crc_detects_corruption ... ok
[INFO] [stdout] test metadata::serialize::tests::test_crc_validates_correctly ... ok
[INFO] [stdout] test metadata::serialize::tests::test_formats_produce_same_data ... ok
[INFO] [stdout] test metadata::serialize::tests::test_json_decode_invalid_bytes ... ok
[INFO] [stdout] test metadata::serialize::tests::test_json_is_human_readable ... ok
[INFO] [stdout] test metadata::serialize::tests::test_json_roundtrip_empty ... ok
[INFO] [stdout] test metadata::serialize::tests::test_json_roundtrip_with_data ... ok
[INFO] [stdout] test metadata::serialize::tests::test_postcard_decode_invalid_bytes ... ok
[INFO] [stdout] test metadata::serialize::tests::test_crc_rejects_mismatch ... ok
[INFO] [stdout] test metadata::serialize::tests::test_postcard_is_compact ... ok
[INFO] [stdout] test metadata::serialize::tests::test_postcard_roundtrip_all_types ... ok
[INFO] [stdout] test index::flat::tests::test_search_high_dimension ... ok
[INFO] [stdout] test metadata::serialize::tests::test_postcard_roundtrip_empty ... ok
[INFO] [stdout] test metadata::serialize::tests::test_postcard_roundtrip_with_data ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_round_trip_basic ... ok
[INFO] [stdout] test index::flat::tests::test_snapshot_with_quantization ... ok
[INFO] [stdout] test index::flat::tests::test_search_skips_deleted ... ok
[INFO] [stdout] test metadata::serialize::tests::test_postcard_large_store ... ok
[INFO] [stdout] test index::flat::tests::test_quantization_memory_reduction ... ok
[INFO] [stdout] test metadata::store::tests::test_clear ... ok
[INFO] [stdout] test metadata::store::tests::test_clone ... ok
[INFO] [stdout] test metadata::store::tests::test_debug ... ok
[INFO] [stdout] test metadata::store::tests::test_default_trait ... ok
[INFO] [stdout] test metadata::store::tests::test_delete_all ... ok
[INFO] [stdout] test metadata::store::tests::test_delete_all_nonexistent_vector ... ok
[INFO] [stdout] test metadata::store::tests::test_delete_cleans_up_empty_vector ... ok
[INFO] [stdout] test metadata::store::tests::test_delete_returns_false_when_not_exists ... ok
[INFO] [stdout] test metadata::store::tests::test_delete_returns_true_when_exists ... ok
[INFO] [stdout] test metadata::store::tests::test_get_all ... ok
[INFO] [stdout] test metadata::store::tests::test_get_all_nonexistent_vector ... ok
[INFO] [stdout] test metadata::store::tests::test_get_nonexistent_key ... ok
[INFO] [stdout] test metadata::store::tests::test_get_nonexistent_vector ... ok
[INFO] [stdout] test metadata::store::tests::test_has_key ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_all_types ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_and_get ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_at_max_keys_overwrites_ok ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_empty_key_fails ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_invalid_key_fails ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_nan_float_fails ... ok
[INFO] [stdout] test metadata::store::proptests::prop_insert_then_delete ... ok
[INFO] [stdout] test metadata::store::tests::test_insert_overwrites_existing ... ok
[INFO] [stdout] test metadata::store::proptests::prop_insert_then_get ... ok
[INFO] [stdout] test metadata::store::tests::test_keys ... ok
[INFO] [stdout] test metadata::store::tests::test_key_count ... ok
[INFO] [stdout] test metadata::store::tests::test_keys_nonexistent_vector ... ok
[INFO] [stdout] test metadata::store::tests::test_merge ... ok
[INFO] [stdout] test metadata::store::tests::test_merge_at_limit_with_overlap_succeeds ... ok
[INFO] [stdout] test metadata::store::tests::test_merge_exceeds_key_limit_fails ... ok
[INFO] [stdout] test metadata::store::tests::test_merge_overwrites ... ok
[INFO] [stdout] test metadata::store::tests::test_merge_unchecked_allows_exceeding_limit ... ok
[INFO] [stdout] test metadata::store::tests::test_new_store_is_empty ... ok
[INFO] [stdout] test metadata::store::tests::test_serialization_empty_store ... ok
[INFO] [stdout] test metadata::store::tests::test_serialization_all_types ... ok
[INFO] [stdout] test metadata::store::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test metadata::store::tests::test_total_key_count ... ok
[INFO] [stdout] test metadata::store::tests::test_update_existing ... ok
[INFO] [stdout] test metadata::store::tests::test_too_many_keys_error ... ok
[INFO] [stdout] test metadata::store::tests::test_update_nonexistent_key_fails ... ok
[INFO] [stdout] test metadata::store::tests::test_update_nonexistent_vector_fails ... ok
[INFO] [stdout] test metadata::store::tests::test_vector_count ... ok
[INFO] [stdout] test metadata::store::tests::test_vector_ids ... ok
[INFO] [stdout] test metadata::store::tests::test_with_capacity ... ok
[INFO] [stdout] test metadata::store::tests::test_update_with_invalid_value_fails ... ok
[INFO] [stdout] test metadata::tests::test_all_types_serialize ... ok
[INFO] [stdout] test metadata::store::tests::test_partial_eq ... ok
[INFO] [stdout] test metadata::tests::test_error_types ... ok
[INFO] [stdout] test metadata::store::tests::test_with_capacity_preallocates ... ok
[INFO] [stdout] test metadata::tests::test_store_creation ... ok
[INFO] [stdout] test metadata::tests::test_validation_integration ... ok
[INFO] [stdout] test metadata::types::tests::test_as_boolean ... ok
[INFO] [stdout] test metadata::types::tests::test_as_integer ... ok
[INFO] [stdout] test metadata::types::tests::test_as_string ... ok
[INFO] [stdout] test metadata::types::tests::test_as_string_array ... ok
[INFO] [stdout] test metadata::types::tests::test_clone ... ok
[INFO] [stdout] test metadata::types::tests::test_display_boolean ... ok
[INFO] [stdout] test metadata::types::tests::test_display_empty_array ... ok
[INFO] [stdout] test metadata::types::tests::test_display_float ... ok
[INFO] [stdout] test metadata::types::tests::test_display_integer ... ok
[INFO] [stdout] test metadata::types::tests::test_display_string ... ok
[INFO] [stdout] test metadata::types::tests::test_display_string_array ... ok
[INFO] [stdout] test metadata::types::tests::test_empty_array ... ok
[INFO] [stdout] test metadata::types::tests::test_empty_string ... ok
[INFO] [stdout] test metadata::types::tests::test_from_bool ... ok
[INFO] [stdout] test metadata::types::tests::test_from_f32 ... ok
[INFO] [stdout] test metadata::types::tests::test_from_f64 ... ok
[INFO] [stdout] test metadata::types::tests::test_from_i32 ... ok
[INFO] [stdout] test metadata::types::tests::test_from_i64 ... ok
[INFO] [stdout] test metadata::types::tests::test_from_str ... ok
[INFO] [stdout] test metadata::types::tests::test_from_str_array ... ok
[INFO] [stdout] test metadata::types::tests::test_from_string ... ok
[INFO] [stdout] test metadata::types::tests::test_from_vec_string ... ok
[INFO] [stdout] test metadata::types::tests::test_is_boolean ... ok
[INFO] [stdout] test metadata::types::tests::test_is_float ... ok
[INFO] [stdout] test metadata::types::tests::test_is_integer ... ok
[INFO] [stdout] test metadata::types::tests::test_is_string ... ok
[INFO] [stdout] test metadata::types::tests::test_is_string_array ... ok
[INFO] [stdout] test metadata::types::tests::test_json_format_boolean ... ok
[INFO] [stdout] test metadata::types::tests::test_json_format_float ... ok
[INFO] [stdout] test metadata::types::tests::test_json_format_integer ... ok
[INFO] [stdout] test metadata::types::tests::test_json_format_string ... ok
[INFO] [stdout] test metadata::types::tests::test_json_format_string_array ... ok
[INFO] [stdout] test metadata::types::tests::test_large_integer ... ok
[INFO] [stdout] test metadata::types::tests::test_metadata_value_boolean_roundtrip ... ok
[INFO] [stdout] test metadata::types::tests::test_metadata_value_float_roundtrip ... ok
[INFO] [stdout] test metadata::types::tests::test_metadata_value_integer_roundtrip ... ok
[INFO] [stdout] test metadata::types::tests::test_metadata_value_string_array_roundtrip ... ok
[INFO] [stdout] test metadata::types::tests::test_metadata_value_string_roundtrip ... ok
[INFO] [stdout] test metadata::types::tests::test_negative_integer ... ok
[INFO] [stdout] test metadata::types::tests::test_type_name ... ok
[INFO] [stdout] test metadata::types::tests::test_unicode_string ... ok
[INFO] [stdout] test metadata::types::tests::test_zero_float ... ok
[INFO] [stdout] test metadata::validation::tests::test_constants_have_reasonable_values ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_ascii_only ... ok
[INFO] [stdout] test metadata::types::tests::test_as_float ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_invalid_chars ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_max_length ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_null_byte_rejected ... ok
[INFO] [stdout] test metadata::types::tests::test_negative_float ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_empty ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_too_long ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_unicode_rejected ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_value_invalid_key ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_value_invalid_value ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_array_element_too_long ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_array_max_length ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_array_too_long ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_boolean_always_valid ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_infinity ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_integer_always_valid ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_nan ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_neg_infinity ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_string_max_length ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_string_too_long ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_value_valid_float ... ok
[INFO] [stdout] test metric::scalar::tests::test_dot_product_u8_scalar ... ok
[INFO] [stdout] test metric::scalar::tests::test_euclidean_distance_identical ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_valid ... ok
[INFO] [stdout] test metric::scalar::tests::test_euclidean_distance_single_element ... ok
[INFO] [stdout] test metric::scalar::tests::test_l2_squared_f32_scalar ... ok
[INFO] [stdout] test metric::scalar::tests::test_l2_squared_u8_scalar ... ok
[INFO] [stdout] test metric::scalar::tests::test_overflow_protection ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_345_triangle ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_768dim_embedding ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_all_zeros ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_empty_vectors ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_identical_vectors ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_known_value ... ok
[INFO] [stdout] test metadata::store::proptests::prop_serialization_roundtrip ... ok
[INFO] [stdout] test metadata::validation::tests::test_validate_key_value_both_valid ... ok
[INFO] [stdout] test metric::scalar::tests::test_euclidean_distance_scalar ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_single_element ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_1024bit_binary_vector ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_768bit_binary_vector ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_all_bits_differ ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_empty_vectors ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_identical_vectors ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_matches_scalar ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_matches_scalar ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_partial_bit_diffs ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_known_values ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_single_bit_diff ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunk_size_exactly_minimum ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunk_size_just_below_minimum ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunk_size_edge_case_data_integrity ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunk_size_one_edge_case ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunk_size_zero_edge_case ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunked_export_empty ... ok
[INFO] [stdout] test persistence::entry::tests::test_wal_entry_layout ... ok
[INFO] [stdout] test persistence::header::tests::test_checksum_mismatch ... ok
[INFO] [stdout] test persistence::header::tests::test_flags_constants ... ok
[INFO] [stdout] test persistence::chunking::tests::test_chunked_export_data ... ok
[INFO] [stdout] test persistence::header::tests::test_invalid_magic ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_buffer_too_short ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_invalid_magic ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_layout ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_new_json ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_new_postcard ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_roundtrip ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_unsupported_format ... ok
[INFO] [stdout] test persistence::header::tests::test_header_layout ... ok
[INFO] [stdout] test persistence::header::tests::test_new_header_validity ... ok
[INFO] [stdout] test persistence::header::tests::test_unaligned_buffer_rejected ... ok
[INFO] [stdout] test persistence::reader::tests::test_read_invalid_crc ... ok
[INFO] [stdout] test persistence::reader::tests::test_read_invalid_magic ... ok
[INFO] [stdout] test persistence::reader::tests::test_read_valid_header ... ok
[INFO] [stdout] test persistence::wal::tests::test_wal_constants ... ok
[INFO] [stdout] test persistence::wal::tests::test_wal_entry_layout ... ok
[INFO] [stdout] test persistence::header::tests::test_metadata_header_unsupported_version ... ok
[INFO] [stdout] test persistence::writer::tests::test_write_empty_index ... ok
[INFO] [stdout] test persistence::wal::tests::test_wal_replay_integrity ... ok
[INFO] [stdout] test metadata::store::proptests::prop_delete_cleans_empty_vectors ... ok
[INFO] [stdout] test metadata::store::proptests::prop_update_preserves_other_keys ... ok
[INFO] [stdout] test metadata::store::proptests::prop_key_count_accurate ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_all_negative_all_zeros ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_all_positive_all_ones ... ok
[INFO] [stdout] test metric::simd::euclidean_tests::test_euclidean_mismatched_lengths_panics - should panic ... ok
[INFO] [stdout] test metric::simd::hamming_tests::test_hamming_mismatched_lengths_panics - should panic ... ok
[INFO] [stdout] test index::flat::tests::test_bq_vs_f32_recall_comparison ... ok
[INFO] [stdout] test quantization::binary::tests::test_alignment ... ok
[INFO] [stdout] test quantization::binary::tests::test_edge_case_infinity ... ok
[INFO] [stdout] test quantization::binary::tests::test_edge_case_nan ... ok
[INFO] [stdout] test quantization::binary::tests::test_edge_case_negative_zero ... ok
[INFO] [stdout] test quantization::binary::tests::test_hamming_bounds ... ok
[INFO] [stdout] test quantization::binary::tests::test_hamming_distance_identical ... ok
[INFO] [stdout] test quantization::binary::tests::test_hamming_distance_opposite ... ok
[INFO] [stdout] test quantization::binary::tests::test_hamming_distance_partial ... ok
[INFO] [stdout] test quantization::binary::tests::test_hamming_distance_symmetric ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_alternating ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_deterministic ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_flexible_short ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_mixed_vector ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_negative_vector ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_positive_vector ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_wrong_dimension - should panic ... ok
[INFO] [stdout] test quantization::binary::tests::test_quantize_zero_vector ... ok
[INFO] [stdout] test quantization::binary::tests::test_similarity_identical ... ok
[INFO] [stdout] test quantization::binary::tests::test_similarity_opposite ... ok
[INFO] [stdout] test quantization::binary::tests::test_struct_alignment ... ok
[INFO] [stdout] test quantization::binary::tests::test_struct_size ... ok
[INFO] [stdout] test quantization::scalar::tests::test_outliers_clamped ... ok
[INFO] [stdout] test quantization::scalar::tests::test_quantize_dequantize_roundtrip ... ok
[INFO] [stdout] test quantization::scalar::tests::test_train_finds_min_max ... ok
[INFO] [stdout] test quantization::scalar::tests::test_zero_range_safeguard ... ok
[INFO] [stdout] test quantization::simd::avx2::tests::test_avx2_alternating ... ok
[INFO] [stdout] test quantization::simd::avx2::tests::test_avx2_boundary_32 ... ok
[INFO] [stdout] test quantization::simd::avx2::tests::test_avx2_boundary_64 ... ok
[INFO] [stdout] test quantization::simd::avx2::tests::test_avx2_identical ... ok
[INFO] [stdout] test quantization::simd::avx2::tests::test_avx2_opposite ... ok
[INFO] [stdout] test quantization::simd::avx2::tests::test_avx2_single_bit ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_portable_alternating ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_portable_bounds ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_portable_half_bits ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_portable_identical ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_portable_opposite ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_portable_single_bit ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_slice_15_bytes ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_slice_16_bytes ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_slice_17_bytes ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_slice_empty ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_slice_matches_portable_96 ... ok
[INFO] [stdout] test quantization::simd::portable::tests::test_slice_single_byte ... ok
[INFO] [stdout] test quantization::simd::tests::test_simd_dispatch_identical ... ok
[INFO] [stdout] test quantization::simd::tests::test_simd_dispatch_opposite ... ok
[INFO] [stdout] test quantization::simd::tests::test_simd_matches_portable ... ok
[INFO] [stdout] test quantization::variable::tests::test_debug_format ... ok
[INFO] [stdout] test quantization::variable::tests::test_edge_case_infinity ... ok
[INFO] [stdout] test quantization::variable::tests::test_edge_case_nan ... ok
[INFO] [stdout] test quantization::variable::tests::test_error_display ... ok
[INFO] [stdout] test quantization::variable::tests::test_from_bytes_length_mismatch ... ok
[INFO] [stdout] test quantization::variable::tests::test_from_bytes_valid ... ok
[INFO] [stdout] test quantization::variable::tests::test_hamming_distance_dimension_mismatch ... ok
[INFO] [stdout] test quantization::variable::tests::test_hamming_distance_max ... ok
[INFO] [stdout] test quantization::variable::tests::test_hamming_distance_symmetric ... ok
[INFO] [stdout] test quantization::variable::tests::test_hamming_distance_zero ... ok
[INFO] [stdout] test quantization::variable::tests::test_invalid_dimension_not_divisible_by_8 ... ok
[INFO] [stdout] test quantization::variable::tests::test_invalid_dimension_zero ... ok
[INFO] [stdout] test quantization::variable::tests::test_quantize_1024d ... ok
[INFO] [stdout] test quantization::variable::tests::test_quantize_128d ... ok
[INFO] [stdout] test quantization::variable::tests::test_quantize_1536d ... ok
[INFO] [stdout] test quantization::variable::tests::test_quantize_384d ... ok
[INFO] [stdout] test quantization::variable::tests::test_quantize_768d ... ok
[INFO] [stdout] test quantization::variable::tests::test_quantize_deterministic ... ok
[INFO] [stdout] test quantization::variable::tests::test_similarity_half ... ok
[INFO] [stdout] test quantization::variable::tests::test_similarity_identical ... ok
[INFO] [stdout] test quantization::variable::tests::test_similarity_opposite ... ok
[INFO] [stdout] test simd::detect::tests::test_capabilities_returns_same_instance ... ok
[INFO] [stdout] test simd::detect::tests::test_default_all_false ... ok
[INFO] [stdout] test simd::detect::tests::test_detect_returns_valid_capabilities ... ok
[INFO] [stdout] test simd::detect::tests::test_is_optimal_missing_avx2 ... ok
[INFO] [stdout] test simd::detect::tests::test_is_optimal_missing_fma ... ok
[INFO] [stdout] test simd::detect::tests::test_is_optimal_with_full_x86_features ... ok
[INFO] [stdout] test simd::detect::tests::test_performance_warning_missing_only_avx2 ... ok
[INFO] [stdout] test simd::detect::tests::test_performance_warning_none_when_optimal ... ok
[INFO] [stdout] test simd::detect::tests::test_performance_warning_present_when_suboptimal ... ok
[INFO] [stdout] test simd::detect::tests::test_simd_capabilities_clone ... ok
[INFO] [stdout] test simd::detect::tests::test_simd_capabilities_debug ... ok
[INFO] [stdout] test simd::detect::tests::test_warn_if_suboptimal_does_not_panic ... ok
[INFO] [stdout] test simd::dispatch::tests::test_attributes_preserved ... ok
[INFO] [stdout] test simd::dispatch::tests::test_distance_pattern ... ok
[INFO] [stdout] test simd::dispatch::tests::test_fallback_only_works ... ok
[INFO] [stdout] test simd::dispatch::tests::test_multiple_arguments ... ok
[INFO] [stdout] test simd::dispatch::tests::test_slice_argument ... ok
[INFO] [stdout] test simd::popcount::tests::test_scalar_popcount_half ... ok
[INFO] [stdout] test simd::popcount::tests::test_scalar_popcount_identical ... ok
[INFO] [stdout] test simd::popcount::tests::test_scalar_popcount_opposite ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_empty_slices ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_large_vectors ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_matches_scalar_128_bytes ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_matches_scalar_16_bytes ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_matches_scalar_192_bytes ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_matches_scalar_96_bytes ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_odd_length ... ok
[INFO] [stdout] test simd::popcount::tests::test_simd_single_byte ... ok
[INFO] [stdout] test simd::tests::test_detect_neon_returns_bool ... ok
[INFO] [stdout] test simd::tests::test_neon_not_detected_on_x86 ... ok
[INFO] [stdout] test simd::tests::test_select_backend_no_panic ... ok
[INFO] [stdout] test simd::tests::test_simd_backend_clone ... ok
[INFO] [stdout] test simd::tests::test_simd_backend_display ... ok
[INFO] [stdout] test simd::tests::test_simd_backend_hash ... ok
[INFO] [stdout] test simd::tests::test_simd_backend_is_simd ... ok
[INFO] [stdout] test simd::tests::test_simd_backend_name ... ok
[INFO] [stdout] test simd::tests::test_simd_backend_vector_width ... ok
[INFO] [stdout] test simd::tests::test_x86_does_not_select_neon ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_duplicate ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_empty ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_id_not_found ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_id_overflow ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_invalid_value ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_length_mismatch ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_out_of_bounds ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_unsorted ... ok
[INFO] [stdout] test sparse::error::tests::test_error_display_zero_norm ... ok
[INFO] [stdout] test sparse::metrics::tests::test_cosine_antiparallel ... ok
[INFO] [stdout] test sparse::metrics::tests::test_cosine_commutative ... ok
[INFO] [stdout] test sparse::metrics::tests::test_cosine_in_range ... ok
[INFO] [stdout] test sparse::metrics::tests::test_cosine_orthogonal ... ok
[INFO] [stdout] test sparse::metrics::tests::test_cosine_parallel ... ok
[INFO] [stdout] test sparse::metrics::tests::test_cosine_self_is_one ... ok
[INFO] [stdout] test sparse::metrics::tests::test_dot_product_commutative ... ok
[INFO] [stdout] test sparse::metrics::tests::test_dot_product_exact_match ... ok
[INFO] [stdout] test sparse::metrics::tests::test_dot_product_no_overlap ... ok
[INFO] [stdout] test sparse::metrics::tests::test_dot_product_overlap ... ok
[INFO] [stdout] test sparse::metrics::tests::test_dot_product_self ... ok
[INFO] [stdout] test sparse::metrics::tests::test_dot_product_singleton ... ok
[INFO] [stdout] test sparse::metrics::tests::test_norm_345 ... ok
[INFO] [stdout] test sparse::metrics::tests::test_norm_equals_sqrt_dot_self ... ok
[INFO] [stdout] test sparse::metrics::tests::test_norm_multiple ... ok
[INFO] [stdout] test sparse::metrics::tests::test_norm_unit ... ok
[INFO] [stdout] test sparse::search::tests::test_search_basic ... ok
[INFO] [stdout] test sparse::search::tests::test_search_empty_storage ... ok
[INFO] [stdout] test sparse::search::tests::test_search_k_equals_one ... ok
[INFO] [stdout] test sparse::search::tests::test_search_k_larger_than_count ... ok
[INFO] [stdout] test sparse::search::tests::test_search_k_zero ... ok
[INFO] [stdout] test sparse::search::tests::test_search_many_vectors ... ok
[INFO] [stdout] test sparse::search::tests::test_search_no_overlap_returns_empty ... ok
[INFO] [stdout] test sparse::search::tests::test_search_ordering_descending ... ok
[INFO] [stdout] test sparse::search::tests::test_search_raw_format ... ok
[INFO] [stdout] test sparse::search::tests::test_search_score_correctness ... ok
[INFO] [stdout] test sparse::search::tests::test_search_skips_deleted ... ok
[INFO] [stdout] test sparse::search::tests::test_search_u64_format ... ok
[INFO] [stdout] test sparse::search::tests::test_storage_accessor ... ok
[INFO] [stdout] test sparse::storage::tests::test_active_count_decrements ... ok
[INFO] [stdout] test sparse::storage::tests::test_contains ... ok
[INFO] [stdout] test sparse::storage::tests::test_count_invariant ... ok
[INFO] [stdout] test sparse::storage::tests::test_crc32_checksum_present_in_v2 ... ok
[INFO] [stdout] test sparse::storage::tests::test_crc32_detects_corruption ... ok
[INFO] [stdout] test sparse::storage::tests::test_crc32_roundtrip_via_file ... ok
[INFO] [stdout] test sparse::storage::tests::test_delete_already_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_delete_and_insert_interleaved ... ok
[INFO] [stdout] test sparse::storage::tests::test_delete_batch_atomic ... ok
[INFO] [stdout] test sparse::storage::tests::test_delete_batch_success ... ok
[INFO] [stdout] test sparse::storage::tests::test_delete_invalid_id ... ok
[INFO] [stdout] test sparse::storage::tests::test_delete_valid ... ok
[INFO] [stdout] test sparse::storage::tests::test_deleted_count_increments ... ok
[INFO] [stdout] test sparse::storage::tests::test_deletion_ratio_all_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_deletion_ratio_empty ... ok
[INFO] [stdout] test sparse::storage::tests::test_deletion_ratio_no_deletions ... ok
[INFO] [stdout] test sparse::storage::tests::test_deletion_ratio_some_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_exists_active_vector ... ok
[INFO] [stdout] test sparse::storage::tests::test_exists_deleted_vector ... ok
[INFO] [stdout] test sparse::storage::tests::test_exists_nonexistent ... ok
[INFO] [stdout] test sparse::storage::tests::test_exists_vs_is_deleted_semantics ... ok
[INFO] [stdout] test sparse::storage::tests::test_format_version_constant ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_dim_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_dim_out_of_bounds ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_dim_valid ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_indices_and_values_consistent ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_indices_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_indices_multiple ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_indices_out_of_bounds ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_indices_valid ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_invalid_id ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_returns_none_for_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_roundtrip_100_vectors ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_roundtrip_many ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_valid ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_values_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_values_out_of_bounds ... ok
[INFO] [stdout] test sparse::storage::tests::test_get_values_valid ... ok
[INFO] [stdout] test sparse::storage::tests::test_id_overflow_protection ... ok
[INFO] [stdout] test sparse::storage::tests::test_ids_all_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_ids_iterator ... ok
[INFO] [stdout] test sparse::storage::tests::test_ids_iterator_skips_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_allows_different_dimensions ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_batch ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_empty_batch ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_id_monotonic ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_id_starts_from_zero ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_many_vectors ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_multiple_increments_id ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_preserves_order ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_records_dimensions ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_single ... ok
[INFO] [stdout] test sparse::storage::tests::test_insert_singleton ... ok
[INFO] [stdout] test sparse::storage::tests::test_interleaved_insert_delete_get ... ok
[INFO] [stdout] test sparse::storage::tests::test_is_deleted_false_before_delete ... ok
[INFO] [stdout] test sparse::storage::tests::test_is_deleted_true_after_delete ... ok
[INFO] [stdout] test sparse::storage::tests::test_is_deleted_true_for_nonexistent ... ok
[INFO] [stdout] test sparse::storage::tests::test_iter_all_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_iter_all_vectors ... ok
[INFO] [stdout] test sparse::storage::tests::test_iter_count_equals_active_count ... ok
[INFO] [stdout] test sparse::storage::tests::test_iter_empty_storage ... ok
[INFO] [stdout] test sparse::storage::tests::test_iter_live_count_consistency ... ok
[INFO] [stdout] test sparse::storage::tests::test_iter_skips_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_large_nnz_vector ... ok
[INFO] [stdout] test sparse::storage::tests::test_live_count_all_active ... ok
[INFO] [stdout] test sparse::storage::tests::test_load_invalid_magic_fails ... ok
[INFO] [stdout] test sparse::storage::tests::test_load_truncated_file_fails ... ok
[INFO] [stdout] test sparse::storage::tests::test_load_unsupported_version_fails ... ok
[INFO] [stdout] test sparse::storage::tests::test_magic_number_constant ... ok
[INFO] [stdout] test sparse::storage::tests::test_memory_usage_grows ... ok
[INFO] [stdout] test sparse::storage::tests::test_pack_unpack_deleted_bits_empty ... ok
[INFO] [stdout] test sparse::storage::tests::test_pack_unpack_deleted_bits_roundtrip ... ok
[INFO] [stdout] test sparse::storage::tests::test_restore_deleted ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_edge_case_dims ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_empty_storage ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_large_vectors ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_multiple_vectors ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_preserves_next_id ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_single_vector ... ok
[INFO] [stdout] test sparse::storage::tests::test_roundtrip_with_deletions ... ok
[INFO] [stdout] test sparse::storage::tests::test_save_creates_file_with_magic ... ok
[INFO] [stdout] test sparse::storage::tests::test_save_writes_version ... ok
[INFO] [stdout] test sparse::storage::tests::test_sparse_id_copy_clone ... ok
[INFO] [stdout] test sparse::storage::tests::test_sparse_id_display ... ok
[INFO] [stdout] test sparse::storage::tests::test_sparse_id_from_u64 ... ok
[INFO] [stdout] test sparse::storage::tests::test_sparse_id_hash ... ok
[INFO] [stdout] test sparse::storage::tests::test_sparse_id_into_u64 ... ok
[INFO] [stdout] test sparse::storage::tests::test_sparse_id_new ... ok
[INFO] [stdout] test sparse::storage::tests::test_storage_default ... ok
[INFO] [stdout] test sparse::storage::tests::test_storage_new ... ok
[INFO] [stdout] test sparse::storage::tests::test_storage_with_capacity ... ok
[INFO] [stdout] test sparse::storage::tests::test_total_count_unchanged_after_delete ... ok
[INFO] [stdout] test sparse::storage::tests::test_total_nnz ... ok
[INFO] [stdout] test sparse::storage::tests::test_total_nnz_empty ... ok
[INFO] [stdout] test sparse::storage::tests::test_validate_for_insert_accepts_large_vector ... ok
[INFO] [stdout] test sparse::storage::tests::test_validate_for_insert_accepts_singleton ... ok
[INFO] [stdout] test sparse::storage::tests::test_validate_for_insert_accepts_valid ... ok
[INFO] [stdout] test sparse::storage::tests::test_zero_copy_access_matches_get ... ok
[INFO] [stdout] test sparse::vector::tests::test_accessors ... ok
[INFO] [stdout] test sparse::vector::tests::test_cosine_method ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_rejects_duplicate_indices ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_rejects_empty_vector ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_rejects_length_mismatch ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_rejects_nan_values ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_rejects_out_of_bounds_indices ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_rejects_unsorted_indices ... ok
[INFO] [stdout] test sparse::vector::tests::test_deserialize_valid_roundtrip ... ok
[INFO] [stdout] test sparse::vector::tests::test_dot_method ... ok
[INFO] [stdout] test sparse::vector::tests::test_from_pairs_duplicate_fails ... ok
[INFO] [stdout] test sparse::vector::tests::test_from_pairs_empty_fails ... ok
[INFO] [stdout] test sparse::vector::tests::test_from_pairs_sorts ... ok
[INFO] [stdout] test sparse::vector::tests::test_get_absent ... ok
[INFO] [stdout] test sparse::vector::tests::test_get_present ... ok
[INFO] [stdout] test sparse::vector::tests::test_new_invalid ... ok
[INFO] [stdout] test sparse::vector::tests::test_new_valid ... ok
[INFO] [stdout] test sparse::vector::tests::test_norm_method ... ok
[INFO] [stdout] test sparse::vector::tests::test_normalize ... ok
[INFO] [stdout] test sparse::vector::tests::test_normalize_preserves_indices ... ok
[INFO] [stdout] test sparse::vector::tests::test_normalize_zero_values ... ok
[INFO] [stdout] test sparse::vector::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test sparse::vector::tests::test_singleton ... ok
[INFO] [stdout] test sparse::vector::tests::test_singleton_nan ... ok
[INFO] [stdout] test sparse::vector::tests::test_singleton_out_of_bounds ... ok
[INFO] [stdout] test sparse::vector::tests::test_to_pairs ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_duplicate ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_empty ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_infinity ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_length_mismatch ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_nan ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_neg_infinity ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_out_of_bounds ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_unsorted ... ok
[INFO] [stdout] test sparse::vector::tests::test_validate_valid ... ok
[INFO] [stdout] test storage::binary::tests::test_bytes_per_vector ... ok
[INFO] [stdout] test storage::binary::tests::test_clone ... ok
[INFO] [stdout] test storage::binary::tests::test_compaction_ratio ... ok
[INFO] [stdout] test storage::binary::tests::test_debug_format ... ok
[INFO] [stdout] test storage::binary::tests::test_delete ... ok
[INFO] [stdout] test storage::binary::tests::test_delete_already_deleted ... ok
[INFO] [stdout] test storage::binary::tests::test_delete_not_found ... ok
[INFO] [stdout] test storage::binary::tests::test_error_display ... ok
[INFO] [stdout] test storage::binary::tests::test_get_nonexistent ... ok
[INFO] [stdout] test storage::binary::tests::test_get_raw ... ok
[INFO] [stdout] test storage::binary::tests::test_get_raw_nonexistent ... ok
[INFO] [stdout] test storage::binary::tests::test_insert_and_get ... ok
[INFO] [stdout] test storage::binary::tests::test_insert_dimension_mismatch ... ok
[INFO] [stdout] test storage::binary::tests::test_insert_multiple ... ok
[INFO] [stdout] test storage::binary::tests::test_insert_raw ... ok
[INFO] [stdout] test storage::binary::tests::test_insert_raw_dimension_mismatch ... ok
[INFO] [stdout] test storage::binary::tests::test_is_deleted ... ok
[INFO] [stdout] test storage::binary::tests::test_is_deleted_out_of_bounds ... ok
[INFO] [stdout] test storage::binary::tests::test_iter_all ... ok
[INFO] [stdout] test storage::binary::tests::test_iter_live ... ok
[INFO] [stdout] test storage::binary::tests::test_live_count ... ok
[INFO] [stdout] test storage::binary::tests::test_memory_bytes ... ok
[INFO] [stdout] test storage::binary::tests::test_new_invalid_dimension_not_divisible ... ok
[INFO] [stdout] test storage::binary::tests::test_new_invalid_dimension_zero ... ok
[INFO] [stdout] test storage::binary::tests::test_new_valid_dimensions ... ok
[INFO] [stdout] test storage::binary::tests::test_reserve_and_capacity ... ok
[INFO] [stdout] test storage::binary::tests::test_shrink_to_fit ... ok
[INFO] [stdout] test storage::tests::test_dimension_mismatch ... ok
[INFO] [stdout] test storage::tests::test_insert_quantized ... ok
[INFO] [stdout] test storage::tests::test_quantized_storage ... ok
[INFO] [stdout] test storage::tests::test_storage_insert_and_retrieve ... ok
[INFO] [stdout] test tests::test_version_not_empty ... ok
[INFO] [stdout] test wasm::batch::tests::test_all_error_variants_display ... ok
[INFO] [stdout] test wasm::batch::tests::test_batch_config_default ... ok
[INFO] [stdout] test wasm::batch::tests::test_batch_config_setter ... ok
[INFO] [stdout] test wasm::batch::tests::test_batch_result_empty_ids ... ok
[INFO] [stdout] test wasm::batch::tests::test_batch_result_getters ... ok
[INFO] [stdout] test wasm::batch::tests::test_batch_result_ids_clone ... ok
[INFO] [stdout] test wasm::batch::tests::test_batch_result_large_batch ... ok
[INFO] [stdout] test wasm::batch::tests::test_capacity_exceeded_error ... ok
[INFO] [stdout] test wasm::batch::tests::test_dimension_mismatch_error_code ... ok
[INFO] [stdout] test wasm::batch::tests::test_duplicate_id_error ... ok
[INFO] [stdout] test wasm::batch::tests::test_empty_batch_error ... ok
[INFO] [stdout] test wasm::batch::tests::test_internal_error ... ok
[INFO] [stdout] test wasm::batch::tests::test_invalid_vector_error ... ok
[INFO] [stdout] test wasm::batch::tests::test_partial_success_result ... ok
[INFO] [stdout] test wasm::batch::tests::test_successful_insert_result ... ok
[INFO] [stdout] test wasm::filter::tests::test_collect_fields ... ok
[INFO] [stdout] test wasm::filter::tests::test_collect_operators ... ok
[INFO] [stdout] test wasm::filter::tests::test_count_nodes_complex ... ok
[INFO] [stdout] test wasm::filter::tests::test_count_nodes_simple ... ok
[INFO] [stdout] test wasm::filter::tests::test_error_exception_syntax ... ok
[INFO] [stdout] test wasm::filter::tests::test_error_exception_type_mismatch ... ok
[INFO] [stdout] test wasm::filter::tests::test_estimate_complexity ... ok
[INFO] [stdout] test wasm::filter::tests::test_get_filter_info_native ... ok
[INFO] [stdout] test wasm::filter::tests::test_parse_and_serialize_simple ... ok
[INFO] [stdout] test wasm::filter::tests::test_parse_invalid_syntax ... ok
[INFO] [stdout] test wasm::filter::tests::test_validate_filter_invalid ... ok
[INFO] [stdout] test wasm::filter::tests::test_validate_filter_valid ... ok
[INFO] [stdout] test wasm::filter::tests::test_validation_result_structure ... ok
[INFO] [stdout] test wasm::memory::tests::test_allocation_tracking ... ok
[INFO] [stdout] test wasm::memory::tests::test_memory_config_default ... ok
[INFO] [stdout] test wasm::memory::tests::test_memory_config_deserialize ... ok
[INFO] [stdout] test wasm::memory::tests::test_memory_pressure_level_serialize ... ok
[INFO] [stdout] test wasm::memory::tests::test_memory_recommendation_serialize ... ok
[INFO] [stdout] test wasm::metadata::tests::test_from_integer_valid_range ... ok
[INFO] [stdout] test wasm::metadata::tests::test_js_metadata_value_boolean ... ok
[INFO] [stdout] test wasm::metadata::tests::test_js_metadata_value_float ... ok
[INFO] [stdout] test wasm::metadata::tests::test_js_metadata_value_integer ... ok
[INFO] [stdout] test wasm::metadata::tests::test_js_metadata_value_string ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_self_distance_zero ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_quantize_deterministic ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_output_size_constant ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_hamming_bounded ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_hamming_symmetric ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_similarity_bounded ... ok
[INFO] [stdout] test quantization::binary::proptests::prop_triangle_inequality ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1018 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests edgevec
[INFO] [stdout] 
[INFO] [stdout] running 206 tests
[INFO] [stdout] test src/batch.rs - batch::BatchInsertable (line 107) ... ignored
[INFO] [stdout] test src/batch.rs - batch::BatchInsertable (line 85) ... ignored
[INFO] [stdout] test src/batch.rs - batch::BatchInsertable::batch_insert (line 163) ... ignored
[INFO] [stdout] test src/filter/filtered_search.rs - filter::filtered_search (line 45) ... ignored
[INFO] [stdout] test src/filter/filtered_search.rs - filter::filtered_search::FilteredSearcher (line 244) ... ignored
[INFO] [stdout] test src/filter/evaluator.rs - filter::evaluator (line 22) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::MetadataStore (line 515) ... ignored
[INFO] [stdout] test src/filter/ast.rs - filter::ast::FilterExpr (line 51) ... ok
[INFO] [stdout] test src/filter/parser.rs - filter::parser::parse (line 60) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::estimate_selectivity (line 568) ... ignored
[INFO] [stdout] test src/filter/error.rs - filter::error::FilterError::code (line 288) ... ok
[INFO] [stdout] test src/filter/evaluator.rs - filter::evaluator::evaluate (line 124) ... ok
[INFO] [stdout] test src/filter/error.rs - filter::error::FilterError (line 42) ... ok
[INFO] [stdout] test src/filter/parser.rs - filter::parser (line 21) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::compact (line 1770) ... ignored
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::compaction_warning (line 1733) ... ignored
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy (line 69) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::calculate_oversample (line 273) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::enable_bq (line 580) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::overfetch_from_selectivity (line 485) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::needs_compaction (line 1683) ... ignored
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::estimate_filter_selectivity (line 399) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::soft_delete (line 1173) ... ignored
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::insert_with_metadata (line 903) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::select_strategy (line 306) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::is_tautology (line 695) ... ok
[INFO] [stdout] test src/filter/strategy.rs - filter::strategy::is_contradiction (line 743) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::metadata (line 829) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::soft_delete_batch (line 1224) ... ok
[INFO] [stdout] test src/hnsw/rescore.rs - hnsw::rescore::rescore (line 47) ... ignored
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::metadata_mut (line 855) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::with_metadata (line 455) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::search_filtered (line 1011) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::with_bq (line 536) ... ok
[INFO] [stdout] test src/hnsw/graph.rs - hnsw::graph::HnswIndex::soft_delete_batch_with_progress (line 1365) ... ok
[INFO] [stdout] test src/hnsw/mod.rs - hnsw::search_bq (line 38) ... ok
[INFO] [stdout] test src/hybrid/search.rs - hybrid::search::HybridSearcher (line 261) ... ignored
[INFO] [stdout] test src/hnsw/insert.rs - hnsw::insert::HnswIndex::insert_bq (line 138) ... ok
[INFO] [stdout] test src/hybrid/search.rs - hybrid::search::HybridSearchConfig (line 59) ... ok
[INFO] [stdout] test src/hybrid/fusion.rs - hybrid::fusion::linear_fusion (line 385) ... ok
[INFO] [stdout] test src/hnsw/search_bq.rs - hnsw::search_bq::HnswIndex::search_bq (line 106) ... ok
[INFO] [stdout] test src/hnsw/search_bq.rs - hnsw::search_bq::HnswIndex::search_bq_rescored (line 199) ... ok
[INFO] [stdout] test src/hnsw/search_bq.rs - hnsw::search_bq::HnswIndex::search_bq_rescored_default (line 259) ... ok
[INFO] [stdout] test src/hybrid/fusion.rs - hybrid::fusion::rrf_fusion (line 204) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::compact (line 705) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::deletion_stats (line 596) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::enable_quantization (line 779) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat (line 31) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::delete (line 640) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::get (line 491) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::contains (line 531) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::insert_batch (line 457) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::search (line 1000) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::insert (line 403) ... ok
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndexConfig (line 198) ... ok
[INFO] [stdout] test src/lib.rs - (line 382) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 357) ... FAILED
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::search_quantized (line 885) ... ok
[INFO] [stdout] test src/lib.rs - batch (line 128) ... ignored
[INFO] [stdout] test src/lib.rs - error (line 128) ... ignored
[INFO] [stdout] test src/lib.rs - (line 32) ... ok
[INFO] [stdout] test src/lib.rs - (line 56) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 405) ... FAILED
[INFO] [stdout] test src/index/flat.rs - index::flat::FlatIndex::new (line 325) ... ok
[INFO] [stdout] test src/lib.rs - index (line 156) ... ok
[INFO] [stdout] test src/lib.rs - hybrid (line 243) ... ok
[INFO] [stdout] test src/lib.rs - metadata (line 146) ... ok
[INFO] [stdout] test src/lib.rs - (line 451) ... ok
[INFO] [stdout] test src/lib.rs - IndexType (line 161) ... ok
[INFO] [stdout] test src/lib.rs - quantization (line 151) ... ok
[INFO] [stdout] test src/lib.rs - (line 429) ... FAILED
[INFO] [stdout] test src/lib.rs - quantization (line 138) ... ok
[INFO] [stdout] test src/lib.rs - simd (line 135) ... ok
[INFO] [stdout] test src/lib.rs - sparse (line 154) ... ok
[INFO] [stdout] test src/lib.rs - filter (line 149) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize (line 14) ... ok
[INFO] [stdout] test src/metadata/error.rs - metadata::error::MetadataError (line 15) ... ok
[INFO] [stdout] test src/lib.rs - simd (line 151) ... ok
[INFO] [stdout] test src/lib.rs - version (line 263) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize::MetadataStore::verify_crc (line 312) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize::MetadataStore::calculate_crc (line 285) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize::MetadataStore::from_postcard (line 193) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize::MetadataStore::to_json (line 225) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize::MetadataStore::to_postcard (line 162) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store (line 28) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::clear (line 543) ... ok
[INFO] [stdout] test src/metadata/serialize.rs - metadata::serialize::MetadataStore::from_json (line 256) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore (line 78) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::delete (line 367) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::get (line 297) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::delete_all (line 407) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::key_count (line 487) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::has_key (line 435) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::insert (line 181) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::get_all (line 322) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::is_empty (line 528) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::keys (line 462) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::merge (line 584) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::merge_unchecked (line 653) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::new (line 110) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::vector_count (line 509) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::update (line 243) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::total_key_count (line 695) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::vector_ids (line 677) ... ok
[INFO] [stdout] test src/metadata/store.rs - metadata::store::MetadataStore::with_capacity (line 133) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue (line 53) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue::as_string (line 176) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue::as_float (line 222) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue (line 63) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue::type_name (line 120) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue::as_boolean (line 245) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue::as_integer (line 199) ... ok
[INFO] [stdout] test src/metadata/types.rs - metadata::types::MetadataValue::as_string_array (line 268) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::MAX_KEYS_PER_VECTOR (line 45) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::MAX_KEY_LENGTH (line 59) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::MAX_STRING_VALUE_LENGTH (line 74) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::MAX_STRING_ARRAY_LENGTH (line 89) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::validate_key (line 129) ... ok
[INFO] [stdout] test src/metric/scalar.rs - metric::scalar::euclidean_distance (line 13) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::validate_key_value (line 290) ... ok
[INFO] [stdout] test src/metadata/validation.rs - metadata::validation::validate_value (line 209) ... ok
[INFO] [stdout] test src/metric/simd.rs - metric::simd::euclidean_distance (line 1389) ... ok
[INFO] [stdout] test src/metric/scalar.rs - metric::scalar::l2_squared (line 42) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::BinaryQuantizer (line 231) ... ok
[INFO] [stdout] test src/metric/simd.rs - metric::simd::hamming_distance (line 1323) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::BinaryQuantizer::new (line 255) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::BinaryQuantizer::quantize (line 295) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::BinaryQuantizer::quantize_flexible (line 351) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::QuantizedVector (line 89) ... ok
[INFO] [stdout] test src/quantization/simd/mod.rs - quantization::simd::hamming_distance (line 53) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::QuantizedVector::hamming_distance (line 169) ... ok
[INFO] [stdout] test src/quantization/simd/portable.rs - quantization::simd::portable::hamming_distance_portable (line 85) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::QuantizedVector::from_bytes (line 115) ... ok
[INFO] [stdout] test src/quantization/mod.rs - quantization::variable (line 86) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::QuantizedVector::data (line 136) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::BinaryQuantizer::quantize_to_bytes (line 405) ... ok
[INFO] [stdout] test src/quantization/simd/portable.rs - quantization::simd::portable::hamming_distance_slice (line 39) ... ok
[INFO] [stdout] test src/quantization/binary.rs - quantization::binary::QuantizedVector::similarity (line 192) ... ok
[INFO] [stdout] test src/quantization/variable.rs - quantization::variable::BinaryVector::from_bytes (line 183) ... ok
[INFO] [stdout] test src/simd/dispatch.rs - simd::dispatch::simd_dispatch (line 107) ... ignored
[INFO] [stdout] test src/simd/dispatch.rs - simd::dispatch::simd_dispatch (line 64) ... ignored
[INFO] [stdout] test src/simd/dispatch.rs - simd::dispatch::simd_dispatch (line 91) ... ignored
[INFO] [stdout] test src/quantization/variable.rs - quantization::variable::BinaryVector::hamming_distance (line 250) ... ok
[INFO] [stdout] test src/simd/mod.rs - simd::dispatch (line 66) ... ignored
[INFO] [stdout] test src/simd/mod.rs - simd::dispatch (line 88) ... ignored
[INFO] [stdout] test src/quantization/variable.rs - quantization::variable::BinaryVector::quantize (line 139) ... ok
[INFO] [stdout] test src/quantization/variable.rs - quantization::variable::BinaryVector (line 103) ... ok
[INFO] [stdout] test src/simd/detect.rs - simd::detect (line 8) ... ok
[INFO] [stdout] test src/simd/mod.rs - simd::detect_neon (line 120) ... ok
[INFO] [stdout] test src/quantization/variable.rs - quantization::variable::BinaryVector::similarity (line 292) ... ok
[INFO] [stdout] test src/simd/detect.rs - simd::detect::capabilities (line 154) ... ok
[INFO] [stdout] test src/simd/detect.rs - simd::detect::warn_if_suboptimal (line 172) ... ok
[INFO] [stdout] test src/simd/mod.rs - simd::select_backend (line 152) ... ok
[INFO] [stdout] test src/simd/popcount.rs - simd::popcount::simd_popcount_xor (line 61) ... ok
[INFO] [stdout] test src/sparse/metrics.rs - sparse::metrics::sparse_norm (line 95) ... ok
[INFO] [stdout] test src/simd/mod.rs - simd::popcount (line 73) ... ok
[INFO] [stdout] test src/sparse/metrics.rs - sparse::metrics::sparse_cosine (line 132) ... ok
[INFO] [stdout] test src/sparse/search.rs - sparse::search::SparseSearcher (line 108) ... ok
[INFO] [stdout] test src/sparse/metrics.rs - sparse::metrics::sparse_dot_product (line 30) ... ok
[INFO] [stdout] test src/sparse/search.rs - sparse::search::SparseSearcher<'a>::new (line 142) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage (line 25) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseId (line 77) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::active_count (line 321) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::delete (line 938) ... ok
[INFO] [stdout] test src/sparse/search.rs - sparse::search::SparseSearcher<'a>::search (line 183) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::contains (line 811) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::deleted_count (line 292) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::deletion_ratio (line 376) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::exists (line 887) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::from_bytes (line 1239) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::get (line 623) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::insert (line 515) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::get_indices (line 681) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::insert_batch (line 570) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::get_dim (line 778) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::load (line 1402) - compile ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::is_deleted (line 844) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::save (line 1105) - compile ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::len (line 237) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::iter (line 1047) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::get_values (line 732) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::live_count (line 264) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::new (line 183) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::to_bytes (line 1150) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::dot (line 327) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::new (line 139) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::from_pairs (line 197) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::total_count (line 344) ... ok
[INFO] [stdout] test src/sparse/storage.rs - sparse::storage::SparseStorage::with_capacity (line 210) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector (line 33) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::norm (line 346) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::cosine (line 363) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::get (line 307) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::singleton (line 236) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::normalize (line 386) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::get_raw (line 348) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::delete (line 382) ... ok
[INFO] [stdout] test src/sparse/vector.rs - sparse::vector::SparseVector::to_pairs (line 284) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::get (line 311) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::compaction_ratio (line 436) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage (line 117) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::insert_raw (line 278) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::insert (line 236) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::iter_live (line 472) ... ok
[INFO] [stdout] test src/storage/binary.rs - storage::binary::BinaryVectorStorage::new (line 164) ... ok
[INFO] [stdout] test src/storage/mod.rs - storage::binary (line 46) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 382) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `query_sv` in this scope
[INFO] [stdout]    --> src/lib.rs:399:32
[INFO] [stdout]     |
[INFO] [stdout] 399 | let results = searcher.search(&query_sv, 10);
[INFO] [stdout]     |                                ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:392:2
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_382_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 392 | )?;
[INFO] [stdout]     |  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 383 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_382_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 384 | use edgevec::SparseVector;
[INFO] [stdout] ...
[INFO] [stdout] 399 | let results = searcher.search(&query_sv, 10);
[INFO] [stdout] 400 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:396:29
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_382_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 396 | let id = storage.insert(&sv)?;
[INFO] [stdout]     |                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 383 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_382_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 384 | use edgevec::SparseVector;
[INFO] [stdout] ...
[INFO] [stdout] 399 | let results = searcher.search(&query_sv, 10);
[INFO] [stdout] 400 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 357) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `embedding` in this scope
[INFO] [stdout]    --> src/lib.rs:367:24
[INFO] [stdout]     |
[INFO] [stdout] 367 | let id = index.insert(&embedding)?;
[INFO] [stdout]     |                        ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `query` in this scope
[INFO] [stdout]    --> src/lib.rs:370:29
[INFO] [stdout]     |
[INFO] [stdout] 370 | let results = index.search(&query, 10)?;
[INFO] [stdout]     |                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:367:34
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 367 | let id = index.insert(&embedding)?;
[INFO] [stdout]     |                                  ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 358 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 359 | use edgevec::{FlatIndex, FlatIndexConfig, DistanceMetric};
[INFO] [stdout] ...
[INFO] [stdout] 374 | let restored = FlatIndex::from_snapshot(&snapshot)?;
[INFO] [stdout] 375 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:370:39
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 370 | let results = index.search(&query, 10)?;
[INFO] [stdout]     |                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 358 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 359 | use edgevec::{FlatIndex, FlatIndexConfig, DistanceMetric};
[INFO] [stdout] ...
[INFO] [stdout] 374 | let restored = FlatIndex::from_snapshot(&snapshot)?;
[INFO] [stdout] 375 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:373:35
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 373 | let snapshot = index.to_snapshot()?;
[INFO] [stdout]     |                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 358 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 359 | use edgevec::{FlatIndex, FlatIndexConfig, DistanceMetric};
[INFO] [stdout] ...
[INFO] [stdout] 374 | let restored = FlatIndex::from_snapshot(&snapshot)?;
[INFO] [stdout] 375 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 374 | let restored = FlatIndex::from_snapshot(&snapshot)?;
[INFO] [stdout]     |                                                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 358 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_357_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 359 | use edgevec::{FlatIndex, FlatIndexConfig, DistanceMetric};
[INFO] [stdout] ...
[INFO] [stdout] 374 | let restored = FlatIndex::from_snapshot(&snapshot)?;
[INFO] [stdout] 375 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 405) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `hnsw_index` in this scope
[INFO] [stdout]    --> src/lib.rs:410:37
[INFO] [stdout]     |
[INFO] [stdout] 410 | let searcher = HybridSearcher::new(&hnsw_index, &dense_storage, &sparse_storage);
[INFO] [stdout]     |                                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dense_storage` in this scope
[INFO] [stdout]    --> src/lib.rs:410:50
[INFO] [stdout]     |
[INFO] [stdout] 410 | let searcher = HybridSearcher::new(&hnsw_index, &dense_storage, &sparse_storage);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sparse_storage` in this scope
[INFO] [stdout]    --> src/lib.rs:410:66
[INFO] [stdout]     |
[INFO] [stdout] 410 | let searcher = HybridSearcher::new(&hnsw_index, &dense_storage, &sparse_storage);
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `dense_query` in this scope
[INFO] [stdout]    --> src/lib.rs:419:32
[INFO] [stdout]     |
[INFO] [stdout] 419 | let results = searcher.search(&dense_query, &sparse_query, &config)?;
[INFO] [stdout]     |                                ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `sparse_query` in this scope
[INFO] [stdout]    --> src/lib.rs:419:46
[INFO] [stdout]     |
[INFO] [stdout] 419 | let results = searcher.search(&dense_query, &sparse_query, &config)?;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:419:68
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_405_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 419 | let results = searcher.search(&dense_query, &sparse_query, &config)?;
[INFO] [stdout]     |                                                                    ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 406 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_405_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `VectorId` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/lib.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     println!("ID: {}, score: {:.4}, dense_rank: {:?}, sparse_rank: {:?}",
[INFO] [stdout]     |                   -- required by this formatting parameter
[INFO] [stdout] 422 |         r.id, r.score, r.dense_rank, r.sparse_rank);
[INFO] [stdout]     |         ^^^^ `VectorId` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::fmt::Display` is not implemented for `VectorId`
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 429) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `binary_vector` in this scope
[INFO] [stdout]    --> src/lib.rs:437:24
[INFO] [stdout]     |
[INFO] [stdout] 437 | let id = index.insert(&binary_vector)?;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `query` in this scope
[INFO] [stdout]    --> src/lib.rs:440:29
[INFO] [stdout]     |
[INFO] [stdout] 440 | let results = index.search(&query, 10)?;
[INFO] [stdout]     |                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:434:42
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_429_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 434 | let mut index = BinaryFlatIndex::new(768)?;
[INFO] [stdout]     |                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_429_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:437:38
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_429_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 437 | let id = index.insert(&binary_vector)?;
[INFO] [stdout]     |                                      ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_429_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/lib.rs:440:39
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_429_0() {
[INFO] [stdout]     |                                      ----------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 440 | let results = index.search(&query, 10)?;
[INFO] [stdout]     |                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_429_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `VectorId` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/lib.rs:442:38
[INFO] [stdout]     |
[INFO] [stdout] 442 |     println!("ID: {}, distance: {}", r.id, r.distance);
[INFO] [stdout]     |                   --                 ^^^^ `VectorId` cannot be formatted with the default formatter
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `std::fmt::Display` is not implemented for `VectorId`
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 357)
[INFO] [stdout]     src/lib.rs - (line 382)
[INFO] [stdout]     src/lib.rs - (line 405)
[INFO] [stdout]     src/lib.rs - (line 429)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 182 passed; 4 failed; 20 ignored; 0 measured; 0 filtered out; finished in 32.76s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "68998e1c2d675ca86eaaffe00da78f4896f89c120f82b257e7e2126ae8455489", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68998e1c2d675ca86eaaffe00da78f4896f89c120f82b257e7e2126ae8455489", kill_on_drop: false }`
[INFO] [stdout] 68998e1c2d675ca86eaaffe00da78f4896f89c120f82b257e7e2126ae8455489
