[INFO] fetching crate ballistics-engine 0.13.1... [INFO] testing ballistics-engine-0.13.1 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate ballistics-engine 0.13.1 into /workspace/builds/worker-7-tc1/source [INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate ballistics-engine 0.13.1 [INFO] finished tweaking crates.io crate ballistics-engine 0.13.1 [INFO] tweaked toml for crates.io crate ballistics-engine 0.13.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate ballistics-engine 0.13.1 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ballistics-engine 0.13.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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pyo3-macros v0.22.6 [INFO] [stderr] Downloaded unindent v0.2.4 [INFO] [stderr] Downloaded serde-wasm-bindgen v0.6.5 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.50 [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.50 [INFO] [stderr] Downloaded once_cell_polyfill v1.70.1 [INFO] [stderr] Downloaded pest_generator v2.8.1 [INFO] [stderr] Downloaded anstream v0.6.20 [INFO] [stderr] Downloaded target-lexicon v0.12.16 [INFO] [stderr] Downloaded clap v4.5.45 [INFO] [stderr] Downloaded cc v1.2.33 [INFO] [stderr] Downloaded pyo3-ffi v0.22.6 [INFO] [stderr] Downloaded pest_meta v2.8.1 [INFO] [stderr] Downloaded zip v0.5.13 [INFO] [stderr] Downloaded clap_derive v4.5.45 [INFO] [stderr] Downloaded clap_builder v4.5.44 [INFO] [stderr] Downloaded pest_derive v2.8.1 [INFO] [stderr] Downloaded ndarray-npy v0.8.1 [INFO] [stderr] Downloaded pyo3-build-config v0.22.6 [INFO] [stderr] Downloaded pyo3-macros-backend v0.22.6 [INFO] [stderr] Downloaded ndarray v0.15.6 [INFO] [stderr] Downloaded minicov v0.3.7 [INFO] [stderr] Downloaded py_literal v0.4.0 [INFO] [stderr] Downloaded indoc v2.0.7 [INFO] [stderr] Downloaded pyo3 v0.22.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d8d50817ed2baba11ab7932d4a4c5d48a0351bd8f2507f439000d15e1d903fb1 [INFO] running `Command { std: "docker" "start" "-a" "d8d50817ed2baba11ab7932d4a4c5d48a0351bd8f2507f439000d15e1d903fb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8d50817ed2baba11ab7932d4a4c5d48a0351bd8f2507f439000d15e1d903fb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8d50817ed2baba11ab7932d4a4c5d48a0351bd8f2507f439000d15e1d903fb1", kill_on_drop: false }` [INFO] [stdout] d8d50817ed2baba11ab7932d4a4c5d48a0351bd8f2507f439000d15e1d903fb1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b7db1ee003f1e5d393587ed83e688db7f52138719cf8da1a8ebf9ba16414b59e [INFO] running `Command { std: "docker" "start" "-a" "b7db1ee003f1e5d393587ed83e688db7f52138719cf8da1a8ebf9ba16414b59e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.97 [INFO] [stderr] Compiling thiserror v2.0.14 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling bytemuck v1.23.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling anstream v0.6.20 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling clap_builder v4.5.44 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling simba v0.9.0 [INFO] [stderr] Compiling thiserror-impl v2.0.14 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zip v0.5.13 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Compiling clap v4.5.45 [INFO] [stderr] Compiling nalgebra v0.33.2 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Compiling py_literal v0.4.0 [INFO] [stderr] Compiling ndarray-npy v0.8.1 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling ballistics-engine v0.13.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/cli_api.rs:1131:28 [INFO] [stdout] | [INFO] [stdout] 1131 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `atmosphere` [INFO] [stdout] --> src/ffi.rs:460:5 [INFO] [stdout] | [INFO] [stdout] 460 | atmosphere: *const FFIAtmosphericConditions, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atmosphere` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/trajectory_solver.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | let mut wind_drift_m = final_z_m; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mach` [INFO] [stdout] --> src/stability_advanced.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | let mach = velocity_fps / 1125.0; // Approximate speed of sound in fps [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mach` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass_kg` [INFO] [stdout] --> src/stability_advanced.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | mass_kg: f64, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mass_kg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `DragModel` to itself [INFO] [stdout] --> src/cli_api.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | inputs.bc_type = inputs.bc_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | inputs.bc_value = inputs.bc_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | inputs.bullet_diameter = inputs.bullet_diameter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | inputs.bullet_mass = inputs.bullet_mass; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | inputs.muzzle_angle = inputs.muzzle_angle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YARDS_TO_METERS` is never used [INFO] [stdout] --> src/trajectory_sampling.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_FINDING_ACCURACY` is never used [INFO] [stdout] --> src/angle_calculations.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const ZERO_FINDING_ACCURACY: f64 = crate::constants::ROOT_FINDING_TOLERANCE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prandtl_glauert_correction` is never used [INFO] [stdout] --> src/transonic_drag.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn prandtl_glauert_correction(mach: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlowRegime` is never used [INFO] [stdout] --> src/reynolds.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum FlowRegime { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_flow_regime` is never used [INFO] [stdout] --> src/reynolds.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn get_flow_regime(reynolds_number: f64) -> FlowRegime { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.35s [INFO] running `Command { std: "docker" "inspect" "b7db1ee003f1e5d393587ed83e688db7f52138719cf8da1a8ebf9ba16414b59e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7db1ee003f1e5d393587ed83e688db7f52138719cf8da1a8ebf9ba16414b59e", kill_on_drop: false }` [INFO] [stdout] b7db1ee003f1e5d393587ed83e688db7f52138719cf8da1a8ebf9ba16414b59e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 24eac1066183860470c775856a6b06da3a88f41daeff2779ef91d8ee893983c0 [INFO] running `Command { std: "docker" "start" "-a" "24eac1066183860470c775856a6b06da3a88f41daeff2779ef91d8ee893983c0", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.100 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.100 [INFO] [stderr] Compiling approx v0.5.1 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling simba v0.9.0 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling thiserror-impl v2.0.14 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.50 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.100 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zip v0.5.13 [INFO] [stderr] Compiling nalgebra v0.33.2 [INFO] [stderr] Compiling thiserror v2.0.14 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Compiling clap v4.5.45 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling js-sys v0.3.77 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Compiling py_literal v0.4.0 [INFO] [stderr] Compiling ndarray-npy v0.8.1 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling wasm-bindgen-futures v0.4.50 [INFO] [stderr] Compiling wasm-bindgen-test v0.3.50 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling ballistics-engine v0.13.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/cli_api.rs:1131:28 [INFO] [stdout] | [INFO] [stdout] 1131 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `atmosphere` [INFO] [stdout] --> src/ffi.rs:460:5 [INFO] [stdout] | [INFO] [stdout] 460 | atmosphere: *const FFIAtmosphericConditions, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atmosphere` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/trajectory_solver.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | let mut wind_drift_m = final_z_m; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mach` [INFO] [stdout] --> src/stability_advanced.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | let mach = velocity_fps / 1125.0; // Approximate speed of sound in fps [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mach` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass_kg` [INFO] [stdout] --> src/stability_advanced.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | mass_kg: f64, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mass_kg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `DragModel` to itself [INFO] [stdout] --> src/cli_api.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | inputs.bc_type = inputs.bc_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | inputs.bc_value = inputs.bc_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | inputs.bullet_diameter = inputs.bullet_diameter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | inputs.bullet_mass = inputs.bullet_mass; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | inputs.muzzle_angle = inputs.muzzle_angle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YARDS_TO_METERS` is never used [INFO] [stdout] --> src/trajectory_sampling.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_FINDING_ACCURACY` is never used [INFO] [stdout] --> src/angle_calculations.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const ZERO_FINDING_ACCURACY: f64 = crate::constants::ROOT_FINDING_TOLERANCE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prandtl_glauert_correction` is never used [INFO] [stdout] --> src/transonic_drag.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn prandtl_glauert_correction(mach: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FlowRegime` is never used [INFO] [stdout] --> src/reynolds.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum FlowRegime { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_flow_regime` is never used [INFO] [stdout] --> src/reynolds.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn get_flow_regime(reynolds_number: f64) -> FlowRegime { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::DragModel` [INFO] [stdout] --> src/derivatives.rs:566:9 [INFO] [stdout] | [INFO] [stdout] 566 | use crate::DragModel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::DragModel` [INFO] [stdout] --> src/angle_calculations.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | use crate::DragModel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::DragModel` [INFO] [stdout] --> src/stability.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | use crate::DragModel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/cli_api.rs:1131:28 [INFO] [stdout] | [INFO] [stdout] 1131 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `atmosphere` [INFO] [stdout] --> src/ffi.rs:460:5 [INFO] [stdout] | [INFO] [stdout] 460 | atmosphere: *const FFIAtmosphericConditions, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atmosphere` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/trajectory_solver.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | let mut wind_drift_m = final_z_m; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `coeffs` [INFO] [stdout] --> src/pitch_damping.rs:485:13 [INFO] [stdout] | [INFO] [stdout] 485 | let coeffs = PitchDampingCoefficients::from_bullet_type("hunting"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_coeffs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mach` [INFO] [stdout] --> src/stability_advanced.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | let mach = velocity_fps / 1125.0; // Approximate speed of sound in fps [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mach` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mass_kg` [INFO] [stdout] --> src/stability_advanced.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | mass_kg: f64, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mass_kg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `drag_model::DragModel` to itself [INFO] [stdout] --> src/cli_api.rs:286:9 [INFO] [stdout] | [INFO] [stdout] 286 | inputs.bc_type = inputs.bc_type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:287:9 [INFO] [stdout] | [INFO] [stdout] 287 | inputs.bc_value = inputs.bc_value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | inputs.bullet_diameter = inputs.bullet_diameter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:289:9 [INFO] [stdout] | [INFO] [stdout] 289 | inputs.bullet_mass = inputs.bullet_mass; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of field of type `f64` to itself [INFO] [stdout] --> src/cli_api.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | inputs.muzzle_angle = inputs.muzzle_angle; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YARDS_TO_METERS` is never used [INFO] [stdout] --> src/trajectory_sampling.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_FINDING_ACCURACY` is never used [INFO] [stdout] --> src/angle_calculations.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const ZERO_FINDING_ACCURACY: f64 = crate::constants::ROOT_FINDING_TOLERANCE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 43.15s [INFO] running `Command { std: "docker" "inspect" "24eac1066183860470c775856a6b06da3a88f41daeff2779ef91d8ee893983c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "24eac1066183860470c775856a6b06da3a88f41daeff2779ef91d8ee893983c0", kill_on_drop: false }` [INFO] [stdout] 24eac1066183860470c775856a6b06da3a88f41daeff2779ef91d8ee893983c0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5422c18ddff3e8c16765efa7bd56b0363738336cf03764ddea9b575b9dfe3959 [INFO] running `Command { std: "docker" "start" "-a" "5422c18ddff3e8c16765efa7bd56b0363738336cf03764ddea9b575b9dfe3959", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Rng` [INFO] [stderr] --> src/cli_api.rs:1131:28 [INFO] [stderr] | [INFO] [stderr] 1131 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `atmosphere` [INFO] [stderr] --> src/ffi.rs:460:5 [INFO] [stderr] | [INFO] [stderr] 460 | atmosphere: *const FFIAtmosphericConditions, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atmosphere` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/trajectory_solver.rs:314:9 [INFO] [stderr] | [INFO] [stderr] 314 | let mut wind_drift_m = final_z_m; [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mach` [INFO] [stderr] --> src/stability_advanced.rs:202:9 [INFO] [stderr] | [INFO] [stderr] 202 | let mach = velocity_fps / 1125.0; // Approximate speed of sound in fps [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mach` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mass_kg` [INFO] [stderr] --> src/stability_advanced.rs:227:5 [INFO] [stderr] | [INFO] [stderr] 227 | mass_kg: f64, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mass_kg` [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `DragModel` to itself [INFO] [stderr] --> src/cli_api.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | inputs.bc_type = inputs.bc_type; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `f64` to itself [INFO] [stderr] --> src/cli_api.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | inputs.bc_value = inputs.bc_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `f64` to itself [INFO] [stderr] --> src/cli_api.rs:288:9 [INFO] [stderr] | [INFO] [stderr] 288 | inputs.bullet_diameter = inputs.bullet_diameter; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `f64` to itself [INFO] [stderr] --> src/cli_api.rs:289:9 [INFO] [stderr] | [INFO] [stderr] 289 | inputs.bullet_mass = inputs.bullet_mass; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `f64` to itself [INFO] [stderr] --> src/cli_api.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | inputs.muzzle_angle = inputs.muzzle_angle; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `YARDS_TO_METERS` is never used [INFO] [stderr] --> src/trajectory_sampling.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ZERO_FINDING_ACCURACY` is never used [INFO] [stderr] --> src/angle_calculations.rs:11:7 [INFO] [stderr] | [INFO] [stderr] 11 | const ZERO_FINDING_ACCURACY: f64 = crate::constants::ROOT_FINDING_TOLERANCE; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `prandtl_glauert_correction` is never used [INFO] [stderr] --> src/transonic_drag.rs:37:4 [INFO] [stderr] | [INFO] [stderr] 37 | fn prandtl_glauert_correction(mach: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `FlowRegime` is never used [INFO] [stderr] --> src/reynolds.rs:10:6 [INFO] [stderr] | [INFO] [stderr] 10 | enum FlowRegime { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_flow_regime` is never used [INFO] [stderr] --> src/reynolds.rs:53:4 [INFO] [stderr] | [INFO] [stderr] 53 | fn get_flow_regime(reynolds_number: f64) -> FlowRegime { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::DragModel` [INFO] [stderr] --> src/derivatives.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | use crate::DragModel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::DragModel` [INFO] [stderr] --> src/angle_calculations.rs:341:9 [INFO] [stderr] | [INFO] [stderr] 341 | use crate::DragModel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::DragModel` [INFO] [stderr] --> src/stability.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | use crate::DragModel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Rng` [INFO] [stderr] --> src/cli_api.rs:1131:28 [INFO] [stderr] | [INFO] [stderr] 1131 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `coeffs` [INFO] [stderr] --> src/pitch_damping.rs:485:13 [INFO] [stderr] | [INFO] [stderr] 485 | let coeffs = PitchDampingCoefficients::from_bullet_type("hunting"); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_coeffs` [INFO] [stderr] [INFO] [stderr] warning: useless assignment of field of type `drag_model::DragModel` to itself [INFO] [stderr] --> src/cli_api.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | inputs.bc_type = inputs.bc_type; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `ballistics-engine` (lib) generated 15 warnings (run `cargo fix --lib -p ballistics-engine` to apply 4 suggestions) [INFO] [stderr] warning: `ballistics-engine` (lib test) generated 16 warnings (10 duplicates) (run `cargo fix --lib -p ballistics-engine --tests` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ballistics_engine-69a66c0268f6f365) [INFO] [stdout] [INFO] [stdout] running 139 tests [INFO] [stdout] test aerodynamic_jump::tests::test_aerodynamic_jump_with_crosswind ... ok [INFO] [stdout] test aerodynamic_jump::tests::test_aerodynamic_jump_zero_conditions ... ok [INFO] [stdout] test aerodynamic_jump::tests::test_opposite_twist_direction ... ok [INFO] [stdout] test aerodynamic_jump::tests::test_crosswind_sensitivity ... ok [INFO] [stdout] test aerodynamic_jump::tests::test_sight_correction ... ok [INFO] [stdout] test angle_calculations::tests::test_adjusted_muzzle_velocity_no_sensitivity ... ok [INFO] [stdout] test angle_calculations::tests::test_brent_root_find_quadratic ... ok [INFO] [stdout] test angle_calculations::tests::test_adjusted_muzzle_velocity_with_sensitivity ... ok [INFO] [stdout] test angle_calculations::tests::test_zero_angle_bounds ... ok [INFO] [stdout] test atmosphere::tests::test_enhanced_atmosphere_sea_level ... ok [INFO] [stdout] test atmosphere::tests::test_enhanced_atmosphere_with_humidity ... ok [INFO] [stdout] test atmosphere::tests::test_enhanced_atmosphere_stratosphere ... ok [INFO] [stdout] test angle_calculations::tests::test_quick_drop_estimate ... ok [INFO] [stdout] test angle_calculations::tests::test_brent_root_find_no_bracket ... ok [INFO] [stdout] test angle_calculations::tests::test_brent_root_find_linear ... ok [INFO] [stdout] test atmosphere::tests::test_enhanced_cimp_density ... ok [INFO] [stdout] test atmosphere::tests::test_icao_standard_atmosphere ... ok [INFO] [stdout] test derivatives::tests::test_interpolated_bc_edge_cases ... ok [INFO] [stdout] test drag::tests::test_drag_table_creation ... ok [INFO] [stdout] test drag::tests::test_drag_table_empty ... ok [INFO] [stdout] test derivatives::tests::test_magnus_moment_coefficient ... ok [INFO] [stdout] test cluster_bc::tests::test_cluster_prediction ... ok [INFO] [stdout] test drag::tests::test_drag_table_single_point ... ok [INFO] [stdout] test derivatives::tests::test_interpolated_bc ... ok [INFO] [stdout] test atmosphere::tests::test_variable_lapse_rates ... ok [INFO] [stdout] test bc_estimation::tests::test_bc_estimation ... ok [INFO] [stdout] test derivatives::tests::test_magnus_effect ... ok [INFO] [stdout] test derivatives::tests::test_compute_derivatives_with_wind ... ok [INFO] [stdout] test drag::tests::test_drag_coefficient_continuity ... ok [INFO] [stdout] test bc_estimation::tests::test_sectional_density ... ok [INFO] [stdout] test cluster_bc::tests::test_apply_correction ... ok [INFO] [stdout] test drag::tests::test_extrapolation_bounds ... ok [INFO] [stdout] test drag::tests::test_find_drag_tables_dir ... ok [INFO] [stdout] test drag::tests::test_known_drag_values ... ok [INFO] [stdout] test derivatives::tests::test_compute_derivatives_with_coriolis ... ok [INFO] [stdout] test drag::tests::test_cubic_interpolation ... ok [INFO] [stdout] test derivatives::tests::test_compute_derivatives_basic ... ok [INFO] [stdout] test drag::tests::test_drag_table_two_points ... ok [INFO] [stdout] test bc_estimation::tests::test_bullet_type_identification ... ok [INFO] [stdout] test drag::tests::test_linear_interpolation ... ok [INFO] [stdout] test drag::tests::test_g1_drag_coefficient_interpolation ... ok [INFO] [stdout] test drag::tests::test_load_drag_table_fallback ... ok [INFO] [stdout] test drag::tests::test_physical_constraints ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_clone ... ok [INFO] [stdout] test drag::tests::test_monotonicity_properties ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_copy ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_debug ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_display ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_equality ... ok [INFO] [stdout] test drag::tests::test_g7_drag_coefficient_interpolation ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_from_str ... ok [INFO] [stdout] test form_factor::tests::test_case_insensitive ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_from_str_case_insensitive ... ok [INFO] [stdout] test form_factor::tests::test_g1_form_factors ... ok [INFO] [stdout] test monte_carlo::tests::test_sample_points ... ok [INFO] [stdout] test form_factor::tests::test_apply_form_factor ... ok [INFO] [stdout] test monte_carlo::tests::test_percentile ... ok [INFO] [stdout] test fast_trajectory::tests::test_fast_solution_interpolation ... ok [INFO] [stdout] test pitch_damping::tests::test_angular_acceleration ... ok [INFO] [stdout] test pitch_damping::tests::test_bullet_type_coefficients ... ok [INFO] [stdout] test pitch_damping::tests::test_default_implementation ... ok [INFO] [stdout] test pitch_damping::tests::test_damped_yaw_of_repose ... ok [INFO] [stdout] test pitch_damping::tests::test_mach_interpolation ... ok [INFO] [stdout] test pitch_damping::tests::test_pitch_damping_coefficient ... ok [INFO] [stdout] test pitch_damping::tests::test_pitch_damping_moment ... ok [INFO] [stdout] test pitch_damping::tests::test_pitch_damping_edge_cases ... ok [INFO] [stdout] test pitch_damping::tests::test_precession_with_damping ... ok [INFO] [stdout] test pitch_damping::tests::test_transonic_instability ... ok [INFO] [stdout] test drag_model::tests::test_drag_model_from_str_invalid ... ok [INFO] [stdout] test fast_trajectory::tests::test_bc_from_velocity_segments ... ok [INFO] [stdout] test form_factor::tests::test_g7_form_factors ... ok [INFO] [stdout] test monte_carlo::tests::test_calculate_cep ... ok [INFO] [stdout] test precession_nutation::tests::test_limit_cycle_yaw ... ok [INFO] [stdout] test precession_nutation::tests::test_nutation_edge_cases ... ok [INFO] [stdout] test precession_nutation::tests::test_nutation_frequency ... ok [INFO] [stdout] test precession_nutation::tests::test_precession_edge_cases ... ok [INFO] [stdout] test precession_nutation::tests::test_precession_frequency ... ok [INFO] [stdout] test drag::tests::test_performance_characteristics ... ok [INFO] [stdout] test precession_nutation::tests::test_stability_effects ... ok [INFO] [stdout] test reynolds::tests::test_air_viscosity ... ok [INFO] [stdout] test reynolds::tests::test_flow_regime ... ok [INFO] [stdout] test reynolds::tests::test_reynolds_correction ... ok [INFO] [stdout] test reynolds::tests::test_reynolds_number ... ok [INFO] [stdout] test spin_decay::tests::test_moment_of_inertia ... ok [INFO] [stdout] test spin_decay::tests::test_default_impl ... ok [INFO] [stdout] test spin_decay::tests::test_different_bullet_types ... ok [INFO] [stdout] test spin_decay::tests::test_mass_factor_effects ... ok [INFO] [stdout] test spin_decay::tests::test_spin_decay_correction_factor ... ok [INFO] [stdout] test spin_decay::tests::test_moment_of_inertia_shapes ... ok [INFO] [stdout] test spin_decay::tests::test_spin_decay_parameters ... ok [INFO] [stdout] test spin_decay::tests::test_spin_damping_moment ... ok [INFO] [stdout] test spin_decay::tests::test_spin_decay_bounds ... ok [INFO] [stdout] test spin_decay::tests::test_spin_decay_rate ... ok [INFO] [stdout] test spin_decay::tests::test_spin_decay_realistic ... ok [INFO] [stdout] test spin_drift::tests::test_calculate_dynamic_stability ... ok [INFO] [stdout] test spin_decay::tests::test_velocity_factor_effects ... ok [INFO] [stdout] test spin_drift::tests::test_calculate_spin_rate ... ok [INFO] [stdout] test spin_drift::tests::test_calculate_yaw_of_repose ... ok [INFO] [stdout] test spin_drift_advanced::tests::test_advanced_spin_drift ... ok [INFO] [stdout] test spin_drift::tests::test_opposite_twist_directions ... ok [INFO] [stdout] test spin_drift_advanced::tests::test_transonic_correction ... ok [INFO] [stdout] test stability::tests::test_compute_spin_drift ... ok [INFO] [stdout] test pitch_damping::tests::test_transverse_moment_of_inertia ... ok [INFO] [stdout] test stability::tests::test_compute_spin_drift_scaling ... ok [INFO] [stdout] test precession_nutation::tests::test_angular_state_evolution ... ok [INFO] [stdout] test monte_carlo::tests::test_calculate_confidence_ellipse ... ok [INFO] [stdout] test spin_drift::tests::test_enhanced_spin_drift_calculation ... ok [INFO] [stdout] test precession_nutation::tests::test_combined_angular_motion ... ok [INFO] [stdout] test stability::tests::test_compute_stability_coefficient ... ok [INFO] [stdout] test precession_nutation::tests::test_damping_time_evolution ... ok [INFO] [stdout] test stability::tests::test_compute_stability_coefficient_atmospheric_effects ... ok [INFO] [stdout] test stability_advanced::tests::test_stability_prediction ... ok [INFO] [stdout] test stability::tests::test_compute_stability_coefficient_zero_cases ... ok [INFO] [stdout] test stability_advanced::tests::test_advanced_stability ... ok [INFO] [stdout] test precession_nutation::tests::test_nutation_amplitude_bounds ... ok [INFO] [stdout] test precession_nutation::tests::test_default_params ... ok [INFO] [stdout] test precession_nutation::tests::test_nutation_damping ... ok [INFO] [stdout] test precession_nutation::tests::test_epicyclic_motion ... ok [INFO] [stdout] test trajectory_sampling::tests::test_detect_zero_crossings ... ok [INFO] [stdout] test pitch_damping::tests::test_transonic_jump ... ok [INFO] [stdout] test stability::tests::test_compute_spin_drift_zero_cases ... ok [INFO] [stdout] test trajectory_sampling::tests::test_find_closest_sample_index ... ok [INFO] [stdout] test trajectory_sampling::tests::test_interpolate ... ok [INFO] [stdout] test trajectory_sampling::tests::test_sample_trajectory_basic ... ok [INFO] [stdout] test trajectory_solver::tests::test_find_trajectory_apex ... ok [INFO] [stdout] test trajectory_solver::tests::test_brent_root_find ... ok [INFO] [stdout] test trajectory_solver::tests::test_interpolate_trajectory_state ... ok [INFO] [stdout] test transonic_drag::tests::test_critical_mach ... ok [INFO] [stdout] test transonic_drag::tests::test_transonic_drag_rise ... ok [INFO] [stdout] test wind::tests::test_wind_sock_empty ... ok [INFO] [stdout] test transonic_drag::tests::test_prandtl_glauert ... ok [INFO] [stdout] test wind::tests::test_wind_conversion ... ok [INFO] [stdout] test transonic_drag::tests::test_projectile_shape_estimation ... ok [INFO] [stdout] test wind::tests::test_wind_sock_multiple_segments ... ok [INFO] [stdout] test wind::tests::test_wind_sock_single_segment ... ok [INFO] [stdout] test wind_shear::tests::test_logarithmic_profile ... ok [INFO] [stdout] test wind_shear::tests::test_power_law_profile ... ok [INFO] [stdout] test wind_shear::tests::test_wind_layer ... ok [INFO] [stderr] Doc-tests ballistics_engine [INFO] [stdout] test cluster_bc::tests::test_bc_multiplier ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 139 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5422c18ddff3e8c16765efa7bd56b0363738336cf03764ddea9b575b9dfe3959", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5422c18ddff3e8c16765efa7bd56b0363738336cf03764ddea9b575b9dfe3959", kill_on_drop: false }` [INFO] [stdout] 5422c18ddff3e8c16765efa7bd56b0363738336cf03764ddea9b575b9dfe3959