[INFO] fetching crate nanobook 0.9.2... [INFO] testing nanobook-0.9.2 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate nanobook 0.9.2 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate nanobook 0.9.2 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate nanobook 0.9.2 [INFO] tweaked toml for crates.io crate nanobook 0.9.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate nanobook 0.9.2 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate nanobook 0.9.2 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f60274c3ca732838eb02ee87ac21738f52075430d9cc088e54a98e418db21f17 [INFO] running `Command { std: "docker" "start" "-a" "f60274c3ca732838eb02ee87ac21738f52075430d9cc088e54a98e418db21f17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f60274c3ca732838eb02ee87ac21738f52075430d9cc088e54a98e418db21f17", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f60274c3ca732838eb02ee87ac21738f52075430d9cc088e54a98e418db21f17", kill_on_drop: false }` [INFO] [stdout] f60274c3ca732838eb02ee87ac21738f52075430d9cc088e54a98e418db21f17 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 44ec61817bb93032c401c88556d90ee37a8126816e0a29d4d51be660b83500d6 [INFO] running `Command { std: "docker" "start" "-a" "44ec61817bb93032c401c88556d90ee37a8126816e0a29d4d51be660b83500d6", kill_on_drop: false }` [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling nanobook v0.9.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.12s [INFO] running `Command { std: "docker" "inspect" "44ec61817bb93032c401c88556d90ee37a8126816e0a29d4d51be660b83500d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "44ec61817bb93032c401c88556d90ee37a8126816e0a29d4d51be660b83500d6", kill_on_drop: false }` [INFO] [stdout] 44ec61817bb93032c401c88556d90ee37a8126816e0a29d4d51be660b83500d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7565a38949be922cb474320e49c34fd494fc0f13891185f62bdf5d0e9e40d33 [INFO] running `Command { std: "docker" "start" "-a" "a7565a38949be922cb474320e49c34fd494fc0f13891185f62bdf5d0e9e40d33", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling zmij v1.0.19 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling nanobook v0.9.2 (/opt/rustwide/workdir) [INFO] [stderr] Compiling serde 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 ciborium v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 28.82s [INFO] running `Command { std: "docker" "inspect" "a7565a38949be922cb474320e49c34fd494fc0f13891185f62bdf5d0e9e40d33", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7565a38949be922cb474320e49c34fd494fc0f13891185f62bdf5d0e9e40d33", kill_on_drop: false }` [INFO] [stdout] a7565a38949be922cb474320e49c34fd494fc0f13891185f62bdf5d0e9e40d33 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8d8441522dfd8afbc288866e3ef2d63307d548e0656ceb9202c1df0ac939e712 [INFO] running `Command { std: "docker" "start" "-a" "8d8441522dfd8afbc288866e3ef2d63307d548e0656ceb9202c1df0ac939e712", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nanobook-268f0e4b4e9e34b8) [INFO] [stdout] [INFO] [stdout] running 234 tests [INFO] [stdout] test book::tests::add_and_get_order ... ok [INFO] [stdout] test book::tests::add_order_updates_best_prices ... ok [INFO] [stdout] test book::tests::cancel_already_cancelled ... ok [INFO] [stdout] test book::tests::clear_history_removes_inactive_orders ... ok [INFO] [stdout] test book::tests::cancel_order ... ok [INFO] [stdout] test book::tests::get_order_mut ... ok [INFO] [stdout] test book::tests::is_crossed ... ok [INFO] [stdout] test book::tests::multiple_orders_same_price ... ok [INFO] [stdout] test book::tests::id_generation_is_monotonic ... ok [INFO] [stdout] test book::tests::opposite_side ... ok [INFO] [stdout] test book::tests::multiple_price_levels ... ok [INFO] [stdout] test book::tests::cancel_nonexistent_order ... ok [INFO] [stdout] test book::tests::spread_calculation ... ok [INFO] [stdout] test cv::tests::basic_split ... ok [INFO] [stdout] test cv::tests::expanding_window ... ok [INFO] [stdout] test cv::tests::no_overlap ... ok [INFO] [stdout] test cv::tests::zero_splits ... ok [INFO] [stdout] test cv::tests::single_split ... ok [INFO] [stdout] test error::tests::display ... ok [INFO] [stdout] test event::tests::apply_all ... ok [INFO] [stdout] test event::tests::apply_cancel ... ok [INFO] [stdout] test event::tests::apply_modify ... ok [INFO] [stdout] test event::tests::clear_events ... ok [INFO] [stdout] test event::tests::events_are_equal ... ok [INFO] [stdout] test event::tests::apply_submit_with_trade ... ok [INFO] [stdout] test event::tests::event_constructors ... ok [INFO] [stdout] test event::tests::replay_complex_scenario ... ok [INFO] [stdout] test event::tests::replay_produces_identical_state ... ok [INFO] [stdout] test book::tests::peek_order_id_does_not_consume ... ok [INFO] [stdout] test book::tests::new_book_is_empty ... ok [INFO] [stdout] test event::tests::apply_submit_limit ... ok [INFO] [stdout] test cv::tests::large_dataset ... ok [INFO] [stdout] test event::tests::replay_with_cancels ... ok [INFO] [stdout] test cv::tests::too_few_samples ... ok [INFO] [stdout] test event::tests::replay_with_modifies ... ok [INFO] [stdout] test error::tests::is_error ... ok [INFO] [stdout] test exchange::tests::cancel_already_filled ... ok [INFO] [stdout] test exchange::tests::cancel_nonexistent ... ok [INFO] [stdout] test exchange::tests::modify_order ... ok [INFO] [stdout] test exchange::tests::cancel_order ... ok [INFO] [stdout] test exchange::tests::immediate_trigger_if_price_already_past ... ok [INFO] [stdout] test exchange::tests::modify_nonexistent ... ok [INFO] [stdout] test exchange::tests::depth_snapshot ... ok [INFO] [stdout] test event::tests::replay_with_stop_orders ... ok [INFO] [stdout] test exchange::tests::cancel_stop_order ... ok [INFO] [stdout] test exchange::tests::modify_with_immediate_fill ... ok [INFO] [stdout] test exchange::tests::sell_stop_triggers_on_price_drop ... ok [INFO] [stdout] test exchange::tests::cancel_trailing_stop ... ok [INFO] [stdout] test exchange::tests::modify_zero_quantity ... ok [INFO] [stdout] test exchange::tests::submit_fok_rejected_insufficient_liquidity ... ok [INFO] [stdout] test exchange::tests::stop_market_triggers_on_trade ... ok [INFO] [stdout] test exchange::tests::submit_ioc_no_fill ... ok [INFO] [stdout] test exchange::tests::submit_fok_full_fill ... ok [INFO] [stdout] test exchange::tests::stop_cascade ... ok [INFO] [stdout] test exchange::tests::submit_ioc_full_fill ... ok [INFO] [stdout] test exchange::tests::stop_limit_triggers_with_limit_price ... ok [INFO] [stdout] test exchange::tests::submit_ioc_partial_fill ... ok [INFO] [stdout] test exchange::tests::submit_limit_full_fill ... ok [INFO] [stdout] test exchange::tests::submit_limit_no_match ... ok [INFO] [stdout] test exchange::tests::submit_limit_partial_fill_gtc ... ok [INFO] [stdout] test exchange::tests::submit_market_full_fill ... ok [INFO] [stdout] test exchange::tests::submit_fok_rejected_no_liquidity ... ok [INFO] [stdout] test exchange::tests::submit_market_partial_fill ... ok [INFO] [stdout] test exchange::tests::submit_stop_market_pending ... ok [INFO] [stdout] test exchange::tests::trades_are_recorded ... ok [INFO] [stdout] test exchange::tests::trailing_stop_does_not_trigger_immediately ... ok [INFO] [stdout] test exchange::tests::trailing_stop_market_sell ... ok [INFO] [stdout] test exchange::tests::trailing_stop_percentage_method ... ok [INFO] [stdout] test exchange::tests::trailing_stop_triggers_on_reversal ... ok [INFO] [stdout] test exchange::tests::try_submit_limit_negative_price ... ok [INFO] [stdout] test exchange::tests::try_submit_limit_valid ... ok [INFO] [stdout] test exchange::tests::try_submit_limit_zero_price ... ok [INFO] [stdout] test exchange::tests::submit_market_no_liquidity ... ok [INFO] [stdout] test exchange::tests::try_submit_limit_zero_quantity ... ok [INFO] [stdout] test exchange::tests::try_submit_market_valid ... ok [INFO] [stdout] test exchange::tests::try_submit_market_zero_quantity ... ok [INFO] [stdout] test garch::tests::forecast_handles_constant_mean_mode ... ok [INFO] [stdout] test garch::tests::forecast_is_finite_on_valid_input ... ok [INFO] [stdout] test garch::tests::invalid_input_falls_back ... ok [INFO] [stdout] test indicators::tests::atr_basic ... ok [INFO] [stdout] test indicators::tests::atr_lookback_nan ... ok [INFO] [stdout] test indicators::tests::bbands_basic ... ok [INFO] [stdout] test indicators::tests::bbands_constant_price ... ok [INFO] [stdout] test indicators::tests::insufficient_data ... ok [INFO] [stdout] test indicators::tests::macd_basic ... ok [INFO] [stdout] test indicators::tests::rsi_bounds ... ok [INFO] [stdout] test garch::tests::short_series_is_stable ... ok [INFO] [stdout] test indicators::tests::rsi_lookback_nan ... ok [INFO] [stdout] test level::tests::decrease_quantity_for_partial_fill ... ok [INFO] [stdout] test indicators::tests::rsi_monotonic_up ... ok [INFO] [stdout] test level::tests::new_level_is_empty ... ok [INFO] [stdout] test level::tests::front_skips_tombstones ... ok [INFO] [stdout] test garch::tests::qtrade_reference_fixture_targets ... ok [INFO] [stdout] test level::tests::iter_returns_fifo_order ... ok [INFO] [stdout] test level::tests::pop_front_fifo_order ... ok [INFO] [stdout] test level::tests::quantity_saturates_on_underflow ... ok [INFO] [stdout] test level::tests::push_back_adds_orders ... ok [INFO] [stdout] test level::tests::remove_from_front ... ok [INFO] [stdout] test level::tests::remove_from_back ... ok [INFO] [stdout] test indicators::tests::rsi_constant_price ... ok [INFO] [stdout] test indicators::tests::empty_input ... ok [INFO] [stdout] test indicators::tests::rsi_monotonic_down ... ok [INFO] [stdout] test book::tests::add_duplicate_order_panics - should panic ... ok [INFO] [stdout] test level::tests::tombstone_compaction ... ok [INFO] [stdout] test level::tests::remove_from_middle ... ok [INFO] [stdout] test level::tests::remove_nonexistent_returns_false ... ok [INFO] [stdout] test level::tests::tombstone_marking ... ok [INFO] [stdout] test matching::tests::fifo_same_price ... ok [INFO] [stdout] test matching::tests::available_to_fill ... ok [INFO] [stdout] test matching::tests::full_fill_exact_quantity ... ok [INFO] [stdout] test matching::tests::can_fully_fill ... ok [INFO] [stdout] test matching::tests::full_fill_incoming_smaller ... ok [INFO] [stdout] test matching::tests::match_clears_multiple_levels ... ok [INFO] [stdout] test matching::tests::no_match_empty_book ... ok [INFO] [stdout] test matching::tests::no_match_prices_dont_cross ... ok [INFO] [stdout] test matching::tests::price_improvement_for_buyer ... ok [INFO] [stdout] test matching::tests::partial_fill_incoming_larger ... ok [INFO] [stdout] test matching::tests::price_priority_buy_sweeps_asks ... ok [INFO] [stdout] test matching::tests::price_improvement_for_seller ... ok [INFO] [stdout] test matching::tests::price_priority_sell_sweeps_bids ... ok [INFO] [stdout] test matching::tests::timestamps_are_sequential ... ok [INFO] [stdout] test multi_exchange::tests::create_and_query ... ok [INFO] [stdout] test matching::tests::trade_ids_are_sequential ... ok [INFO] [stdout] test matching::tests::incoming_order_state_after_full_fill ... ok [INFO] [stdout] test matching::tests::incoming_order_state_after_partial_fill ... ok [INFO] [stdout] test multi_exchange::tests::independent_books ... ok [INFO] [stdout] test multi_exchange::tests::symbols_iter ... ok [INFO] [stdout] test optimize::tests::cdar_weights_are_valid ... ok [INFO] [stdout] test multi_exchange::tests::multiple_symbols ... ok [INFO] [stdout] test optimize::tests::cvar_weights_are_valid ... ok [INFO] [stdout] test optimize::tests::invalid_matrix_returns_empty ... ok [INFO] [stdout] test order::tests::cancel_partially_filled_order ... ok [INFO] [stdout] test optimize::tests::min_variance_weights_are_valid ... ok [INFO] [stdout] test optimize::tests::max_sharpe_weights_are_valid ... ok [INFO] [stdout] test order::tests::order_status_is_active ... ok [INFO] [stdout] test order::tests::order_status_is_terminal ... ok [INFO] [stdout] test order::tests::multiple_partial_fills ... ok [INFO] [stdout] test order::tests::new_order_initial_state ... ok [INFO] [stdout] test order::tests::fill_exceeds_remaining_panics - should panic ... ok [INFO] [stdout] test optimize::tests::risk_parity_weights_are_valid ... ok [INFO] [stdout] test price_levels::tests::asks_best_is_lowest ... ok [INFO] [stdout] test order::tests::cancel_new_order ... ok [INFO] [stdout] test order::tests::partial_fill ... ok [INFO] [stdout] test order::tests::cancel_filled_order_panics - should panic ... ok [INFO] [stdout] test order::tests::cancel_already_cancelled_panics - should panic ... ok [INFO] [stdout] test price_levels::tests::best_level_mut_allows_modification ... ok [INFO] [stdout] test price_levels::tests::asks_remove_best_updates_cache ... ok [INFO] [stdout] test price_levels::tests::insert_multiple_orders_same_price ... ok [INFO] [stdout] test price_levels::tests::bids_best_is_highest ... ok [INFO] [stdout] test price_levels::tests::bids_remove_best_updates_cache ... ok [INFO] [stdout] test price_levels::tests::new_asks_is_empty ... ok [INFO] [stdout] test price_levels::tests::iter_bids_best_to_worst ... ok [INFO] [stdout] test price_levels::tests::quantity_at_or_better_asks ... ok [INFO] [stdout] test price_levels::tests::quantity_at_or_better_bids ... ok [INFO] [stdout] test price_levels::tests::new_bids_is_empty ... ok [INFO] [stdout] test price_levels::tests::total_quantity ... ok [INFO] [stdout] test price_levels::tests::iter_asks_best_to_worst ... ok [INFO] [stdout] test price_levels::tests::remove_nonexistent_order ... ok [INFO] [stdout] test side::tests::opposite_is_involution ... ok [INFO] [stdout] test price_levels::tests::pop_best_level ... ok [INFO] [stdout] test side::tests::display ... ok [INFO] [stdout] test snapshot::tests::full_snapshot ... ok [INFO] [stdout] test side::tests::opposite ... ok [INFO] [stdout] test snapshot::tests::imbalance_balanced ... ok [INFO] [stdout] test price_levels::tests::remove_order_removes_empty_level ... ok [INFO] [stdout] test price_levels::tests::remove_order_keeps_nonempty_level ... ok [INFO] [stdout] test snapshot::tests::empty_snapshot ... ok [INFO] [stdout] test snapshot::tests::imbalance_empty ... ok [INFO] [stdout] test snapshot::tests::imbalance_bid_heavy ... ok [INFO] [stdout] test snapshot::tests::weighted_mid_empty ... ok [INFO] [stdout] test snapshot::tests::weighted_mid_equal_qty ... ok [INFO] [stdout] test snapshot::tests::weighted_mid_skewed ... ok [INFO] [stdout] test snapshot::tests::snapshot_depth_limit ... ok [INFO] [stdout] test stats::tests::ln_gamma_known_values ... ok [INFO] [stdout] test stats::tests::quintile_spread_basic ... ok [INFO] [stdout] test stats::tests::rankdata_no_ties ... ok [INFO] [stdout] test stats::tests::spearman_perfect_negative ... ok [INFO] [stdout] test stats::tests::spearman_perfect_positive ... ok [INFO] [stdout] test stats::tests::spearman_unequal_length ... ok [INFO] [stdout] test stats::tests::quintile_spread_invalid ... ok [INFO] [stdout] test stats::tests::rankdata_empty ... ok [INFO] [stdout] test stats::tests::spearman_too_few ... ok [INFO] [stdout] test optimize::tests::qtrade_reference_fixture_targets ... ok [INFO] [stdout] test stop::tests::cancel_pending ... ok [INFO] [stdout] test stop::tests::cancel_nonexistent_returns_false ... ok [INFO] [stdout] test stats::tests::quintile_spread_zero_for_random ... ok [INFO] [stdout] test stop::tests::clear_history ... ok [INFO] [stdout] test stop::tests::contains_pending ... ok [INFO] [stdout] test order::tests::full_fill ... ok [INFO] [stdout] test stop::tests::fifo_ordering_across_sides ... ok [INFO] [stdout] test stop::tests::stop_limit_order ... ok [INFO] [stdout] test stop::tests::trailing_buy_stop_fixed ... ok [INFO] [stdout] test stop::tests::trailing_sell_stop_fixed ... ok [INFO] [stdout] test stop::tests::trailing_stop_atr ... ok [INFO] [stdout] test stop::tests::trailing_stop_percentage ... ok [INFO] [stdout] test stop::tests::trailing_stop_cancel ... ok [INFO] [stdout] test stop::tests::trigger_across_price_levels ... ok [INFO] [stdout] test stop::tests::trigger_multiple_at_same_price ... ok [INFO] [stdout] test stop::tests::trigger_buy_stop ... ok [INFO] [stdout] test stop::tests::trailing_stop_reindexes_in_btreemap ... ok [INFO] [stdout] test stop::tests::trigger_sell_stop ... ok [INFO] [stdout] test trade::tests::display ... ok [INFO] [stdout] test tif::tests::allows_partial ... ok [INFO] [stdout] test trade::tests::passive_side ... ok [INFO] [stdout] test tif::tests::can_rest ... ok [INFO] [stdout] test trade::tests::trade_creation ... ok [INFO] [stdout] test tif::tests::default_is_gtc ... ok [INFO] [stdout] test trade::tests::notional_value ... ok [INFO] [stdout] test types::tests::order_id_display ... ok [INFO] [stdout] test trade::tests::vwap_single_trade ... ok [INFO] [stdout] test types::tests::price_display ... ok [INFO] [stdout] test types::tests::price_ordering ... ok [INFO] [stdout] test types::tests::symbol_debug ... ok [INFO] [stdout] test types::tests::symbol_copy ... ok [INFO] [stdout] test stop::tests::clear_history_cleans_trailing_ids ... ok [INFO] [stdout] test tif::tests::display ... ok [INFO] [stdout] test types::tests::symbol_display ... ok [INFO] [stdout] test trade::tests::vwap_multiple_trades ... ok [INFO] [stdout] test trade::tests::vwap_empty ... ok [INFO] [stdout] test types::tests::symbol_new ... ok [INFO] [stdout] test stop::tests::trailing_and_regular_stops_coexist ... ok [INFO] [stdout] test types::tests::symbol_hash_eq ... ok [INFO] [stdout] test types::tests::symbol_empty ... ok [INFO] [stdout] test types::tests::symbol_new_panics_too_long - should panic ... ok [INFO] [stdout] test types::tests::symbol_ordering ... ok [INFO] [stdout] test types::tests::symbol_try_new_too_long ... ok [INFO] [stdout] test types::tests::trade_id_display ... ok [INFO] [stdout] test types::tests::symbol_max_length ... ok [INFO] [stdout] test multi_exchange::tests::empty ... ok [INFO] [stdout] test stop::tests::insert_and_get ... ok [INFO] [stdout] test order::tests::quantity_invariant_holds ... ok [INFO] [stdout] test snapshot::tests::snapshot_with_orders ... ok [INFO] [stdout] test stats::tests::rankdata_with_ties ... ok [INFO] [stdout] test stop::tests::trailing_stop_preserves_initial_on_adverse_move ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 234 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/lob.rs (/opt/rustwide/target/debug/deps/lob-9726ccd78424fb9c) [INFO] [stderr] Running tests/edge_cases.rs (/opt/rustwide/target/debug/deps/edge_cases-9633ffd431c49e55) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test cancel_already_triggered_stop ... ok [INFO] [stdout] test cancel_nonexistent_order ... ok [INFO] [stdout] test fok_insufficient_liquidity ... ok [INFO] [stdout] test large_price ... ok [INFO] [stdout] test market_order_zero_qty ... ok [INFO] [stdout] test modify_nonexistent_order ... ok [INFO] [stdout] test symbol_empty_string ... ok [INFO] [stdout] test symbol_try_new_exactly_9 ... ok [INFO] [stdout] test very_small_price ... ok [INFO] [stdout] test limit_order_zero_qty ... ok [INFO] [stdout] test ioc_partial_fill ... ok [INFO] [stdout] test depth_empty_book ... ok [INFO] [stdout] test symbol_try_new_exactly_8 ... ok [INFO] [stdout] test stop_on_empty_book ... ok [INFO] [stdout] test fok_exact_fill ... ok [INFO] [stdout] test market_order_empty_book ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/portfolio_invariants.rs (/opt/rustwide/target/debug/deps/portfolio_invariants-4f98c1bd815f1c46) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_invariants.rs (/opt/rustwide/target/debug/deps/proptest_invariants-730ed2dbef2bbdc2) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test regression_empty_book_depth ... ok [INFO] [stdout] test regression_single_order_depth ... ok [INFO] [stdout] test cancel_removes_order ... ok [INFO] [stdout] test quantity_conservation ... ok [INFO] [stdout] test fok_all_or_nothing ... ok [INFO] [stdout] test stop_limit_quantity_conservation ... ok [INFO] [stdout] test stop_market_triggers_produce_valid_trades ... ok [INFO] [stdout] test cancelled_stop_never_triggers ... ok [INFO] [stdout] test ioc_never_rests ... ok [INFO] [stdout] test trades_within_price_limit ... ok [INFO] [stdout] test trade_timestamps_monotonic ... ok [INFO] [stdout] test trade_ids_sequential ... ok [INFO] [stdout] test book_quantity_consistency ... ok [INFO] [stdout] test depth_sorted_correctly ... ok [INFO] [stdout] test non_negative_spread ... ok [INFO] [stdout] test no_crossed_book ... ok [INFO] [stdout] test deterministic_replay ... ok [INFO] [stderr] Running tests/safety_tests.rs (/opt/rustwide/target/debug/deps/safety_tests-c31b242a977d3859) [INFO] [stdout] test stop_cascade_bounded ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.86s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test symbol_truncated_9_bytes ... ok [INFO] [stdout] test symbol_truncated_empty ... ok [INFO] [stdout] test symbol_truncated_all_ascii_normal ... ok [INFO] [stdout] test symbol_truncated_unicode_boundary ... ok [INFO] [stdout] test symbol_truncated_exact_8 ... ok [INFO] [stdout] test symbol_truncated_long_string ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Doc-tests nanobook [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test src/lib.rs - (line 115) ... ignored [INFO] [stdout] test src/lib.rs - (line 54) ... ok [INFO] [stdout] test src/lib.rs - (line 39) ... ok [INFO] [stdout] test src/multi_exchange.rs - multi_exchange::MultiExchange (line 11) ... ok [INFO] [stdout] test src/lib.rs - (line 136) ... ok [INFO] [stdout] test src/lib.rs - (line 18) ... ok [INFO] [stdout] test src/cv.rs - cv::time_series_split (line 30) ... ok [INFO] [stdout] test src/lib.rs - (line 92) ... ok [INFO] [stdout] test src/indicators.rs - indicators::rsi (line 129) ... ok [INFO] [stdout] test src/types.rs - types::Symbol (line 66) ... ok [INFO] [stdout] test src/lib.rs - (line 76) ... ok [INFO] [stdout] test src/trade.rs - trade::Trade::vwap (line 70) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.71s; merged doctests compilation took 0.70s [INFO] running `Command { std: "docker" "inspect" "8d8441522dfd8afbc288866e3ef2d63307d548e0656ceb9202c1df0ac939e712", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d8441522dfd8afbc288866e3ef2d63307d548e0656ceb9202c1df0ac939e712", kill_on_drop: false }` [INFO] [stdout] 8d8441522dfd8afbc288866e3ef2d63307d548e0656ceb9202c1df0ac939e712