[INFO] fetching crate regit-curves 1.0.1...
[INFO] testing regit-curves-1.0.1 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate regit-curves 1.0.1 into /workspace/builds/worker-5-tc1/source
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate regit-curves 1.0.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate regit-curves 1.0.1
[INFO] tweaked toml for crates.io crate regit-curves 1.0.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate regit-curves 1.0.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate regit-curves 1.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.7
[INFO] [stderr]   Downloaded regex v1.13.0
[INFO] [stderr]   Downloaded cc v1.2.67
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.54
[INFO] [stderr]   Downloaded zerocopy v0.8.54
[INFO] [stderr]   Downloaded regex-automata v0.4.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc
[INFO] running `Command { std: "docker" "start" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling regit-curves v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.11s
[INFO] running `Command { std: "docker" "inspect" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling zerocopy v0.8.54
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.54
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling regit-curves v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/regit_curves-91c374cb2331a021)
[INFO] [stdout] 
[INFO] [stdout] running 629 tests
[INFO] [stdout] test bootstrap::tests::bootstrap_config_debug_includes_struct_name ... ok
[INFO] [stdout] test bootstrap::tests::bootstrap_config_default_values_match_spec ... ok
[INFO] [stdout] test bootstrap::tests::bootstrap_debug_includes_reference_date ... ok
[INFO] [stdout] test bootstrap::tests::bootstrap_with_config_round_trip ... ok
[INFO] [stdout] test bootstrap::tests::build_rejects_non_increasing_pillars ... ok
[INFO] [stdout] test bootstrap::tests::build_rejects_pillar_on_or_before_reference_date ... ok
[INFO] [stdout] test bootstrap::tests::bootstrapped_curve_has_canonical_anchor ... ok
[INFO] [stdout] test bootstrap::tests::cubic_spline_outer_iteration_caps_at_zero_returns_did_not_converge_or_ok ... ok
[INFO] [stdout] test bootstrap::tests::bond_bootstrap_mixed_with_swap_reprices_all ... ok
[INFO] [stdout] test bootstrap::tests::cubic_spline_outer_iteration_succeeds_with_small_iter_max ... ok
[INFO] [stdout] test bootstrap::tests::bond_bootstrap_deposits_plus_three_bonds_reprices_all ... ok
[INFO] [stdout] test bootstrap::tests::cubic_spline_bootstrap_converges_via_outer_iteration ... ok
[INFO] [stdout] test bootstrap::tests::deposit_only_bootstrap_flat_5pct_log_linear ... ok
[INFO] [stdout] test bootstrap::tests::method_is_nonlocal_distinguishes_local_and_global_methods ... ok
[INFO] [stdout] test bootstrap::tests::bootstrapped_curve_pillar_count_equals_anchor_plus_n_instruments ... ok
[INFO] [stdout] test bootstrap::tests::ois_only_bootstrap_log_linear ... ok
[INFO] [stdout] test bootstrap::tests::mixed_deposits_fras_swap_bootstrap_log_linear ... ok
[INFO] [stdout] test curves::discount::tests::clone_yields_equivalent_curve ... ok
[INFO] [stdout] test curves::discount::tests::accessors_round_trip_constructor_inputs ... ok
[INFO] [stdout] test curves::discount::tests::discount_knot_reproduction_log_linear ... ok
[INFO] [stdout] test curves::discount::tests::discount_knot_reproduction_all_methods ... ok
[INFO] [stdout] test curves::discount::tests::discount_rejects_non_finite_time ... ok
[INFO] [stdout] test curves::discount::tests::discount_agrees_with_curve_snapshot ... ok
[INFO] [stdout] test curves::discount::tests::discount_rejects_negative_time ... ok
[INFO] [stdout] test curves::discount::tests::discount_anchor_is_unit_to_round_off ... ok
[INFO] [stdout] test bootstrap::tests::iterative_off_skips_outer_iteration_local_methods_still_work ... ok
[INFO] [stdout] test bootstrap::tests::no_bracket_failure_on_pathological_deposit_rate ... ok
[INFO] [stdout] test bootstrap::tests::every_interpolation_method_converges_on_three_deposits ... ok
[INFO] [stdout] test curves::discount::tests::from_times_and_discounts_rejects_mismatched_lengths ... ok
[INFO] [stdout] test curves::discount::tests::from_times_and_discounts_rejects_nan_time ... ok
[INFO] [stdout] test curves::discount::tests::instantaneous_forward_flat_curve_loglinear ... ok
[INFO] [stdout] test curves::discount::tests::instantaneous_forward_flat_curve_smooth_methods ... ok
[INFO] [stdout] test curves::discount::tests::instantaneous_forward_rejects_negative_time ... ok
[INFO] [stdout] test curves::discount::tests::new_accepts_minimal_two_node_curve ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_anchor_not_unit ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_duplicate_dates ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_missing_anchor ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_nan_discount ... ok
[INFO] [stdout] test curves::discount::tests::forward_rate_flat_curve_closed_form ... ok
[INFO] [stdout] test curves::discount::tests::forward_rate_rejects_t2_le_t1 ... ok
[INFO] [stdout] test bootstrap::tests::build_rejects_empty_instrument_list ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_non_positive_discount ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_too_few_nodes ... ok
[INFO] [stdout] test curves::discount::tests::par_swap_rate_flat_curve_2y_semi_annual ... ok
[INFO] [stdout] test curves::discount::tests::par_swap_rate_rejects_irregular_schedule ... ok
[INFO] [stdout] test curves::discount::tests::par_swap_rate_rejects_start_ge_maturity ... ok
[INFO] [stdout] test curves::discount::tests::zero_rate_at_anchor_is_zero ... ok
[INFO] [stdout] test curves::discount::tests::new_rejects_non_increasing_dates ... ok
[INFO] [stdout] test curves::discount::tests::from_times_and_discounts_rejects_anchor_not_unit ... ok
[INFO] [stdout] test curves::discount::tests::zero_rate_each_compounding_variant ... ok
[INFO] [stdout] test curves::discount::tests::zero_rate_flat_curve_continuous ... ok
[INFO] [stdout] test curves::discount::tests::zero_rate_rejects_negative_time ... ok
[INFO] [stdout] test curves::forward::tests::from_constructs_view ... ok
[INFO] [stdout] test curves::forward::tests::forward_flat_curve_closed_form ... ok
[INFO] [stdout] test curves::forward::tests::forward_rejects_t2_le_t1 ... ok
[INFO] [stdout] test curves::forward::tests::instantaneous_flat_curve_loglinear ... ok
[INFO] [stdout] test curves::forward::tests::instantaneous_rejects_negative_time ... ok
[INFO] [stdout] test curves::forward::tests::instantaneous_via_forward_finite_difference_limit ... ok
[INFO] [stdout] test curves::par::tests::from_constructs_view ... ok
[INFO] [stdout] test curves::par::tests::par_rate_flat_curve_2y_semi_annual_matches_closed_form ... ok
[INFO] [stdout] test curves::par::tests::par_rate_from_anchor_matches_par_rate ... ok
[INFO] [stdout] test curves::par::tests::par_rate_increases_with_frequency_on_upward_curve ... ok
[INFO] [stdout] test curves::par::tests::par_rate_once_at_maturity_single_period ... ok
[INFO] [stdout] test curves::par::tests::par_rate_rejects_inverted_dates ... ok
[INFO] [stdout] test curves::par::tests::par_rate_rejects_irregular_schedule ... ok
[INFO] [stdout] test curves::zero::tests::discount_delegates_to_parent ... ok
[INFO] [stdout] test curves::zero::tests::from_constructs_view ... ok
[INFO] [stdout] test curves::zero::tests::rate_rejects_negative_t ... ok
[INFO] [stdout] test curves::zero::tests::rate_at_uses_curve_daycount ... ok
[INFO] [stdout] test curves::zero::tests::rate_round_trip_through_discount ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_chained_from_type_through_curve_is_not_automatic ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_display_all_variants ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_debug ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_from_curve ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_copy_eq ... ok
[INFO] [stdout] test curves::zero::tests::rate_flat_curve_simple ... ok
[INFO] [stdout] test curves::forward::tests::instantaneous_at_anchor ... ok
[INFO] [stdout] test curves::zero::tests::rate_flat_curve_continuous ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_from_type ... ok
[INFO] [stdout] test errors::tests::bootstrap_error_no_source_for_plain_variants ... ok
[INFO] [stdout] test errors::tests::curve_error_debug ... ok
[INFO] [stdout] test errors::tests::curve_error_copy_eq ... ok
[INFO] [stdout] test errors::tests::curve_error_no_source_for_plain_variants ... ok
[INFO] [stdout] test errors::tests::curve_error_from_type_and_source ... ok
[INFO] [stdout] test errors::tests::curve_error_display_all_variants ... ok
[INFO] [stdout] test errors::tests::type_error_display_invalid_tenor ... ok
[INFO] [stdout] test errors::tests::type_error_display_non_positive_range ... ok
[INFO] [stdout] test errors::tests::type_error_debug ... ok
[INFO] [stdout] test errors::tests::type_error_display_non_finite ... ok
[INFO] [stdout] test instruments::basis_swap::tests::basis_leg_rejects_inverted_dates ... ok
[INFO] [stdout] test errors::tests::type_error_copy_eq_hash ... ok
[INFO] [stdout] test instruments::basis_swap::tests::basis_leg_rejects_zero_index_tenor ... ok
[INFO] [stdout] test errors::tests::type_error_is_error_trait ... ok
[INFO] [stdout] test errors::tests::type_error_display_invalid_date ... ok
[INFO] [stdout] test instruments::basis_swap::tests::instrument_like_residual_matches_single_curve_residual ... ok
[INFO] [stdout] test instruments::basis_swap::tests::annuity_matches_direct_sum_over_periods ... ok
[INFO] [stdout] test instruments::basis_swap::tests::basis_leg_rejects_negative_index_tenor ... ok
[INFO] [stdout] test instruments::basis_swap::tests::new_rejects_mismatched_leg_starts ... ok
[INFO] [stdout] test instruments::basis_swap::tests::new_accepts_3m_vs_6m_5y_basis_swap ... ok
[INFO] [stdout] test instruments::basis_swap::tests::new_rejects_non_finite_spread ... ok
[INFO] [stdout] test instruments::basis_swap::tests::pillar_returns_leg_a_when_longer ... ok
[INFO] [stdout] test instruments::basis_swap::tests::debug_clone_eq_round_trip ... ok
[INFO] [stdout] test instruments::basis_swap::tests::pillar_returns_max_leg_maturity ... ok
[INFO] [stdout] test instruments::basis_swap::tests::float_pv_single_curve_telescopes_to_d_start_minus_d_maturity ... ok
[INFO] [stdout] test instruments::basis_swap::tests::residual_errors_on_empty_curve_snapshot ... ok
[INFO] [stdout] test instruments::bond::tests::bond_residual_propagates_business252_error ... ok
[INFO] [stdout] test instruments::basis_swap::tests::single_curve_residual_collapses_to_spread_times_annuity ... ok
[INFO] [stdout] test instruments::basis_swap::tests::zero_spread_basis_swap_residual_is_zero_with_matched_maturities ... ok
[INFO] [stdout] test instruments::bond::tests::debug_format_contains_struct_name ... ok
[INFO] [stdout] test instruments::bond::tests::clone_and_eq_round_trip ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_nan_accrued ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_equal_issue_and_maturity ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_inf_coupon ... ok
[INFO] [stdout] test instruments::bond::tests::coupon_pv_matches_manual_sum ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_negative_clean_price ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_zero_clean_price ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_zero_notional ... ok
[INFO] [stdout] test instruments::bond::tests::par_bond_invariant_under_mixed_daycounts ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_nan_coupon ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_negative_accrued ... ok
[INFO] [stdout] test instruments::bond::tests::new_rejects_negative_notional ... ok
[INFO] [stdout] test instruments::bond::tests::residual_errors_on_empty_snapshot ... ok
[INFO] [stdout] test instruments::bond::tests::residual_with_accrued_subtracts_dirty_price ... ok
[INFO] [stdout] test instruments::bond::tests::off_par_bond_residual_matches_clean_price_shift ... ok
[INFO] [stdout] test instruments::bond::tests::par_bond_residual_is_zero_5y_annual_flat_5pct ... ok
[INFO] [stdout] test instruments::bond::tests::ten_year_semi_annual_par_bond_residual_zero ... ok
[INFO] [stdout] test instruments::bond::tests::new_accepts_valid_5y_annual_bond ... ok
[INFO] [stdout] test instruments::bond::tests::new_propagates_irregular_schedule_error ... ok
[INFO] [stdout] test instruments::bond::tests::with_schedule_rejects_mismatched_endpoints ... ok
[INFO] [stdout] test instruments::deposit::tests::deposit_discount_roundtrip_through_growth_factor ... ok
[INFO] [stdout] test instruments::deposit::tests::deposit_pillar_is_payment_date ... ok
[INFO] [stdout] test instruments::deposit::tests::deposit_residual_sign_responds_to_rate_perturbation ... ok
[INFO] [stdout] test instruments::deposit::tests::implied_discount_basic_formula ... ok
[INFO] [stdout] test instruments::deposit::tests::implied_discount_rejects_non_finite_d_fixing ... ok
[INFO] [stdout] test instruments::deposit::tests::implied_discount_rejects_non_positive_d_fixing ... ok
[INFO] [stdout] test instruments::deposit::tests::implied_discount_rejects_non_positive_growth ... ok
[INFO] [stdout] test instruments::deposit::tests::new_accepts_negative_rate ... ok
[INFO] [stdout] test instruments::deposit::tests::new_accepts_valid_deposit ... ok
[INFO] [stdout] test instruments::deposit::tests::new_accepts_zero_accrual_at_fixing_equals_payment ... ok
[INFO] [stdout] test instruments::deposit::tests::new_rejects_inf_rate ... ok
[INFO] [stdout] test instruments::deposit::tests::new_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::deposit::tests::new_rejects_nan_rate ... ok
[INFO] [stdout] test instruments::deposit::tests::year_fraction_to_maturity_matches_daycount ... ok
[INFO] [stdout] test instruments::bond::tests::principal_pv_equals_notional_times_discount ... ok
[INFO] [stdout] test instruments::deposit::tests::deposit_residual_errors_on_empty_curve_snapshot ... ok
[INFO] [stdout] test instruments::deposit::tests::accrual_matches_isda_worked_example ... ok
[INFO] [stdout] test instruments::deposit::tests::deposit_residual_is_zero_on_flat_curve_with_implied_rate ... ok
[INFO] [stdout] test instruments::deposit::tests::implied_discount_matches_flat_curve_value ... ok
[INFO] [stdout] test instruments::fra::tests::fra_discount_roundtrip_through_growth_factor ... ok
[INFO] [stdout] test instruments::fra::tests::fra_par_rate_target_value_just_above_4_pct ... ok
[INFO] [stdout] test instruments::deposit::tests::year_fraction_to_maturity_propagates_business252_error ... ok
[INFO] [stdout] test instruments::fra::tests::accrual_act360_matches_91_days ... ok
[INFO] [stdout] test instruments::fra::tests::accrual_propagates_business252_error ... ok
[INFO] [stdout] test instruments::fra::tests::fra_residual_errors_on_empty_curve_snapshot ... ok
[INFO] [stdout] test instruments::fra::tests::implied_discount_rejects_non_finite_d_start ... ok
[INFO] [stdout] test instruments::fra::tests::implied_discount_rejects_non_positive_d_start ... ok
[INFO] [stdout] test instruments::fra::tests::implied_discount_rejects_non_positive_growth ... ok
[INFO] [stdout] test instruments::fra::tests::implied_discount_with_unit_d_start_equals_simple_discount ... ok
[INFO] [stdout] test instruments::fra::tests::new_accepts_negative_rate ... ok
[INFO] [stdout] test instruments::fra::tests::new_accepts_valid_fra ... ok
[INFO] [stdout] test instruments::fra::tests::new_rejects_inf_rate ... ok
[INFO] [stdout] test instruments::bond::tests::with_schedule_accepts_matching_schedule ... ok
[INFO] [stdout] test instruments::bond::tests::with_schedule_rejects_invalid_inputs ... ok
[INFO] [stdout] test instruments::fra::tests::fra_residual_sign_responds_to_rate_perturbation ... ok
[INFO] [stdout] test instruments::fra::tests::new_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::fra::tests::new_rejects_nan_rate ... ok
[INFO] [stdout] test instruments::fra::tests::new_rejects_zero_length_period ... ok
[INFO] [stdout] test instruments::future::tests::accrual_matches_imm_mar_2024_act360 ... ok
[INFO] [stdout] test instruments::future::tests::accrual_propagates_business252_error ... ok
[INFO] [stdout] test instruments::future::tests::future_discount_roundtrip_through_growth_factor ... ok
[INFO] [stdout] test instruments::future::tests::future_pillar_is_end_date ... ok
[INFO] [stdout] test instruments::future::tests::future_residual_is_zero_on_self_consistent_curve ... ok
[INFO] [stdout] test instruments::future::tests::future_residual_propagates_business252_error ... ok
[INFO] [stdout] test instruments::future::tests::future_residual_sign_responds_to_price_perturbation ... ok
[INFO] [stdout] test instruments::fra::tests::new_rejects_neg_inf_rate ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_basic_formula ... ok
[INFO] [stdout] test instruments::fra::tests::implied_discount_basic_formula ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_propagates_business252_error ... ok
[INFO] [stdout] test instruments::fra::tests::fra_pillar_is_end_date ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_rejects_non_finite_d_start ... ok
[INFO] [stdout] test instruments::fra::tests::fra_residual_is_zero_on_flat_curve_with_implied_rate ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_rejects_non_positive_d_start ... ok
[INFO] [stdout] test instruments::future::tests::new_accepts_negative_rate_environment_price_above_100 ... ok
[INFO] [stdout] test instruments::fra::tests::fra_residual_propagates_business252_error ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_rejects_non_positive_growth ... ok
[INFO] [stdout] test instruments::future::tests::new_accepts_valid_future ... ok
[INFO] [stdout] test instruments::future::tests::new_accepts_zero_convexity_adjustment ... ok
[INFO] [stdout] test instruments::future::tests::future_residual_errors_on_empty_curve_snapshot ... ok
[INFO] [stdout] test instruments::future::tests::new_accepts_price_exactly_100 ... ok
[INFO] [stdout] test instruments::future::tests::implied_forward_rate_subtracts_convexity_adjustment ... ok
[INFO] [stdout] test instruments::future::tests::new_rejects_inf_price ... ok
[INFO] [stdout] test instruments::future::tests::new_rejects_nan_convexity_adjustment ... ok
[INFO] [stdout] test instruments::future::tests::new_rejects_inf_convexity_adjustment ... ok
[INFO] [stdout] test instruments::future::tests::new_rejects_equal_dates ... ok
[INFO] [stdout] test instruments::future::tests::new_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::ois_swap::tests::fixed_and_float_legs_match_at_par ... ok
[INFO] [stdout] test instruments::ois_swap::tests::float_leg_telescopes_to_d_start_minus_d_maturity ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_propagates_irregular_schedule_error ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_scales_linearly_in_d_start ... ok
[INFO] [stdout] test instruments::future::tests::implied_discount_zero_convexity_matches_quoted_rate ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_rejects_equal_start_and_maturity ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_rejects_inf_rate ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_rejects_nan_rate ... ok
[INFO] [stdout] test instruments::ois_swap::tests::par_ois_rate_zeroes_residual_5y_annual ... ok
[INFO] [stdout] test instruments::ois_swap::tests::par_ois_rate_zeroes_residual_6m_once_at_maturity ... ok
[INFO] [stdout] test instruments::ois_swap::tests::pillar_is_maturity_date ... ok
[INFO] [stdout] test instruments::ois_swap::tests::residual_errors_on_empty_curve_snapshot ... ok
[INFO] [stdout] test instruments::future::tests::new_rejects_nan_price ... ok
[INFO] [stdout] test instruments::future::tests::quoted_rate_matches_price_definition ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_accepts_5y_annual_swap ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_accepts_6m_once_at_maturity ... ok
[INFO] [stdout] test instruments::ois_swap::tests::new_accepts_negative_rate ... ok
[INFO] [stdout] test instruments::ois_swap::tests::residual_linear_in_rate ... ok
[INFO] [stdout] test instruments::ois_swap::tests::residual_sign_responds_to_rate_perturbation ... ok
[INFO] [stdout] test instruments::ois_swap::tests::with_schedule_accepts_matching_schedule ... ok
[INFO] [stdout] test instruments::schedule::tests::equal_start_and_maturity_rejected ... ok
[INFO] [stdout] test instruments::schedule::tests::from_dates_accepts_strictly_increasing ... ok
[INFO] [stdout] test instruments::schedule::tests::is_empty_false_after_construction ... ok
[INFO] [stdout] test instruments::schedule::tests::once_at_maturity_single_period ... ok
[INFO] [stdout] test instruments::schedule::tests::regular_1y_annual_single_period ... ok
[INFO] [stdout] test instruments::schedule::tests::regular_2y_semi_annual_has_four_periods ... ok
[INFO] [stdout] test instruments::schedule::tests::regular_3y_quarterly_has_twelve_periods ... ok
[INFO] [stdout] test instruments::schedule::tests::regular_5y_monthly_has_sixty_periods ... ok
[INFO] [stdout] test instruments::schedule::tests::start_after_maturity_rejected ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::five_year_swap_residual_zero_at_par ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::fixed_leg_pv_errors_on_empty_snapshot ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::fixed_leg_pv_matches_manual_sum ... ok
[INFO] [stdout] test instruments::ois_swap::tests::with_schedule_rejects_mismatched_endpoints ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::float_leg_pv_errors_on_empty_snapshot ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::float_leg_pv_telescopes_to_two_discounts ... ok
[INFO] [stdout] test instruments::schedule::tests::from_dates_rejects_non_increasing ... ok
[INFO] [stdout] test instruments::schedule::tests::from_dates_rejects_short ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_rejects_equal_dates ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_rejects_inf_rate ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_rejects_irregular_term ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_rejects_nan_rate ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::par_rate_invariant_under_mixed_daycounts ... ok
[INFO] [stdout] test instruments::schedule::tests::irregular_schedule_rejected_at_regular_constructor ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::pillar_is_maturity ... ok
[INFO] [stdout] test instruments::ois_swap::tests::with_schedule_rejects_nan_rate ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::residual_is_zero_on_flat_curve_with_closed_form_par_rate ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::clone_and_eq_round_trip ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::debug_format_contains_struct_name ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::residual_sign_responds_to_rate_perturbation ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::with_schedules_rejects_inverted_dates ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::with_schedules_validates_alignment ... ok
[INFO] [stdout] test instruments::tests::curve_snapshot_discount_at_flat_extrapolation ... ok
[INFO] [stdout] test instruments::tests::curve_snapshot_discount_at_returns_none_on_mismatched_lengths ... ok
[INFO] [stdout] test instruments::tests::curve_snapshot_discount_at_log_linear_through_knots ... ok
[INFO] [stdout] test instruments::tests::curve_snapshot_discount_at_returns_none_on_empty ... ok
[INFO] [stdout] test instruments::tests::instrument_clone_eq ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_accepts_negative_rate ... ok
[INFO] [stdout] test instruments::tests::instrument_pillar_dispatches_to_variant ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test instruments::tests::instrument_debug_includes_variant ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::new_accepts_valid_2y_sa_q_swap ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::constant_values_produce_constant_output ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::deriv_matches_minus_f_times_y ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::flat_forward_extrapolation_outside_knot_range ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::forward_continuous_at_interior_knots ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::len_and_is_empty ... ok
[INFO] [stdout] test instruments::swap_fixed_float::tests::with_schedules_rejects_nan_rate ... ok
[INFO] [stdout] test instruments::tests::curve_snapshot_discount_at_returns_single_when_one_knot ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::random_monotone_discounts_yield_non_negative_forward ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::tf_quant_finance_yield_fixture_with_filter ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_zero_value ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::reproduces_linear_discount_factor_at_knots ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::segment_integrals_match_discrete_forwards ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::build_trait_method_returns_natural_default ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::c2_continuity_at_interior_knot ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::clamped_matches_specified_slopes_at_endpoints ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::deriv_finite_difference_cubic ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::deriv_zero_in_extrapolation_region ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::flat_extrapolation ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::knot_reproduction_clamped ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::knot_reproduction_not_a_knot ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::natural_has_zero_second_derivative_at_endpoints ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::not_a_knot_reproduces_cubic_exactly ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::not_a_knot_three_knots_reproduces_quadratic ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::rejects_negative_value ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::tf_quant_finance_forward_rate_fixture ... ok
[INFO] [stdout] test interpolation::convex_monotone::tests::two_knot_is_flat_forward ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_nan_clamped_first ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_nan_clamped_last ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::accepts_negative_value ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::c1_continuity_at_interior_knots ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::cubic_polynomial_well_approximated ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::deriv_consistent_with_finite_difference ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::deriv_zero_in_extrapolation_region ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::flat_extrapolation_in_value ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::linear_function_reproduced_exactly ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::parabola_reproduced_at_interior_midpoints ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::clamped_reproduces_cubic_with_exact_slopes ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::two_knot_spline_is_linear_natural ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_inf_value ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::knot_reproduction_natural ... ok
[INFO] [stdout] test interpolation::cubic_spline::tests::two_knot_spline_is_linear_not_a_knot ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::three_knot_case_reproduces_parabola_exactly ... ok
[INFO] [stdout] test interpolation::linear::tests::accepts_zero_value ... ok
[INFO] [stdout] test interpolation::linear::tests::deriv_at_knot_returns_right_slope ... ok
[INFO] [stdout] test interpolation::linear::tests::deriv_finite_difference_interior ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::slope_at_knot_out_of_range_is_none ... ok
[INFO] [stdout] test interpolation::linear::tests::deriv_matches_segment_slope ... ok
[INFO] [stdout] test interpolation::linear::tests::deriv_zero_in_extrapolation_region ... ok
[INFO] [stdout] test interpolation::linear::tests::evaluation_matches_closed_form ... ok
[INFO] [stdout] test interpolation::linear::tests::accepts_negative_value ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::linear::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::linear::tests::flat_extrapolation_left ... ok
[INFO] [stdout] test interpolation::linear::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::hermite_bessel::tests::two_knot_case_is_linear ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_inf_value ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::linear::tests::flat_extrapolation_right ... ok
[INFO] [stdout] test interpolation::linear::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::linear::tests::midpoint_in_segment_is_average ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::anchor_t_zero_extension ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::deriv_extrapolation_uses_flat_zero_rate ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::deriv_finite_difference_interior ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::flat_extrapolation_in_z_left ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::flat_extrapolation_in_z_right ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::linear::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::linear::tests::midpoint_identity ... ok
[INFO] [stdout] test interpolation::linear::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_anchor_not_unit_discount ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_negative_time ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_negative_value ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_zero_value ... ok
[INFO] [stdout] test interpolation::log_linear::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::log_linear::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::log_linear::tests::deriv_at_knot_returns_right_slope ... ok
[INFO] [stdout] test interpolation::log_linear::tests::deriv_finite_difference_interior ... ok
[INFO] [stdout] test interpolation::log_linear::tests::deriv_zero_in_extrapolation_region ... ok
[INFO] [stdout] test interpolation::log_linear::tests::flat_extrapolation_left ... ok
[INFO] [stdout] test interpolation::log_linear::tests::flat_extrapolation_right ... ok
[INFO] [stdout] test interpolation::log_linear::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::log_linear::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::log_linear::tests::midpoint_identity ... ok
[INFO] [stdout] test interpolation::log_linear::tests::midpoint_in_segment_log_average ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::midpoint_varying_zero_rate ... ok
[INFO] [stdout] test interpolation::log_linear::tests::monotone_decreasing_input_produces_monotone_output ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::monotone_decreasing_input_produces_positive_output ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::midpoint_constant_zero_rate ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::linear_in_zero::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_zero_value ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_negative_value ... ok
[INFO] [stdout] test interpolation::log_linear::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::flat_segment_yields_flat_interpolant ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::flat_extrapolation_both_sides ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::monotone_input_yields_monotone_output_thirty_sets ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_inf_value ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::non_monotone_input_zeros_slope_at_turning_point ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::c1_continuous_at_interior_knots ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::reproduces_linear_function ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rpn15a_monotone_on_fine_grid ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::filter_clamps_to_envelope_when_spline_overshoots ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::c1_continuous_at_interior_knots ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::flat_extrapolation_left_right ... ok
[INFO] [stdout] test interpolation::monotone_cubic::tests::two_knot_reduces_to_linear ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::plateau_stays_flat ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::non_monotone_input_zeros_slope_at_turning_point ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::reproduces_linear_function ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::monotone_input_yields_monotone_output_thirty_sets ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rejects_inf_value ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rpn15a_filter_strictly_below_one_at_eleven ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::rpn15a_monotone_on_fine_grid_and_discriminator ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::two_knot_reduces_to_linear ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::c1_continuity_at_interior_knots ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::deriv_finite_difference_interior ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::deriv_zero_in_extrapolation_region ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::flat_extrapolation_left_right ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::linear_data_is_reproduced_exactly ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::exponential_growth_preserves_monotonicity ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::plateau_stays_flat ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_inf_value ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_nan_time ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_nan_value ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::turning_point_zero_slope ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::two_knot_linear ... ok
[INFO] [stdout] test interpolation::monotone_hyman::tests::with_boundary_not_a_knot_runs ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::clone_yields_equivalent_interpolant ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::deriv_equals_minus_f_times_d ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::deriv_in_extrapolation_region_is_flat_forward ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::eval_first_segment_matches_exponential_formula ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::eval_matches_log_linear_on_same_knots_interior ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::eval_midsegment_matches_exponential_formula ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::forward_rate_flat_extrapolation ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::knot_reproduction_exact ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::len_and_is_empty ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::monotone_decreasing_input_produces_monotone_output ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_duplicate_times ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::build_trait_method_equivalent_to_new ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::deriv_finite_difference_interior ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::eval_extrapolation_extends_boundary_segment ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_empty ... ok
[INFO] [stdout] test interpolation::monotone_steffen::tests::monotonicity_preserved_on_random_monotone_data ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_nan_discount ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::forward_rate_segment_values ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_single_knot ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_zero_discount ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_convex_monotone ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_cubic_spline_natural ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_cubic_spline_not_a_knot ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_hermite_bessel ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_linear_in_zero ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_inf_time ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_log_linear ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_negative_discount ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_piecewise_constant_forward ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_non_monotone_times ... ok
[INFO] [stdout] test interpolation::tests::interpolation_debug_includes_variant ... ok
[INFO] [stdout] test interpolation::tests::interpolation_impl_clone_yields_equivalent_eval ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_monotone_cubic ... ok
[INFO] [stdout] test interpolation::tests::interpolation_impl_deriv_dispatches ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_monotone_hyman ... ok
[INFO] [stdout] test interpolation::tests::interpolation_log_linear_copy_eq ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_monotone_steffen ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_propagates_too_few_nodes ... ok
[INFO] [stdout] test interpolation::tests::trait_build_via_log_linear ... ok
[INFO] [stdout] test math::brent::tests::brent_endpoint_root_accepted ... ok
[INFO] [stdout] test interpolation::piecewise_constant_forward::tests::rejects_nan_time ... ok
[INFO] [stdout] test math::brent::tests::brent_endpoint_root_b ... ok
[INFO] [stdout] test interpolation::tests::interpolation_build_linear ... ok
[INFO] [stdout] test math::brent::tests::brent_finds_cubic_root ... ok
[INFO] [stdout] test math::brent::tests::brent_finds_dottie_number ... ok
[INFO] [stdout] test math::brent::tests::brent_finds_transcendental_root ... ok
[INFO] [stdout] test interpolation::tests::trait_default_deriv_is_none ... ok
[INFO] [stdout] test math::brent::tests::brent_config_copy_eq ... ok
[INFO] [stdout] test math::brent::tests::brent_config_default_values ... ok
[INFO] [stdout] test math::brent::tests::brent_finds_sqrt_two ... ok
[INFO] [stdout] test math::brent::tests::brent_strictly_monotonic_function ... ok
[INFO] [stdout] test math::brent::tests::brent_rejects_no_bracket ... ok
[INFO] [stdout] test math::brent::tests::brent_swapped_endpoints ... ok
[INFO] [stdout] test math::brent::tests::brent_respects_max_iter ... ok
[INFO] [stdout] test math::brent::tests::brent_tight_ftol ... ok
[INFO] [stdout] test math::brent::tests::brent_uses_secant_when_three_points_coincide ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_empty_rejected ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_identity_2x2 ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_random_5x5 ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_singular_matrix_rejected ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_cross_check_with_solve ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_3x3_known_inverse ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_dimension_mismatch_rejected ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_requires_pivoting ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_empty_rejected ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_rejects_non_spd ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_standard_3x3 ... ok
[INFO] [stdout] test math::tests::curve_error_from_math_error_singular ... ok
[INFO] [stdout] test math::tests::index_to_f64_large ... ok
[INFO] [stdout] test math::tests::math_error_copy_eq_hash ... ok
[INFO] [stdout] test math::tests::math_error_debug ... ok
[INFO] [stdout] test math::tests::math_error_display_all_variants ... ok
[INFO] [stdout] test math::tests::math_error_is_error_trait ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_3x3_known ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_4x4_diagonally_dominant ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_cross_check_with_dense_solve_6x6 ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_dimension_mismatch ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_empty_rejected ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_n1_trivial ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_n2_degenerate ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_singular_during_sweep ... ok
[INFO] [stdout] test math::tridiag::tests::thomas_zero_pivot_rejected ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_dimension_mismatch ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_rejects_zero_diagonal ... ok
[INFO] [stdout] test math::linear_solve::tests::solve_spd_identity_3x3 ... ok
[INFO] [stdout] test math::tests::curve_error_from_math_error_dim_mismatch ... ok
[INFO] [stdout] test math::tests::index_to_f64_basic ... ok
[INFO] [stdout] test multi_curve::tests::build_rejects_basis_swap_in_projection_instruments ... ok
[INFO] [stdout] test multi_curve::tests::build_rejects_empty_ois_instruments ... ok
[INFO] [stdout] test multi_curve::tests::build_rejects_projection_pillar_before_reference ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_bootstrap_debug_includes_struct_name ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_bootstrap_new_carries_defaults ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_cubic_spline_repricing ... ok
[INFO] [stdout] test multi_curve::tests::method_is_nonlocal_distinguishes_local_and_global ... ok
[INFO] [stdout] test multi_curve::tests::build_rejects_empty_projection_instrument_set ... ok
[INFO] [stdout] test multi_curve::tests::build_rejects_ois_swap_in_projection_instruments ... ok
[INFO] [stdout] test multi_curve::tests::build_rejects_projection_non_increasing_pillars ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_bootstrap_with_config_round_trip ... ok
[INFO] [stdout] test multi_curve::tests::basis_swap_residual_multi_curve_matches_independent_sum ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_debug_includes_struct_name ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_50bp_basis_vanilla_swap_repricing ... ok
[INFO] [stdout] test multi_curve::tests::multi_curve_par_swap_residual_zero_flat_curve ... ok
[INFO] [stdout] test types::tests::business_day_convention_debug_includes_variant ... ok
[INFO] [stdout] test types::tests::compounding_continuous_roundtrip ... ok
[INFO] [stdout] test multi_curve::tests::single_projection_tenor_flat_curve_matches_ois ... ok
[INFO] [stdout] test types::tests::compounding_rate_from_discount_rejects_negative_t ... ok
[INFO] [stdout] test types::tests::compounding_rate_from_discount_rejects_non_finite ... ok
[INFO] [stdout] test types::tests::compounding_rejects_negative_t ... ok
[INFO] [stdout] test multi_curve::tests::two_projection_curves_3m_and_6m_independent ... ok
[INFO] [stdout] test types::tests::compounding_rate_from_discount_rejects_zero_t_non_unit ... ok
[INFO] [stdout] test types::tests::compounding_rate_from_discount_rejects_non_positive_discount ... ok
[INFO] [stdout] test types::tests::compounding_rejects_zero_periods ... ok
[INFO] [stdout] test types::tests::compounding_rejects_non_finite_t ... ok
[INFO] [stdout] test types::tests::compounding_zero_time_discount_is_one ... ok
[INFO] [stdout] test types::tests::compounding_simple_roundtrip ... ok
[INFO] [stdout] test multi_curve::tests::ois_only_bootstrap_matches_single_curve ... ok
[INFO] [stdout] test multi_curve::tests::projection_curve_returns_some_for_present_tenor_and_none_otherwise ... ok
[INFO] [stdout] test types::tests::business_day_convention_copy_eq ... ok
[INFO] [stdout] test types::tests::compounding_periodic_roundtrip ... ok
[INFO] [stdout] test types::tests::compounding_zero_time_unit_discount_gives_zero_rate ... ok
[INFO] [stdout] test types::tests::date_invalid_month_rejected ... ok
[INFO] [stdout] test types::tests::date_leap_year_2000_has_366_days ... ok
[INFO] [stdout] test types::tests::date_leap_year_feb_29_2000 ... ok
[INFO] [stdout] test types::tests::date_non_leap_feb_29_1900_rejected ... ok
[INFO] [stdout] test types::tests::date_non_leap_feb_29_2100_rejected ... ok
[INFO] [stdout] test types::tests::date_add_days_signed ... ok
[INFO] [stdout] test types::tests::compounding_rejects_non_finite_rate ... ok
[INFO] [stdout] test types::tests::date_copy_eq_hash ... ok
[INFO] [stdout] test types::tests::date_ordering ... ok
[INFO] [stdout] test types::tests::date_invalid_day_rejected ... ok
[INFO] [stdout] test types::tests::date_roundtrip_representative_set ... ok
[INFO] [stdout] test types::tests::date_days_between_signed ... ok
[INFO] [stdout] test types::tests::date_epoch_is_serial_zero ... ok
[INFO] [stdout] test types::tests::date_roundtrip_serial_iter ... ok
[INFO] [stdout] test types::tests::date_from_serial_roundtrip ... ok
[INFO] [stdout] test types::tests::date_y2k ... ok
[INFO] [stdout] test types::tests::daycount_act360_isda_example ... ok
[INFO] [stdout] test types::tests::daycount_act365f_example ... ok
[INFO] [stdout] test types::tests::daycount_act_act_icma_quarterly ... ok
[INFO] [stdout] test types::tests::daycount_act_act_isda_cross_year ... ok
[INFO] [stdout] test types::tests::daycount_act_act_isda_single_year ... ok
[INFO] [stdout] test types::tests::daycount_act_act_isda_multi_year ... ok
[INFO] [stdout] test types::tests::daycount_act_act_isda_single_year_non_leap ... ok
[INFO] [stdout] test types::tests::daycount_business252_rejected ... ok
[INFO] [stdout] test types::tests::date_year_2400_is_leap ... ok
[INFO] [stdout] test types::tests::daycount_thirty_360_bb_d1_is_31 ... ok
[INFO] [stdout] test types::tests::date_year_1900_has_365_days ... ok
[INFO] [stdout] test types::tests::date_year_2100_has_365_days ... ok
[INFO] [stdout] test types::tests::daycount_thirty_360_e_clip ... ok
[INFO] [stdout] test types::tests::daycount_act_act_icma_zero_freq_rejected ... ok
[INFO] [stdout] test types::tests::daycount_thirty_360_bb_d2_is_31_d1_not_30 ... ok
[INFO] [stdout] test types::tests::daycount_thirty_360_bb_isda_example ... ok
[INFO] [stdout] test types::tests::daycount_thirty_360_e ... ok
[INFO] [stdout] test types::tests::tenor_constructor_fields ... ok
[INFO] [stdout] test types::tests::tenor_days ... ok
[INFO] [stdout] test types::tests::tenor_months_cross_year_back ... ok
[INFO] [stdout] test types::tests::daycount_zero_range_ok ... ok
[INFO] [stdout] test types::tests::tenor_months_end_of_month ... ok
[INFO] [stdout] test types::tests::tenor_months_non_leap ... ok
[INFO] [stdout] test types::tests::tenor_years ... ok
[INFO] [stdout] test types::tests::frequency_copy_eq ... ok
[INFO] [stdout] test types::tests::daycount_copy_eq ... ok
[INFO] [stdout] test types::tests::frequency_periods_per_year ... ok
[INFO] [stdout] test types::tests::daycount_negative_range_rejected ... ok
[INFO] [stdout] test types::tests::tenor_unit_copy_eq ... ok
[INFO] [stdout] test types::tests::tenor_weeks ... ok
[INFO] [stdout] test types::tests::tenor_years_leap_day ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 629 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-e4d02bfe3ed8c76f)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test arbitrage::flat_positive_rate_curve_has_positive_forward_and_decreasing_discount ... ok
[INFO] [stdout] test arbitrage::monotone_input_produces_monotone_curve ... ok
[INFO] [stdout] test arbitrage::bootstrapped_curve_has_positive_discounts ... ok
[INFO] [stdout] test golden::deposit_pricing_on_flat_curve_is_exact ... ok
[INFO] [stdout] test arbitrage::multi_curve_equals_single_when_projection_equals_ois ... ok
[INFO] [stdout] test golden::act_act_isda_and_icma_worked_examples ... ok
[INFO] [stdout] test golden::thirty_360_bond_basis_worked_examples ... ok
[INFO] [stdout] test golden::par_swap_flat_4pct_matches_closed_form ... ok
[INFO] [stdout] test golden::continuous_compounding_round_trip_exact ... ok
[INFO] [stdout] test golden::brent_polynomial_oracle ... ok
[INFO] [stdout] test golden::thirty_360_eurobond_vs_bond_basis_discriminator ... ok
[INFO] [stdout] test multi_curve_e2e::multi_curve_projection_eq_ois_matches_single_curve ... ok
[INFO] [stdout] test oracle::bond_par_pricing_on_flat_curve_is_exact ... ok
[INFO] [stdout] test oracle::quantlib_test_log_linear_discount_consistency_repricing ... ok
[INFO] [stdout] test oracle::hyman_rpn15a_monotonicity_and_discriminator ... ok
[INFO] [stdout] test multi_curve_e2e::ois_plus_3m_projection_repricing_certificate ... ok
[INFO] [stdout] test oracle::steffen_monotonicity_on_synthetic_monotone_set ... ok
[INFO] [stdout] test oracle::tf_quant_finance_bond_curve_oracle ... ok
[INFO] [stdout] test roundtrip::discount_forward_consistency_on_segments ... ok
[INFO] [stdout] test roundtrip::date_ymd_round_trip_on_representative_dates ... ok
[INFO] [stdout] test roundtrip::log_linear_knot_reproduction_exact ... ok
[INFO] [stdout] test roundtrip::bootstrap_repricing_certificate ... ok
[INFO] [stdout] test roundtrip::tenor_round_trip_consistency ... ok
[INFO] [stdout] test roundtrip::par_curve_view_round_trips_to_discount_curve ... ok
[INFO] [stdout] test roundtrip::discount_zero_round_trip_at_nodes_exact ... ok
[INFO] [stdout] test properties::prop_compounding_roundtrip ... ok
[INFO] [stdout] test properties::prop_date_serial_roundtrip ... ok
[INFO] [stdout] test properties::prop_log_linear_monotonicity ... ok
[INFO] [stderr]    Doc-tests regit_curves
[INFO] [stdout] test properties::prop_bootstrap_never_panics ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 135 tests
[INFO] [stdout] test src/bootstrap.rs - bootstrap::Bootstrap::new (line 170) ... ok
[INFO] [stdout] test src/bootstrap.rs - bootstrap::BootstrapConfig (line 73) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::discount (line 341) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::from_times_and_discounts (line 214) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::instantaneous_forward (line 468) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::new (line 120) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::par_swap_rate (line 614) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::zero_rate (line 414) ... ok
[INFO] [stdout] test src/curves/forward.rs - curves::forward::ForwardCurve (line 32) ... ok
[INFO] [stdout] test src/curves/forward.rs - curves::forward::ForwardCurve<'a>::forward (line 133) ... ok
[INFO] [stdout] test src/curves/forward.rs - curves::forward::ForwardCurve<'a>::from (line 60) ... ok
[INFO] [stdout] test src/curves/par.rs - curves::par::ParCurve (line 41) ... ok
[INFO] [stdout] test src/curves/par.rs - curves::par::ParCurve<'a>::from (line 84) ... ok
[INFO] [stdout] test src/curves/par.rs - curves::par::ParCurve<'a>::par_rate (line 120) ... ok
[INFO] [stdout] test src/curves/par.rs - curves::par::ParCurve<'a>::par_rate_from_anchor (line 175) ... ok
[INFO] [stdout] test src/curves/forward.rs - curves::forward::ForwardCurve<'a>::instantaneous (line 94) ... ok
[INFO] [stdout] test src/curves/zero.rs - curves::zero::ZeroCurve<'a>::compounding (line 95) ... ok
[INFO] [stdout] test src/curves/zero.rs - curves::zero::ZeroCurve (line 39) ... ok
[INFO] [stdout] test src/curves/zero.rs - curves::zero::ZeroCurve<'a>::discount (line 197) ... ok
[INFO] [stdout] test src/curves/zero.rs - curves::zero::ZeroCurve<'a>::rate (line 129) ... ok
[INFO] [stdout] test src/curves/zero.rs - curves::zero::ZeroCurve<'a>::from (line 68) ... ok
[INFO] [stdout] test src/errors.rs - errors::BootstrapError (line 192) ... ok
[INFO] [stdout] test src/curves/zero.rs - curves::zero::ZeroCurve<'a>::rate_at (line 161) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve (line 57) ... ok
[INFO] [stdout] test src/bootstrap.rs - bootstrap::Bootstrap (line 126) ... ok
[INFO] [stdout] test src/bootstrap.rs - bootstrap::Bootstrap::build (line 235) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisLeg::float_pv_single_curve (line 278) ... ignored
[INFO] [stdout] test src/bootstrap.rs - bootstrap::Bootstrap::with_config (line 192) ... ok
[INFO] [stdout] test src/errors.rs - errors::CurveError (line 103) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisLeg::annuity (line 334) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisLeg (line 95) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisLeg::new (line 200) ... ok
[INFO] [stdout] test src/errors.rs - errors::TypeError (line 41) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisSwap::new (line 393) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::discount_at (line 377) ... ok
[INFO] [stdout] test src/curves/discount.rs - curves::discount::DiscountCurve::forward_rate (line 543) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisSwap::single_curve_residual (line 493) ... ok
[INFO] [stdout] test src/instruments/bond.rs - instruments::bond::Bond (line 82) ... ok
[INFO] [stdout] test src/instruments/bond.rs - instruments::bond::Bond::with_schedule (line 221) ... ok
[INFO] [stdout] test src/instruments/bond.rs - instruments::bond::Bond::principal_pv (line 384) ... ok
[INFO] [stdout] test src/instruments/deposit.rs - instruments::deposit::Deposit::new (line 100) ... ok
[INFO] [stdout] test src/instruments/deposit.rs - instruments::deposit::Deposit::year_fraction_to_maturity (line 151) ... ok
[INFO] [stdout] test src/instruments/deposit.rs - instruments::deposit::Deposit::accrual (line 177) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisSwap::pillar (line 439) ... ok
[INFO] [stdout] test src/instruments/deposit.rs - instruments::deposit::Deposit::implied_discount (line 206) ... ok
[INFO] [stdout] test src/instruments/bond.rs - instruments::bond::Bond::coupon_pv (line 328) ... ok
[INFO] [stdout] test src/instruments/bond.rs - instruments::bond::Bond::new (line 153) ... ok
[INFO] [stdout] test src/instruments/future.rs - instruments::future::Future (line 77) ... ok
[INFO] [stdout] test src/instruments/future.rs - instruments::future::Future::accrual (line 234) ... ok
[INFO] [stdout] test src/instruments/fra.rs - instruments::fra::Fra (line 65) ... ok
[INFO] [stdout] test src/instruments/basis_swap.rs - instruments::basis_swap::BasisSwap (line 153) ... ok
[INFO] [stdout] test src/instruments/deposit.rs - instruments::deposit::Deposit (line 57) ... ok
[INFO] [stdout] test src/instruments/fra.rs - instruments::fra::Fra::accrual (line 165) ... ok
[INFO] [stdout] test src/instruments/mod.rs - instruments::Instrument (line 54) ... ok
[INFO] [stdout] test src/instruments/future.rs - instruments::future::Future::implied_forward_rate (line 206) ... ok
[INFO] [stdout] test src/instruments/future.rs - instruments::future::Future::implied_discount (line 266) ... ok
[INFO] [stdout] test src/instruments/fra.rs - instruments::fra::Fra::new (line 108) ... ok
[INFO] [stdout] test src/instruments/future.rs - instruments::future::Future::new (line 126) ... ok
[INFO] [stdout] test src/instruments/fra.rs - instruments::fra::Fra::implied_discount (line 194) ... ok
[INFO] [stdout] test src/instruments/mod.rs - instruments::Instrument::pillar (line 88) ... ok
[INFO] [stdout] test src/instruments/ois_swap.rs - instruments::ois_swap::OisSwap (line 78) ... ok
[INFO] [stdout] test src/instruments/ois_swap.rs - instruments::ois_swap::OisSwap::new (line 126) ... ok
[INFO] [stdout] test src/instruments/swap_fixed_float.rs - instruments::swap_fixed_float::SwapFixedFloat (line 73) ... ok
[INFO] [stdout] test src/instruments/ois_swap.rs - instruments::ois_swap::OisSwap::with_schedule (line 190) ... ok
[INFO] [stdout] test src/instruments/ois_swap.rs - instruments::ois_swap::OisSwap::fixed_leg_pv (line 256) ... ok
[INFO] [stdout] test src/instruments/schedule.rs - instruments::schedule::SwapSchedule (line 42) ... ok
[INFO] [stdout] test src/instruments/schedule.rs - instruments::schedule::SwapSchedule::from_dates (line 162) ... ok
[INFO] [stdout] test src/instruments/schedule.rs - instruments::schedule::SwapSchedule::from_regular (line 81) ... ok
[INFO] [stdout] test src/instruments/future.rs - instruments::future::Future::quoted_rate (line 183) ... ok
[INFO] [stdout] test src/instruments/ois_swap.rs - instruments::ois_swap::OisSwap::float_leg_pv (line 314) ... ok
[INFO] [stdout] test src/interpolation/convex_monotone.rs - interpolation::convex_monotone::ConvexMonotone::new (line 263) ... ok
[INFO] [stdout] test src/instruments/swap_fixed_float.rs - instruments::swap_fixed_float::SwapFixedFloat::new (line 134) ... ok
[INFO] [stdout] test src/instruments/swap_fixed_float.rs - instruments::swap_fixed_float::SwapFixedFloat::float_leg_pv_single_curve (line 376) ... ok
[INFO] [stdout] test src/interpolation/cubic_spline.rs - interpolation::cubic_spline::CubicSpline::new (line 200) ... ok
[INFO] [stdout] test src/instruments/swap_fixed_float.rs - instruments::swap_fixed_float::SwapFixedFloat::with_schedules (line 221) ... ok
[INFO] [stdout] test src/interpolation/cubic_spline.rs - interpolation::cubic_spline::CubicSpline (line 146) ... ok
[INFO] [stdout] test src/interpolation/convex_monotone.rs - interpolation::convex_monotone::ConvexMonotone (line 188) ... ok
[INFO] [stdout] test src/interpolation/linear_in_zero.rs - interpolation::linear_in_zero::LinearInZero (line 76) ... ok
[INFO] [stdout] test src/interpolation/linear.rs - interpolation::linear::Linear::new (line 118) ... ok
[INFO] [stdout] test src/interpolation/linear_in_zero.rs - interpolation::linear_in_zero::LinearInZero::new (line 131) ... ok
[INFO] [stdout] test src/interpolation/log_linear.rs - interpolation::log_linear::LogLinear (line 73) ... ok
[INFO] [stdout] test src/interpolation/convex_monotone.rs - interpolation::convex_monotone::ConvexMonotone::forward_at (line 366) ... ok
[INFO] [stdout] test src/instruments/swap_fixed_float.rs - instruments::swap_fixed_float::SwapFixedFloat::fixed_leg_pv (line 312) ... ok
[INFO] [stdout] test src/interpolation/mod.rs - interpolation::InterpolationImpl (line 224) ... ok
[INFO] [stdout] test src/interpolation/log_linear.rs - interpolation::log_linear::LogLinear::new (line 113) ... ok
[INFO] [stdout] test src/interpolation/hermite_bessel.rs - interpolation::hermite_bessel::HermiteBessel (line 104) ... ok
[INFO] [stdout] test src/interpolation/cubic_spline.rs - interpolation::cubic_spline::SplineBoundary (line 105) ... ok
[INFO] [stdout] test src/interpolation/hermite_bessel.rs - interpolation::hermite_bessel::HermiteBessel::new (line 152) ... ok
[INFO] [stdout] test src/interpolation/linear.rs - interpolation::linear::Linear (line 71) ... ok
[INFO] [stdout] test src/interpolation/monotone_hyman.rs - interpolation::monotone_hyman::MonotoneHyman (line 141) ... ok
[INFO] [stdout] test src/interpolation/mod.rs - interpolation::Interpolation (line 117) ... ok
[INFO] [stdout] test src/interpolation/monotone_cubic.rs - interpolation::monotone_cubic::MonotoneCubic (line 134) ... ok
[INFO] [stdout] test src/interpolation/monotone_steffen.rs - interpolation::monotone_steffen::MonotoneSteffen (line 139) ... ok
[INFO] [stdout] test src/interpolation/monotone_hyman.rs - interpolation::monotone_hyman::MonotoneHyman::with_boundary (line 228) ... ok
[INFO] [stdout] test src/interpolation/mod.rs - interpolation::InterpolationImpl::eval (line 262) ... ok
[INFO] [stdout] test src/interpolation/mod.rs - interpolation::Interpolator (line 71) ... ok
[INFO] [stdout] test src/interpolation/monotone_cubic.rs - interpolation::monotone_cubic::MonotoneCubic::new (line 184) ... ok
[INFO] [stdout] test src/interpolation/monotone_hyman.rs - interpolation::monotone_hyman::MonotoneHyman::new (line 197) ... ok
[INFO] [stdout] test src/interpolation/piecewise_constant_forward.rs - interpolation::piecewise_constant_forward::PiecewiseConstantForward::is_empty (line 214) ... ok
[INFO] [stdout] test src/interpolation/piecewise_constant_forward.rs - interpolation::piecewise_constant_forward::PiecewiseConstantForward::forward_rate (line 237) ... ok
[INFO] [stdout] test src/interpolation/piecewise_constant_forward.rs - interpolation::piecewise_constant_forward::PiecewiseConstantForward (line 91) ... ok
[INFO] [stdout] test src/interpolation/mod.rs - interpolation::InterpolationImpl::deriv (line 293) ... ok
[INFO] [stdout] test src/math/linear_solve.rs - math::linear_solve::solve_spd (line 138) ... ok
[INFO] [stdout] test src/interpolation/piecewise_constant_forward.rs - interpolation::piecewise_constant_forward::PiecewiseConstantForward::new (line 143) ... ok
[INFO] [stdout] test src/math/mod.rs - math::MathError (line 54) ... ok
[INFO] [stdout] test src/math/tridiag.rs - math::tridiag::thomas (line 59) ... ok
[INFO] [stdout] test src/math/mod.rs - math::index_to_f64 (line 120) ... ok
[INFO] [stdout] test src/math/brent.rs - math::brent::BrentConfig (line 38) ... ok
[INFO] [stdout] test src/interpolation/monotone_steffen.rs - interpolation::monotone_steffen::MonotoneSteffen::new (line 191) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurve::projection_curve (line 632) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurve (line 565) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurveBootstrap::new (line 143) ... ok
[INFO] [stdout] test src/math/linear_solve.rs - math::linear_solve::solve (line 46) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurve::discount_curve (line 598) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurveBootstrap::build (line 218) ... ok
[INFO] [stdout] test src/types.rs - types::Date::add_days (line 184) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurveBootstrap (line 116) ... ok
[INFO] [stdout] test src/types.rs - types::Date (line 55) ... ok
[INFO] [stdout] test src/types.rs - types::Compounding::discount_from_rate (line 608) ... ok
[INFO] [stdout] test src/multi_curve.rs - multi_curve::MultiCurveBootstrap::with_config (line 164) ... ok
[INFO] [stdout] test src/types.rs - types::Compounding::rate_from_discount (line 658) ... ok
[INFO] [stdout] test src/types.rs - types::Date::from_serial (line 107) ... ok
[INFO] [stdout] test src/types.rs - types::Date::year (line 142) ... ok
[INFO] [stdout] test src/math/brent.rs - math::brent::brent_root (line 82) ... ok
[INFO] [stdout] test src/types.rs - types::Daycount::year_fraction (line 457) ... ok
[INFO] [stdout] test src/types.rs - types::Frequency::periods_per_year (line 726) ... ok
[INFO] [stdout] test src/types.rs - types::Tenor::add_to (line 348) ... ok
[INFO] [stdout] test src/types.rs - types::Date::serial (line 126) ... ok
[INFO] [stdout] test src/types.rs - types::Date::month (line 156) ... ok
[INFO] [stdout] test src/types.rs - types::Tenor (line 303) ... ok
[INFO] [stdout] test src/interpolation/mod.rs - interpolation::Interpolation::build (line 176) ... ok
[INFO] [stdout] test src/types.rs - types::Tenor::new (line 325) ... ok
[INFO] [stdout] test src/types.rs - types::Date::from_ymd (line 84) ... ok
[INFO] [stdout] test src/types.rs - types::Date::day (line 170) ... ok
[INFO] [stdout] test src/types.rs - types::Date::days_between (line 202) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 134 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.56s; merged doctests compilation took 1.20s
[INFO] running `Command { std: "docker" "inspect" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc", kill_on_drop: false }`
[INFO] [stdout] b83b794722eb3d3d9a3016a4e01f6130144e77b07f169776141bc9bbecf721bc
