[INFO] fetching crate ballistics-engine 0.3.2... [INFO] checking ballistics-engine-0.3.2 against try#c659ee110de67e82444e4b6c8407c1a9af9c2cf6 for pr-145608-1 [INFO] extracting crate ballistics-engine 0.3.2 into /workspace/builds/worker-2-tc2/source [INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml [INFO] started tweaking crates.io crate ballistics-engine 0.3.2 [INFO] finished tweaking crates.io crate ballistics-engine 0.3.2 [INFO] tweaked toml for crates.io crate ballistics-engine 0.3.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ballistics-engine 0.3.2 on toolchain c659ee110de67e82444e4b6c8407c1a9af9c2cf6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ballistics-engine 0.3.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" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1c9ce22bc9d5eb356ec945ada755d41d93c8ef4869f04652756771c46c2a0228 [INFO] running `Command { std: "docker" "start" "-a" "1c9ce22bc9d5eb356ec945ada755d41d93c8ef4869f04652756771c46c2a0228", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1c9ce22bc9d5eb356ec945ada755d41d93c8ef4869f04652756771c46c2a0228", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1c9ce22bc9d5eb356ec945ada755d41d93c8ef4869f04652756771c46c2a0228", kill_on_drop: false }` [INFO] [stdout] 1c9ce22bc9d5eb356ec945ada755d41d93c8ef4869f04652756771c46c2a0228 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c659ee110de67e82444e4b6c8407c1a9af9c2cf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] afd2bdcac66e0e22de00feccccfd15002f6af147e6652f2b35381480101f7a3e [INFO] running `Command { std: "docker" "start" "-a" "afd2bdcac66e0e22de00feccccfd15002f6af147e6652f2b35381480101f7a3e", 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 matrixmultiply v0.3.10 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.100 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking clap_builder v4.5.44 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking simba v0.9.0 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [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] Checking thiserror v1.0.69 [INFO] [stderr] Checking zip v0.5.13 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Checking pest v2.8.1 [INFO] [stderr] Checking js-sys v0.3.77 [INFO] [stderr] Checking clap v4.5.45 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Checking nalgebra v0.33.2 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking py_literal v0.4.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking ndarray-npy v0.8.1 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.50 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking wasm-bindgen-test v0.3.50 [INFO] [stderr] Checking ballistics-engine v0.3.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::InternalBallisticInputs as BallisticInputs` [INFO] [stdout] --> src/monte_carlo.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::InternalBallisticInputs as BallisticInputs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::InternalBallisticInputs as BallisticInputs` [INFO] [stdout] --> src/monte_carlo.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::InternalBallisticInputs as BallisticInputs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/cli_api.rs:868:28 [INFO] [stdout] | [INFO] [stdout] 868 | 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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/cli_api.rs:868:28 [INFO] [stdout] | [INFO] [stdout] 868 | use rand::{thread_rng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `G_ACCEL_MPS2` is never used [INFO] [stdout] --> src/constants.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const G_ACCEL_MPS2: f64 = 9.80665; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MPS_TO_FPS` is never used [INFO] [stdout] --> src/constants.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const MPS_TO_FPS: f64 = 3.28084; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FPS_TO_MPS` is never used [INFO] [stdout] --> src/constants.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const FPS_TO_MPS: f64 = 0.3048; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STANDARD_AIR_DENSITY` is never used [INFO] [stdout] --> src/constants.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const STANDARD_AIR_DENSITY: f64 = 1.225; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CD_TO_RETARD` is never used [INFO] [stdout] --> src/constants.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const CD_TO_RETARD: f64 = 0.000683 * 0.30; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRAINS_TO_KG` is never used [INFO] [stdout] --> src/constants.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const GRAINS_TO_KG: f64 = 0.00006479891; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AIR_DENSITY_SEA_LEVEL` is never used [INFO] [stdout] --> src/constants.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const AIR_DENSITY_SEA_LEVEL: f64 = 1.225; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPEED_OF_SOUND_MPS` is never used [INFO] [stdout] --> src/constants.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const SPEED_OF_SOUND_MPS: f64 = 340.29; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NUMERICAL_TOLERANCE` is never used [INFO] [stdout] --> src/constants.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub const NUMERICAL_TOLERANCE: f64 = 1e-9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_VELOCITY_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:56:11 [INFO] [stdout] | [INFO] [stdout] 56 | pub const MIN_VELOCITY_THRESHOLD: f64 = 1e-6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_DIVISION_THRESHOLD` is never used [INFO] [stdout] --> src/constants.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub const MIN_DIVISION_THRESHOLD: f64 = 1e-12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOT_FINDING_TOLERANCE` is never used [INFO] [stdout] --> src/constants.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const ROOT_FINDING_TOLERANCE: f64 = 1e-6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_CONSERVATIVE` is never used [INFO] [stdout] --> src/constants.rs:79:11 [INFO] [stdout] | [INFO] [stdout] 79 | pub const BC_FALLBACK_CONSERVATIVE: f64 = 0.31; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_ULTRA_LIGHT` is never used [INFO] [stdout] --> src/constants.rs:88:11 [INFO] [stdout] | [INFO] [stdout] 88 | pub const BC_FALLBACK_ULTRA_LIGHT: f64 = 0.172; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_LIGHT` is never used [INFO] [stdout] --> src/constants.rs:92:11 [INFO] [stdout] | [INFO] [stdout] 92 | pub const BC_FALLBACK_LIGHT: f64 = 0.242; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_MEDIUM` is never used [INFO] [stdout] --> src/constants.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | pub const BC_FALLBACK_MEDIUM: f64 = 0.310; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_HEAVY` is never used [INFO] [stdout] --> src/constants.rs:100:11 [INFO] [stdout] | [INFO] [stdout] 100 | pub const BC_FALLBACK_HEAVY: f64 = 0.393; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_VERY_HEAVY` is never used [INFO] [stdout] --> src/constants.rs:104:11 [INFO] [stdout] | [INFO] [stdout] 104 | pub const BC_FALLBACK_VERY_HEAVY: f64 = 0.441; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_SMALL_CALIBER` is never used [INFO] [stdout] --> src/constants.rs:113:11 [INFO] [stdout] | [INFO] [stdout] 113 | pub const BC_FALLBACK_SMALL_CALIBER: f64 = 0.215; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_MEDIUM_CALIBER` is never used [INFO] [stdout] --> src/constants.rs:117:11 [INFO] [stdout] | [INFO] [stdout] 117 | pub const BC_FALLBACK_MEDIUM_CALIBER: f64 = 0.300; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_LARGE_CALIBER` is never used [INFO] [stdout] --> src/constants.rs:121:11 [INFO] [stdout] | [INFO] [stdout] 121 | pub const BC_FALLBACK_LARGE_CALIBER: f64 = 0.404; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BC_FALLBACK_XLARGE_CALIBER` is never used [INFO] [stdout] --> src/constants.rs:126:11 [INFO] [stdout] | [INFO] [stdout] 126 | pub const BC_FALLBACK_XLARGE_CALIBER: f64 = 0.291; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mach_values` and `cd_values` are never read [INFO] [stdout] --> src/drag.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DragTable { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 11 | pub mach_values: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | pub cd_values: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DragTable` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `interpolate`, `linear_interpolate`, and `cubic_interpolate` are never used [INFO] [stdout] --> src/drag.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl DragTable { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn interpolate(&self, mach: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn linear_interpolate(&self, mach: f64, idx: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn cubic_interpolate(&self, mach: f64, idx: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_drag_table` is never used [INFO] [stdout] --> src/drag.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn load_drag_table(drag_tables_dir: &Path, filename: &str, fallback_data: &[(f64, f64)]) -> DragTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_drag_tables_dir` is never used [INFO] [stdout] --> src/drag.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | fn find_drag_tables_dir() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `G1_DRAG_TABLE` is never used [INFO] [stdout] --> src/drag.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | static G1_DRAG_TABLE: Lazy = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `G7_DRAG_TABLE` is never used [INFO] [stdout] --> src/drag.rs:236:8 [INFO] [stdout] | [INFO] [stdout] 236 | static G7_DRAG_TABLE: Lazy = Lazy::new(|| { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_drag_coefficient` is never used [INFO] [stdout] --> src/drag.rs:272:8 [INFO] [stdout] | [INFO] [stdout] 272 | pub fn get_drag_coefficient(mach: f64, drag_model: &DragModel) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_drag_coefficient_with_transonic` is never used [INFO] [stdout] --> src/drag.rs:281:8 [INFO] [stdout] | [INFO] [stdout] 281 | pub fn get_drag_coefficient_with_transonic( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_drag_coefficient_full` is never used [INFO] [stdout] --> src/drag.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn get_drag_coefficient_full( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpolated_bc` is never used [INFO] [stdout] --> src/drag.rs:587:8 [INFO] [stdout] | [INFO] [stdout] 587 | pub fn interpolated_bc(mach: f64, segments: &[(f64, f64)]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AtmosphereLayer` is never constructed [INFO] [stdout] --> src/atmosphere.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct AtmosphereLayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `G_ACCEL_MPS2` is never used [INFO] [stdout] --> src/atmosphere.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const G_ACCEL_MPS2: f64 = 9.80665; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `R_AIR` is never used [INFO] [stdout] --> src/atmosphere.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const R_AIR: f64 = 287.0531; // Specific gas constant for dry air (J/(kg·K)) [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAMMA` is never used [INFO] [stdout] --> src/atmosphere.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const GAMMA: f64 = 1.4; // Heat capacity ratio for air [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `R_DRY` is never used [INFO] [stdout] --> src/atmosphere.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const R_DRY: f64 = 287.05; // Gas constant for dry air [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `R_VAPOR` is never used [INFO] [stdout] --> src/atmosphere.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const R_VAPOR: f64 = 461.495; // Gas constant for water vapor [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `R` is never used [INFO] [stdout] --> src/atmosphere.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const R: f64 = 8.314472; // Universal gas constant [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_A` is never used [INFO] [stdout] --> src/atmosphere.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const M_A: f64 = 28.96546e-3; // Molar mass of dry air (kg/mol) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_V` is never used [INFO] [stdout] --> src/atmosphere.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const M_V: f64 = 18.01528e-3; // Molar mass of water vapor (kg/mol) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ICAO_LAYERS` is never used [INFO] [stdout] --> src/atmosphere.rs:33:7 [INFO] [stdout] | [INFO] [stdout] 33 | const ICAO_LAYERS: &[AtmosphereLayer] = &[ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_icao_standard_atmosphere` is never used [INFO] [stdout] --> src/atmosphere.rs:95:4 [INFO] [stdout] | [INFO] [stdout] 95 | fn calculate_icao_standard_atmosphere(altitude_m: f64) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_atmosphere` is never used [INFO] [stdout] --> src/atmosphere.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn calculate_atmosphere( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_air_density_cimp` is never used [INFO] [stdout] --> src/atmosphere.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn calculate_air_density_cimp( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enhanced_saturation_vapor_pressure` is never used [INFO] [stdout] --> src/atmosphere.rs:243:4 [INFO] [stdout] | [INFO] [stdout] 243 | fn enhanced_saturation_vapor_pressure(t_k: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enhanced_enhancement_factor` is never used [INFO] [stdout] --> src/atmosphere.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn enhanced_enhancement_factor(p: f64, t: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `enhanced_compressibility_factor` is never used [INFO] [stdout] --> src/atmosphere.rs:283:4 [INFO] [stdout] | [INFO] [stdout] 283 | fn enhanced_compressibility_factor(p: f64, t_k: f64, x_v: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_local_atmosphere` is never used [INFO] [stdout] --> src/atmosphere.rs:329:8 [INFO] [stdout] | [INFO] [stdout] 329 | pub fn get_local_atmosphere( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `determine_local_lapse_rate` is never used [INFO] [stdout] --> src/atmosphere.rs:370:4 [INFO] [stdout] | [INFO] [stdout] 370 | fn determine_local_lapse_rate(altitude_m: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_direct_atmosphere` is never used [INFO] [stdout] --> src/atmosphere.rs:389:8 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn get_direct_atmosphere(density: f64, speed_of_sound: f64) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_air_density_cipm` is never used [INFO] [stdout] --> src/atmosphere.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn calculate_air_density_cipm( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KMH_TO_MPS` is never used [INFO] [stdout] --> src/wind.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const KMH_TO_MPS: f64 = 1000.0 / 3600.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `WindSegment` is never used [INFO] [stdout] --> src/wind.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type WindSegment = (f64, f64, f64); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WindSock` is never constructed [INFO] [stdout] --> src/wind.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct WindSock { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `calc_vec`, `vector_for_range`, and `vector_for_range_stateless` are never used [INFO] [stdout] --> src/wind.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl WindSock { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn new(mut segments: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn calc_vec(seg: &WindSegment) -> Vector3 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn vector_for_range(&mut self, range_m: f64) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn vector_for_range_stateless(&self, range_m: f64) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EkmanSpiral` and `CustomLayers` are never constructed [INFO] [stdout] --> src/wind_shear.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum WindShearModel { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | EkmanSpiral, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 19 | CustomLayers, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindShearModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WindShearWindSock` is never constructed [INFO] [stdout] --> src/wind_shear.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 202 | pub struct WindShearWindSock { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_shooter_altitude`, `vector_for_position`, and `get_range_wind` are never used [INFO] [stdout] --> src/wind_shear.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 208 | impl WindShearWindSock { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 209 | pub fn new(segments: Vec<(f64, f64, f64)>, shear_profile: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn with_shooter_altitude(segments: Vec<(f64, f64, f64)>, shear_profile: Option, shooter_altitude_m: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn vector_for_position(&self, position: Vector3) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn get_range_wind(&self, range_m: f64) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INCHES_PER_FOOT` is never used [INFO] [stdout] --> src/derivatives.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const INCHES_PER_FOOT: f64 = 12.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INCHES_TO_METERS` is never used [INFO] [stdout] --> src/derivatives.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const INCHES_TO_METERS: f64 = 0.0254; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STANDARD_AIR_DENSITY_METRIC` is never used [INFO] [stdout] --> src/derivatives.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const STANDARD_AIR_DENSITY_METRIC: f64 = 1.225; // kg/m³ at sea level [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_COEFF_SUBSONIC` is never used [INFO] [stdout] --> src/derivatives.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const MAGNUS_COEFF_SUBSONIC: f64 = 4.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_COEFF_TRANSONIC_REDUCTION` is never used [INFO] [stdout] --> src/derivatives.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const MAGNUS_COEFF_TRANSONIC_REDUCTION: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_COEFF_SUPERSONIC_BASE` is never used [INFO] [stdout] --> src/derivatives.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const MAGNUS_COEFF_SUPERSONIC_BASE: f64 = 2.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_COEFF_SUPERSONIC_SCALE` is never used [INFO] [stdout] --> src/derivatives.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const MAGNUS_COEFF_SUPERSONIC_SCALE: f64 = 1.5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_TRANSONIC_LOWER` is never used [INFO] [stdout] --> src/derivatives.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const MAGNUS_TRANSONIC_LOWER: f64 = 0.8; // Lower bound of transonic regime [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_TRANSONIC_UPPER` is never used [INFO] [stdout] --> src/derivatives.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const MAGNUS_TRANSONIC_UPPER: f64 = 1.2; // Upper bound of transonic regime [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_TRANSONIC_RANGE` is never used [INFO] [stdout] --> src/derivatives.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const MAGNUS_TRANSONIC_RANGE: f64 = 0.4; // Range width (1.2 - 0.8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGNUS_SUPERSONIC_RANGE` is never used [INFO] [stdout] --> src/derivatives.rs:55:7 [INFO] [stdout] | [INFO] [stdout] 55 | const MAGNUS_SUPERSONIC_RANGE: f64 = 1.8; // Scaling range for supersonic recovery [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_REALISTIC_DENSITY` is never used [INFO] [stdout] --> src/derivatives.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | const MAX_REALISTIC_DENSITY: f64 = 2.0; // kg/m³ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_REALISTIC_SPEED_OF_SOUND` is never used [INFO] [stdout] --> src/derivatives.rs:63:7 [INFO] [stdout] | [INFO] [stdout] 63 | const MIN_REALISTIC_SPEED_OF_SOUND: f64 = 200.0; // m/s [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_spin_rate` is never used [INFO] [stdout] --> src/derivatives.rs:66:4 [INFO] [stdout] | [INFO] [stdout] 66 | fn calculate_spin_rate(twist_rate: f64, velocity_mps: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_magnus_moment_coefficient` is never used [INFO] [stdout] --> src/derivatives.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn calculate_magnus_moment_coefficient(mach: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_derivatives` is never used [INFO] [stdout] --> src/derivatives.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn compute_derivatives( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_bc_fallback` is never used [INFO] [stdout] --> src/derivatives.rs:393:4 [INFO] [stdout] | [INFO] [stdout] 393 | fn calculate_bc_fallback( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpolated_bc` is never used [INFO] [stdout] --> src/derivatives.rs:462:8 [INFO] [stdout] | [INFO] [stdout] 462 | pub fn interpolated_bc(mach: f64, segments: &[(f64, f64)], inputs: Option<&BallisticInputs>) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bc_for_velocity` is never used [INFO] [stdout] --> src/derivatives.rs:516:4 [INFO] [stdout] | [INFO] [stdout] 516 | fn get_bc_for_velocity(velocity_fps: f64, inputs: &BallisticInputs, bc_used: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YARDS_TO_METERS` is never used [INFO] [stdout] --> src/trajectory_solver.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JOULES_TO_FTLBS` is never used [INFO] [stdout] --> src/trajectory_solver.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const JOULES_TO_FTLBS: f64 = 0.737562149; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METERS_TO_INCHES` is never used [INFO] [stdout] --> src/trajectory_solver.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const METERS_TO_INCHES: f64 = 39.3701; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InitialConditions` is never constructed [INFO] [stdout] --> src/trajectory_solver.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct InitialConditions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrajectoryResult` is never constructed [INFO] [stdout] --> src/trajectory_solver.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct TrajectoryResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prepare_initial_conditions` is never used [INFO] [stdout] --> src/trajectory_solver.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn prepare_initial_conditions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_trajectory_apex` is never used [INFO] [stdout] --> src/trajectory_solver.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn find_trajectory_apex( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brent_root_find` is never used [INFO] [stdout] --> src/trajectory_solver.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn brent_root_find( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `post_process_trajectory` is never used [INFO] [stdout] --> src/trajectory_solver.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn post_process_trajectory( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpolate_trajectory_state` is never used [INFO] [stdout] --> src/trajectory_solver.rs:357:4 [INFO] [stdout] | [INFO] [stdout] 357 | fn interpolate_trajectory_state( [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: struct `FastSolution` is never constructed [INFO] [stdout] --> src/fast_trajectory.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct FastSolution { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `sol` and `from_trajectory_data` are never used [INFO] [stdout] --> src/fast_trajectory.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl FastSolution { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 29 | /// Interpolate solution at time t [INFO] [stdout] 30 | pub fn sol(&self, t_query: &[f64]) -> Vec> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn from_trajectory_data(times: Vec, states: Vec<[f64; 6]>, t_events: [Vec; 3]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FastIntegrationParams` is never constructed [INFO] [stdout] --> src/fast_trajectory.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct FastIntegrationParams { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fast_integrate` is never used [INFO] [stdout] --> src/fast_trajectory.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn fast_integrate( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_derivatives` is never used [INFO] [stdout] --> src/fast_trajectory.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn compute_derivatives( [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bc_from_velocity_segments` is never used [INFO] [stdout] --> src/fast_trajectory.rs:296:4 [INFO] [stdout] | [INFO] [stdout] 296 | fn get_bc_from_velocity_segments(velocity_fps: f64, segments: &[BCSegmentData]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpinDriftComponents` is never constructed [INFO] [stdout] --> src/spin_drift.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SpinDriftComponents { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_spin_rate` is never used [INFO] [stdout] --> src/spin_drift.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn calculate_spin_rate(velocity_mps: f64, twist_rate_inches: f64) -> (f64, f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_dynamic_stability` is never used [INFO] [stdout] --> src/spin_drift.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn calculate_dynamic_stability( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_yaw_of_repose` is never used [INFO] [stdout] --> src/spin_drift.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn calculate_yaw_of_repose( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_magnus_drift_component` is never used [INFO] [stdout] --> src/spin_drift.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn calculate_magnus_drift_component( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_gyroscopic_drift` is never used [INFO] [stdout] --> src/spin_drift.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn calculate_gyroscopic_drift( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_enhanced_spin_drift` is never used [INFO] [stdout] --> src/spin_drift.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn calculate_enhanced_spin_drift( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_enhanced_spin_drift` is never used [INFO] [stdout] --> src/spin_drift.rs:370:8 [INFO] [stdout] | [INFO] [stdout] 370 | pub fn apply_enhanced_spin_drift( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_enhanced_spin_drift_simple` is never used [INFO] [stdout] --> src/spin_drift.rs:388:8 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn compute_enhanced_spin_drift_simple( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mass_kg` is never read [INFO] [stdout] --> src/precession_nutation.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct PrecessionNutationParams { [INFO] [stdout] | ------------------------ field in this struct [INFO] [stdout] 30 | // Projectile properties [INFO] [stdout] 31 | pub mass_kg: f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrecessionNutationParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_epicyclic_motion` is never used [INFO] [stdout] --> src/precession_nutation.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn calculate_epicyclic_motion( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_limit_cycle_yaw` is never used [INFO] [stdout] --> src/precession_nutation.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | pub fn calculate_limit_cycle_yaw( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AerodynamicJumpComponents` is never constructed [INFO] [stdout] --> src/aerodynamic_jump.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AerodynamicJumpComponents { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_aerodynamic_jump` is never used [INFO] [stdout] --> src/aerodynamic_jump.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn calculate_aerodynamic_jump( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_sight_correction_for_jump` is never used [INFO] [stdout] --> src/aerodynamic_jump.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn calculate_sight_correction_for_jump( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_crosswind_jump_sensitivity` is never used [INFO] [stdout] --> src/aerodynamic_jump.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn calculate_crosswind_jump_sensitivity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FPS_TO_MPS` is never used [INFO] [stdout] --> src/angle_calculations.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const FPS_TO_MPS: f64 = 0.3048; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YARDS_TO_METERS` is never used [INFO] [stdout] --> src/angle_calculations.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEGREES_TO_RADIANS` is never used [INFO] [stdout] --> src/angle_calculations.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const DEGREES_TO_RADIANS: f64 = std::f64::consts::PI / 180.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RADIANS_TO_DEGREES` is never used [INFO] [stdout] --> src/angle_calculations.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const RADIANS_TO_DEGREES: f64 = 180.0 / std::f64::consts::PI; [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: constant `ZERO_FINDING_MAX_ITER` is never used [INFO] [stdout] --> src/angle_calculations.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const ZERO_FINDING_MAX_ITER: usize = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AngleResult` is never constructed [INFO] [stdout] --> src/angle_calculations.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct AngleResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brent_root_find` is never used [INFO] [stdout] --> src/angle_calculations.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn brent_root_find( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adjusted_muzzle_velocity` is never used [INFO] [stdout] --> src/angle_calculations.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn adjusted_muzzle_velocity(inputs: &InternalBallisticInputs) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zero_angle` is never used [INFO] [stdout] --> src/angle_calculations.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn zero_angle( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_muzzle_angle` is never used [INFO] [stdout] --> src/angle_calculations.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn solve_muzzle_angle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quick_drop_estimate` is never used [INFO] [stdout] --> src/angle_calculations.rs:311:8 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn quick_drop_estimate( [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 `calculate_reynolds_number` is never used [INFO] [stdout] --> src/reynolds.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn calculate_reynolds_number( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_air_viscosity` is never used [INFO] [stdout] --> src/reynolds.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn calculate_air_viscosity(temperature_k: f64) -> f64 { [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: function `reynolds_drag_correction` is never used [INFO] [stdout] --> src/reynolds.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn reynolds_drag_correction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_corrected_drag` is never used [INFO] [stdout] --> src/reynolds.rs:127:4 [INFO] [stdout] | [INFO] [stdout] 127 | fn calculate_corrected_drag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_reynolds_correction` is never used [INFO] [stdout] --> src/reynolds.rs:154:8 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn apply_reynolds_correction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_default_form_factor` is never used [INFO] [stdout] --> src/form_factor.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn get_default_form_factor(bullet_name: &str, drag_model: &DragModel) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_form_factor_to_drag` is never used [INFO] [stdout] --> src/form_factor.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn apply_form_factor_to_drag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonteCarloResults` is never constructed [INFO] [stdout] --> src/monte_carlo.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MonteCarloResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [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)]` 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: constant `NUMERICAL_TOLERANCE` is never used [INFO] [stdout] --> src/constants.rs:53:11 [INFO] [stdout] | [INFO] [stdout] 53 | pub const NUMERICAL_TOLERANCE: f64 = 1e-9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOT_FINDING_TOLERANCE` is never used [INFO] [stdout] --> src/constants.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const ROOT_FINDING_TOLERANCE: f64 = 1e-6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `interpolated_bc` is never used [INFO] [stdout] --> src/drag.rs:587:8 [INFO] [stdout] | [INFO] [stdout] 587 | pub fn interpolated_bc(mach: f64, segments: &[(f64, f64)]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_air_density_cipm` is never used [INFO] [stdout] --> src/atmosphere.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn calculate_air_density_cipm( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current`, `next_range`, and `current_vec` are never read [INFO] [stdout] --> src/wind.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct WindSock { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 17 | current: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 18 | /// Distance where next segment starts [INFO] [stdout] 19 | next_range: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | /// Current wind vector [INFO] [stdout] 21 | current_vec: Vector3, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindSock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `vector_for_range` is never used [INFO] [stdout] --> src/wind.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl WindSock { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn vector_for_range(&mut self, range_m: f64) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `EkmanSpiral` and `CustomLayers` are never constructed [INFO] [stdout] --> src/wind_shear.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum WindShearModel { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | EkmanSpiral, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 19 | CustomLayers, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindShearModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WindShearWindSock` is never constructed [INFO] [stdout] --> src/wind_shear.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 202 | pub struct WindShearWindSock { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_shooter_altitude`, `vector_for_position`, and `get_range_wind` are never used [INFO] [stdout] --> src/wind_shear.rs:209:12 [INFO] [stdout] | [INFO] [stdout] 208 | impl WindShearWindSock { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 209 | pub fn new(segments: Vec<(f64, f64, f64)>, shear_profile: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn with_shooter_altitude(segments: Vec<(f64, f64, f64)>, shear_profile: Option, shooter_altitude_m: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn vector_for_position(&self, position: Vector3) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn get_range_wind(&self, range_m: f64) -> Vector3 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `YARDS_TO_METERS` is never used [INFO] [stdout] --> src/trajectory_solver.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const YARDS_TO_METERS: f64 = 0.9144; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JOULES_TO_FTLBS` is never used [INFO] [stdout] --> src/trajectory_solver.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const JOULES_TO_FTLBS: f64 = 0.737562149; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `METERS_TO_INCHES` is never used [INFO] [stdout] --> src/trajectory_solver.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const METERS_TO_INCHES: f64 = 39.3701; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InitialConditions` is never constructed [INFO] [stdout] --> src/trajectory_solver.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct InitialConditions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TrajectoryResult` is never constructed [INFO] [stdout] --> src/trajectory_solver.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct TrajectoryResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prepare_initial_conditions` is never used [INFO] [stdout] --> src/trajectory_solver.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn prepare_initial_conditions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `post_process_trajectory` is never used [INFO] [stdout] --> src/trajectory_solver.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn post_process_trajectory( [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: fields `t_events` and `success` are never read [INFO] [stdout] --> src/fast_trajectory.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct FastSolution { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | pub t_events: [Vec; 3], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 24 | /// Whether integration succeeded [INFO] [stdout] 25 | pub success: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FastSolution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FastIntegrationParams` is never constructed [INFO] [stdout] --> src/fast_trajectory.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct FastIntegrationParams { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fast_integrate` is never used [INFO] [stdout] --> src/fast_trajectory.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn fast_integrate( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_derivatives` is never used [INFO] [stdout] --> src/fast_trajectory.rs:229:4 [INFO] [stdout] | [INFO] [stdout] 229 | fn compute_derivatives( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `spin_rate_rad_s`, `yaw_of_repose_rad`, `magnus_component_m`, `pitch_damping_moment`, `yaw_convergence_rate`, and `pitch_rate_rad_s` are never read [INFO] [stdout] --> src/spin_drift.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SpinDriftComponents { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 11 | pub spin_rate_rps: f64, // Revolutions per second [INFO] [stdout] 12 | pub spin_rate_rad_s: f64, // Radians per second [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub stability_factor: f64, // Gyroscopic stability (Sg) [INFO] [stdout] 14 | pub yaw_of_repose_rad: f64, // Equilibrium yaw angle [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub magnus_component_m: f64, // Magnus effect contribution [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | pub gyroscopic_component_m: f64, // Pure gyroscopic drift [INFO] [stdout] 19 | pub pitch_damping_moment: f64, // Pitch damping moment (N⋅m) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub yaw_convergence_rate: f64, // Convergence rate to equilibrium (rad/s) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub pitch_rate_rad_s: f64, // Current pitch/yaw rate (rad/s) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpinDriftComponents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_enhanced_spin_drift_simple` is never used [INFO] [stdout] --> src/spin_drift.rs:388:8 [INFO] [stdout] | [INFO] [stdout] 388 | pub fn compute_enhanced_spin_drift_simple( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `jump_angle_rad`, `magnus_component_moa`, and `yaw_component_moa` are never read [INFO] [stdout] --> src/aerodynamic_jump.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AerodynamicJumpComponents { [INFO] [stdout] | ------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | pub jump_angle_rad: f64, // Total angular displacement in radians [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | pub magnus_component_moa: f64, // Magnus effect contribution [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub yaw_component_moa: f64, // Initial yaw contribution [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AerodynamicJumpComponents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RADIANS_TO_DEGREES` is never used [INFO] [stdout] --> src/angle_calculations.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const RADIANS_TO_DEGREES: f64 = 180.0 / std::f64::consts::PI; [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: constant `ZERO_FINDING_MAX_ITER` is never used [INFO] [stdout] --> src/angle_calculations.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const ZERO_FINDING_MAX_ITER: usize = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `zero_angle` is never used [INFO] [stdout] --> src/angle_calculations.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn zero_angle( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_muzzle_angle` is never used [INFO] [stdout] --> src/angle_calculations.rs:235:8 [INFO] [stdout] | [INFO] [stdout] 235 | pub fn solve_muzzle_angle( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonteCarloResults` is never constructed [INFO] [stdout] --> src/monte_carlo.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MonteCarloResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.79s [INFO] running `Command { std: "docker" "inspect" "afd2bdcac66e0e22de00feccccfd15002f6af147e6652f2b35381480101f7a3e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afd2bdcac66e0e22de00feccccfd15002f6af147e6652f2b35381480101f7a3e", kill_on_drop: false }` [INFO] [stdout] afd2bdcac66e0e22de00feccccfd15002f6af147e6652f2b35381480101f7a3e