[INFO] fetching crate astrora_core 0.1.1...
[INFO] testing astrora_core-0.1.1 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate astrora_core 0.1.1 into /workspace/builds/worker-1-tc2/source
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate astrora_core 0.1.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate astrora_core 0.1.1
[INFO] tweaked toml for crates.io crate astrora_core 0.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate astrora_core 0.1.1 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate astrora_core 0.1.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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 091dfd4c38d28bdbfde684160d3ddc736fb4f0de2beb06ce6f2a182db58baccd
[INFO] running `Command { std: "docker" "start" "-a" "091dfd4c38d28bdbfde684160d3ddc736fb4f0de2beb06ce6f2a182db58baccd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "091dfd4c38d28bdbfde684160d3ddc736fb4f0de2beb06ce6f2a182db58baccd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "091dfd4c38d28bdbfde684160d3ddc736fb4f0de2beb06ce6f2a182db58baccd", kill_on_drop: false }`
[INFO] [stdout] 091dfd4c38d28bdbfde684160d3ddc736fb4f0de2beb06ce6f2a182db58baccd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 22fd4c38c1ac388ee2cf375340ac3ed31ec290a34f9f7275f135451173a8fd94
[INFO] running `Command { std: "docker" "start" "-a" "22fd4c38c1ac388ee2cf375340ac3ed31ec290a34f9f7275f135451173a8fd94", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling unindent v0.2.4
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling snafu-derive v0.8.9
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling snafu v0.8.9
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling hifitime v4.2.2
[INFO] [stderr]    Compiling sgp4 v2.3.0
[INFO] [stderr]    Compiling numpy v0.22.1
[INFO] [stderr]    Compiling astrora_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hifitime::TimeScale`
[INFO] [stdout]   --> src/coordinates/frames.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | use hifitime::TimeScale;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `__pyfunction_py_visibility_circle::SIGNATURE`: this function has implicit defaults for the trailing `Option<T>` arguments 
[INFO] [stdout]          = note: these implicit defaults are being phased out 
[INFO] [stdout]          = help: add `#[pyo3(signature = (lat_sub_deg, lon_sub_deg, altitude_km, min_elevation_deg, num_points=None))]` to this function to silence this warning and keep the current behavior
[INFO] [stdout]     --> src/lib.rs:5701:4
[INFO] [stdout]      |
[INFO] [stdout] 5701 | fn py_visibility_circle<'py>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r8`
[INFO] [stdout]    --> src/propagators/stm.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let r8 = r6 * r2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r8`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jd1`
[INFO] [stdout]    --> src/coordinates/precession_nutation.rs:293:35
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_jd1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jd2`
[INFO] [stdout]    --> src/coordinates/precession_nutation.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_jd2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_infinity`
[INFO] [stdout]    --> src/maneuvers/gravityassist.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let v_infinity = v_infinity_sq.sqrt();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_infinity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iter`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         for iter in 0..MAX_ITER {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2t_dx2`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:470:25
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d2t_dx2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d3t_dx3`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:470:34
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d3t_dx3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eccentricity`
[INFO] [stdout]    --> src/satellite/eclipse.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 |     eccentricity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eccentricity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `H`
[INFO] [stdout]    --> src/satellite/lifetime.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 175 -     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout] 175 +     let core::constants::G = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let _H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dt` is never read
[INFO] [stdout]    --> src/satellite/lifetime.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut dt = initial_time_step;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/satellite/conjunction.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 331 -         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout] 331 +         let core::constants::G = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let _r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `normalize_vector` is never used
[INFO] [stdout]    --> src/maneuvers/gravityassist.rs:479:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl GravityAssist {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn normalize_vector(v: [f64; 3]) -> [f64; 3] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stumpff_functions` is never used
[INFO] [stdout]    --> src/maneuvers/lambert.rs:647:4
[INFO] [stdout]     |
[INFO] [stdout] 647 | fn stumpff_functions(z: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stumpff_derivatives` is never used
[INFO] [stdout]    --> src/maneuvers/lambert.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn stumpff_derivatives(z: f64, c2: f64, c3: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WGS84_EP2` is never used
[INFO] [stdout]    --> src/satellite/groundtrack.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const WGS84_EP2: f64 = (WGS84_A * WGS84_A - WGS84_B * WGS84_B) / (WGS84_B * WGS84_B); // Second eccentricity squared
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PHI` is never used
[INFO] [stdout]    --> src/satellite/conjunction.rs:409:11
[INFO] [stdout]     |
[INFO] [stdout] 409 |     const PHI: f64 = 1.618033988749895; // Golden ratio
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1631:5
[INFO] [stdout]      |
[INFO] [stdout] 1631 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1692:5
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1766:5
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1841:5
[INFO] [stdout]      |
[INFO] [stdout] 1841 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1930:5
[INFO] [stdout]      |
[INFO] [stdout] 1930 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2021:5
[INFO] [stdout]      |
[INFO] [stdout] 2021 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2084:53
[INFO] [stdout]      |
[INFO] [stdout] 2084 | fn py_exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stdout]      |                                                     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2124:5
[INFO] [stdout]      |
[INFO] [stdout] 2124 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2126:5
[INFO] [stdout]      |
[INFO] [stdout] 2126 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2127:5
[INFO] [stdout]      |
[INFO] [stdout] 2127 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2190:5
[INFO] [stdout]      |
[INFO] [stdout] 2190 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2192:5
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2193:5
[INFO] [stdout]      |
[INFO] [stdout] 2193 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2244:5
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2246:5
[INFO] [stdout]      |
[INFO] [stdout] 2246 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2247:5
[INFO] [stdout]      |
[INFO] [stdout] 2247 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2302:5
[INFO] [stdout]      |
[INFO] [stdout] 2302 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2304:5
[INFO] [stdout]      |
[INFO] [stdout] 2304 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2305:5
[INFO] [stdout]      |
[INFO] [stdout] 2305 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2360:5
[INFO] [stdout]      |
[INFO] [stdout] 2360 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2362:5
[INFO] [stdout]      |
[INFO] [stdout] 2362 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2363:5
[INFO] [stdout]      |
[INFO] [stdout] 2363 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2725:5
[INFO] [stdout]      |
[INFO] [stdout] 2725 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2781:5
[INFO] [stdout]      |
[INFO] [stdout] 2781 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2782:5
[INFO] [stdout]      |
[INFO] [stdout] 2782 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2851:5
[INFO] [stdout]      |
[INFO] [stdout] 2851 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2852:5
[INFO] [stdout]      |
[INFO] [stdout] 2852 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2928:5
[INFO] [stdout]      |
[INFO] [stdout] 2928 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2929:5
[INFO] [stdout]      |
[INFO] [stdout] 2929 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:3158:5
[INFO] [stdout]      |
[INFO] [stdout] 3158 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub L: f64,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:188:56
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stdout]     |                                                        ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:557:9
[INFO] [stdout]     |
[INFO] [stdout] 557 |     let L = raan + argp + nu;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:829:55
[INFO] [stdout]     |
[INFO] [stdout] 829 |     fn py_new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stdout]     |                                                       ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/core/anomaly.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let M = mean_anomaly.rem_euclid(2.0 * PI);
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E0` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let E0 = if eccentricity < 0.8 {
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `e0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let ratio = |E: f64| (E - eccentricity * E.sin() - M) / (1.0 - eccentricity * E.cos());
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let f = |E: f64| E - eccentricity * E.sin() - M;
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let M = (eccentric_anomaly - eccentricity * eccentric_anomaly.sin()).rem_euclid(2.0 * PI);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cos_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let cos_E = eccentric_anomaly.cos();
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sin_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let sin_E = eccentric_anomaly.sin();
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cos_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let cos_E = (eccentricity + cos_nu) / denom;
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sin_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let sin_E = ((1.0 - eccentricity * eccentricity).sqrt() * sin_nu) / denom;
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let E = sin_E.atan2(cos_E);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let E = mean_to_eccentric_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let E = true_to_eccentric_anomaly(true_anomaly, eccentricity)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let H0 = if mean_anomaly.abs() > 1.0 {
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:354:18
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let ratio = |H: f64| {
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:357:14
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let f = |H: f64| eccentricity * H.sinh() - H - mean_anomaly;
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let M = eccentricity * hyperbolic_anomaly.sinh() - hyperbolic_anomaly;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let cosh_H = hyperbolic_anomaly.cosh();
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `cosh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |     let sinh_H = hyperbolic_anomaly.sinh();
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_cosh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |     let _cosh_H = (eccentricity + cos_nu) / denom;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `_cosh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let sinh_H = ((eccentricity * eccentricity - 1.0).sqrt() * sin_nu) / denom;
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let H = mean_to_hyperbolic_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |     let H = true_to_hyperbolic_anomaly(true_anomaly, eccentricity)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:527:9
[INFO] [stdout]     |
[INFO] [stdout] 527 |     let D = if mean_anomaly >= 0.0 {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |     let D = (true_anomaly / 2.0).tan();
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |     let M = D + D.powi(3) / 3.0;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:619:20
[INFO] [stdout]     |
[INFO] [stdout] 619 |         .map(|(i, &M)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:656:20
[INFO] [stdout]     |
[INFO] [stdout] 656 |         .map(|(i, &E)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:738:20
[INFO] [stdout]     |
[INFO] [stdout] 738 |         .map(|(i, &M)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:772:20
[INFO] [stdout]     |
[INFO] [stdout] 772 |         .map(|(i, &H)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:796:16
[INFO] [stdout]     |
[INFO] [stdout] 796 |         .map(|&M| mean_to_true_anomaly_parabolic(M))
[INFO] [stdout]     |                ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M0` should have a snake case name
[INFO] [stdout]   --> src/propagators/keplerian.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let M0 = true_to_mean_anomaly(elements.nu, elements.e)?;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/propagators/keplerian.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let M = (M0 + n * dt).rem_euclid(2.0 * PI);
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delta_M` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let delta_M = n * dt;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `delta_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M0` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let M0 = true_to_mean_anomaly(nu0, e)?;
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let M = M0 + delta_M;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/propagators/perturbations.rs:67:55
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn j2_perturbation(r: &Vector3, mu: f64, j2: f64, R: f64) -> Vector3 {
[INFO] [stdout]    |                                                       ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:137:54
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stdout]     |                                                      ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:52
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                    ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:71
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                                       ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:80
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                                                ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 372 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:468:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:470:5
[INFO] [stdout]     |
[INFO] [stdout] 470 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:471:5
[INFO] [stdout]     |
[INFO] [stdout] 471 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:529:5
[INFO] [stdout]     |
[INFO] [stdout] 529 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:531:5
[INFO] [stdout]     |
[INFO] [stdout] 531 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:583:5
[INFO] [stdout]     |
[INFO] [stdout] 583 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 585 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 586 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:624:5
[INFO] [stdout]     |
[INFO] [stdout] 624 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:626:5
[INFO] [stdout]     |
[INFO] [stdout] 626 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:627:5
[INFO] [stdout]     |
[INFO] [stdout] 627 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:672:5
[INFO] [stdout]     |
[INFO] [stdout] 672 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:675:5
[INFO] [stdout]     |
[INFO] [stdout] 675 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:708:5
[INFO] [stdout]     |
[INFO] [stdout] 708 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1235:58
[INFO] [stdout]      |
[INFO] [stdout] 1235 | pub fn shadow_function(r_sat: &Vector3, r_sun: &Vector3, R_earth: f64) -> f64 {
[INFO] [stdout]      |                                                          ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1359:5
[INFO] [stdout]      |
[INFO] [stdout] 1359 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1360:5
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1412:5
[INFO] [stdout]      |
[INFO] [stdout] 1412 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1413:5
[INFO] [stdout]      |
[INFO] [stdout] 1413 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1482:5
[INFO] [stdout]      |
[INFO] [stdout] 1482 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1483:5
[INFO] [stdout]      |
[INFO] [stdout] 1483 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1535:5
[INFO] [stdout]      |
[INFO] [stdout] 1535 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1536:5
[INFO] [stdout]      |
[INFO] [stdout] 1536 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:138:51
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn jacobian_j2(r: &Vector3, mu: f64, j2: f64, R: f64) -> na::Matrix6<f64> {
[INFO] [stdout]     |                                                   ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let A = jacobian_two_body(&r, mu);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let A = jacobian_two_body(&r, mu);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let A = jacobian_j2(&r, mu, j2, R);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] running `Command { std: "docker" "inspect" "22fd4c38c1ac388ee2cf375340ac3ed31ec290a34f9f7275f135451173a8fd94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22fd4c38c1ac388ee2cf375340ac3ed31ec290a34f9f7275f135451173a8fd94", kill_on_drop: false }`
[INFO] [stdout] 22fd4c38c1ac388ee2cf375340ac3ed31ec290a34f9f7275f135451173a8fd94
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ad1331c351d149621935bef604ddd1abb6331265caab6aea3444ba587e5a760
[INFO] running `Command { std: "docker" "start" "-a" "8ad1331c351d149621935bef604ddd1abb6331265caab6aea3444ba587e5a760", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling clap_builder v4.5.50
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling clap v4.5.50
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.8.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling astrora_core v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `hifitime::TimeScale`
[INFO] [stdout]   --> src/coordinates/frames.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | use hifitime::TimeScale;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `__pyfunction_py_visibility_circle::SIGNATURE`: this function has implicit defaults for the trailing `Option<T>` arguments 
[INFO] [stdout]          = note: these implicit defaults are being phased out 
[INFO] [stdout]          = help: add `#[pyo3(signature = (lat_sub_deg, lon_sub_deg, altitude_km, min_elevation_deg, num_points=None))]` to this function to silence this warning and keep the current behavior
[INFO] [stdout]     --> src/lib.rs:5701:4
[INFO] [stdout]      |
[INFO] [stdout] 5701 | fn py_visibility_circle<'py>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AU`
[INFO] [stdout]     --> src/propagators/perturbations.rs:2603:34
[INFO] [stdout]      |
[INFO] [stdout] 2603 |     use crate::core::constants::{AU, GM_EARTH, R_EARTH};
[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: `approx::assert_relative_eq`
[INFO] [stdout]     --> src/propagators/perturbations.rs:2604:9
[INFO] [stdout]      |
[INFO] [stdout] 2604 |     use approx::assert_relative_eq;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     (MIN_ORBITAL_RADIUS..MAX_ORBITAL_RADIUS)
[INFO] [stdout]     |     ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 103 -     (MIN_ORBITAL_RADIUS..MAX_ORBITAL_RADIUS)
[INFO] [stdout] 103 +     MIN_ORBITAL_RADIUS..MAX_ORBITAL_RADIUS
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     (0.0..0.9) // Avoid near-parabolic orbits
[INFO] [stdout]     |     ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -     (0.0..0.9) // Avoid near-parabolic orbits
[INFO] [stdout] 108 +     0.0..0.9 // Avoid near-parabolic orbits
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     (0.0..std::f64::consts::PI)
[INFO] [stdout]     |     ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     (0.0..std::f64::consts::PI)
[INFO] [stdout] 121 +     0.0..std::f64::consts::PI
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     (0.0..std::f64::consts::TAU)
[INFO] [stdout]     |     ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 126 -     (0.0..std::f64::consts::TAU)
[INFO] [stdout] 126 +     0.0..std::f64::consts::TAU
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     (1.0..86400.0) // 1 second to 1 day
[INFO] [stdout]     |     ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -     (1.0..86400.0) // 1 second to 1 day
[INFO] [stdout] 131 +     1.0..86400.0 // 1 second to 1 day
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     (1.0..600.0) // 1 second to 10 minutes
[INFO] [stdout]     |     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 136 -     (1.0..600.0) // 1 second to 10 minutes
[INFO] [stdout] 136 +     1.0..600.0 // 1 second to 10 minutes
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/test_utils.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     (1.0..15.0) // Typical orbital velocities
[INFO] [stdout]     |     ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 141 -     (1.0..15.0) // Typical orbital velocities
[INFO] [stdout] 141 +     1.0..15.0 // Typical orbital velocities
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `__pyfunction_py_visibility_circle::SIGNATURE`: this function has implicit defaults for the trailing `Option<T>` arguments 
[INFO] [stdout]          = note: these implicit defaults are being phased out 
[INFO] [stdout]          = help: add `#[pyo3(signature = (lat_sub_deg, lon_sub_deg, altitude_km, min_elevation_deg, num_points=None))]` to this function to silence this warning and keep the current behavior
[INFO] [stdout]     --> src/lib.rs:5701:4
[INFO] [stdout]      |
[INFO] [stdout] 5701 | fn py_visibility_circle<'py>(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r8`
[INFO] [stdout]    --> src/propagators/stm.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let r8 = r6 * r2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r8`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jd1`
[INFO] [stdout]    --> src/coordinates/precession_nutation.rs:293:35
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_jd1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jd2`
[INFO] [stdout]    --> src/coordinates/precession_nutation.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_jd2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_infinity`
[INFO] [stdout]    --> src/maneuvers/gravityassist.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let v_infinity = v_infinity_sq.sqrt();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_infinity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iter`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         for iter in 0..MAX_ITER {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2t_dx2`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:470:25
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d2t_dx2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d3t_dx3`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:470:34
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d3t_dx3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eccentricity`
[INFO] [stdout]    --> src/satellite/eclipse.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 |     eccentricity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eccentricity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `H`
[INFO] [stdout]    --> src/satellite/lifetime.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 175 -     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout] 175 +     let core::constants::G = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let _H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dt` is never read
[INFO] [stdout]    --> src/satellite/lifetime.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut dt = initial_time_step;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/satellite/conjunction.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 331 -         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout] 331 +         let core::constants::G = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let _r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `normalize_vector` is never used
[INFO] [stdout]    --> src/maneuvers/gravityassist.rs:479:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl GravityAssist {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn normalize_vector(v: [f64; 3]) -> [f64; 3] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stumpff_functions` is never used
[INFO] [stdout]    --> src/maneuvers/lambert.rs:647:4
[INFO] [stdout]     |
[INFO] [stdout] 647 | fn stumpff_functions(z: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stumpff_derivatives` is never used
[INFO] [stdout]    --> src/maneuvers/lambert.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn stumpff_derivatives(z: f64, c2: f64, c3: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WGS84_EP2` is never used
[INFO] [stdout]    --> src/satellite/groundtrack.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const WGS84_EP2: f64 = (WGS84_A * WGS84_A - WGS84_B * WGS84_B) / (WGS84_B * WGS84_B); // Second eccentricity squared
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PHI` is never used
[INFO] [stdout]    --> src/satellite/conjunction.rs:409:11
[INFO] [stdout]     |
[INFO] [stdout] 409 |     const PHI: f64 = 1.618033988749895; // Golden ratio
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1631:5
[INFO] [stdout]      |
[INFO] [stdout] 1631 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1692:5
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1766:5
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1841:5
[INFO] [stdout]      |
[INFO] [stdout] 1841 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1930:5
[INFO] [stdout]      |
[INFO] [stdout] 1930 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2021:5
[INFO] [stdout]      |
[INFO] [stdout] 2021 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2084:53
[INFO] [stdout]      |
[INFO] [stdout] 2084 | fn py_exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stdout]      |                                                     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2124:5
[INFO] [stdout]      |
[INFO] [stdout] 2124 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2126:5
[INFO] [stdout]      |
[INFO] [stdout] 2126 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2127:5
[INFO] [stdout]      |
[INFO] [stdout] 2127 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2190:5
[INFO] [stdout]      |
[INFO] [stdout] 2190 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2192:5
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2193:5
[INFO] [stdout]      |
[INFO] [stdout] 2193 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2244:5
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2246:5
[INFO] [stdout]      |
[INFO] [stdout] 2246 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2247:5
[INFO] [stdout]      |
[INFO] [stdout] 2247 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2302:5
[INFO] [stdout]      |
[INFO] [stdout] 2302 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2304:5
[INFO] [stdout]      |
[INFO] [stdout] 2304 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2305:5
[INFO] [stdout]      |
[INFO] [stdout] 2305 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2360:5
[INFO] [stdout]      |
[INFO] [stdout] 2360 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2362:5
[INFO] [stdout]      |
[INFO] [stdout] 2362 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2363:5
[INFO] [stdout]      |
[INFO] [stdout] 2363 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2725:5
[INFO] [stdout]      |
[INFO] [stdout] 2725 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2781:5
[INFO] [stdout]      |
[INFO] [stdout] 2781 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2782:5
[INFO] [stdout]      |
[INFO] [stdout] 2782 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2851:5
[INFO] [stdout]      |
[INFO] [stdout] 2851 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2852:5
[INFO] [stdout]      |
[INFO] [stdout] 2852 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2928:5
[INFO] [stdout]      |
[INFO] [stdout] 2928 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2929:5
[INFO] [stdout]      |
[INFO] [stdout] 2929 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:3158:5
[INFO] [stdout]      |
[INFO] [stdout] 3158 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub L: f64,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:188:56
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stdout]     |                                                        ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:557:9
[INFO] [stdout]     |
[INFO] [stdout] 557 |     let L = raan + argp + nu;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:829:55
[INFO] [stdout]     |
[INFO] [stdout] 829 |     fn py_new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stdout]     |                                                       ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/core/anomaly.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let M = mean_anomaly.rem_euclid(2.0 * PI);
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E0` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let E0 = if eccentricity < 0.8 {
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `e0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let ratio = |E: f64| (E - eccentricity * E.sin() - M) / (1.0 - eccentricity * E.cos());
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let f = |E: f64| E - eccentricity * E.sin() - M;
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let M = (eccentric_anomaly - eccentricity * eccentric_anomaly.sin()).rem_euclid(2.0 * PI);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cos_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let cos_E = eccentric_anomaly.cos();
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sin_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let sin_E = eccentric_anomaly.sin();
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cos_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let cos_E = (eccentricity + cos_nu) / denom;
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sin_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let sin_E = ((1.0 - eccentricity * eccentricity).sqrt() * sin_nu) / denom;
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let E = sin_E.atan2(cos_E);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let E = mean_to_eccentric_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let E = true_to_eccentric_anomaly(true_anomaly, eccentricity)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let H0 = if mean_anomaly.abs() > 1.0 {
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:354:18
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let ratio = |H: f64| {
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:357:14
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let f = |H: f64| eccentricity * H.sinh() - H - mean_anomaly;
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let M = eccentricity * hyperbolic_anomaly.sinh() - hyperbolic_anomaly;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let cosh_H = hyperbolic_anomaly.cosh();
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `cosh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |     let sinh_H = hyperbolic_anomaly.sinh();
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_cosh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |     let _cosh_H = (eccentricity + cos_nu) / denom;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `_cosh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let sinh_H = ((eccentricity * eccentricity - 1.0).sqrt() * sin_nu) / denom;
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let H = mean_to_hyperbolic_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |     let H = true_to_hyperbolic_anomaly(true_anomaly, eccentricity)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:527:9
[INFO] [stdout]     |
[INFO] [stdout] 527 |     let D = if mean_anomaly >= 0.0 {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |     let D = (true_anomaly / 2.0).tan();
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |     let M = D + D.powi(3) / 3.0;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:619:20
[INFO] [stdout]     |
[INFO] [stdout] 619 |         .map(|(i, &M)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:656:20
[INFO] [stdout]     |
[INFO] [stdout] 656 |         .map(|(i, &E)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:738:20
[INFO] [stdout]     |
[INFO] [stdout] 738 |         .map(|(i, &M)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:772:20
[INFO] [stdout]     |
[INFO] [stdout] 772 |         .map(|(i, &H)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:796:16
[INFO] [stdout]     |
[INFO] [stdout] 796 |         .map(|&M| mean_to_true_anomaly_parabolic(M))
[INFO] [stdout]     |                ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M0` should have a snake case name
[INFO] [stdout]   --> src/propagators/keplerian.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let M0 = true_to_mean_anomaly(elements.nu, elements.e)?;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/propagators/keplerian.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let M = (M0 + n * dt).rem_euclid(2.0 * PI);
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delta_M` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let delta_M = n * dt;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `delta_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M0` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let M0 = true_to_mean_anomaly(nu0, e)?;
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let M = M0 + delta_M;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/propagators/perturbations.rs:67:55
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn j2_perturbation(r: &Vector3, mu: f64, j2: f64, R: f64) -> Vector3 {
[INFO] [stdout]    |                                                       ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:137:54
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stdout]     |                                                      ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:52
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                    ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:71
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                                       ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:80
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                                                ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 372 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:468:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:470:5
[INFO] [stdout]     |
[INFO] [stdout] 470 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:471:5
[INFO] [stdout]     |
[INFO] [stdout] 471 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:529:5
[INFO] [stdout]     |
[INFO] [stdout] 529 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:531:5
[INFO] [stdout]     |
[INFO] [stdout] 531 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:583:5
[INFO] [stdout]     |
[INFO] [stdout] 583 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 585 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 586 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:624:5
[INFO] [stdout]     |
[INFO] [stdout] 624 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:626:5
[INFO] [stdout]     |
[INFO] [stdout] 626 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:627:5
[INFO] [stdout]     |
[INFO] [stdout] 627 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:672:5
[INFO] [stdout]     |
[INFO] [stdout] 672 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:675:5
[INFO] [stdout]     |
[INFO] [stdout] 675 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:708:5
[INFO] [stdout]     |
[INFO] [stdout] 708 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1235:58
[INFO] [stdout]      |
[INFO] [stdout] 1235 | pub fn shadow_function(r_sat: &Vector3, r_sun: &Vector3, R_earth: f64) -> f64 {
[INFO] [stdout]      |                                                          ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1359:5
[INFO] [stdout]      |
[INFO] [stdout] 1359 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1360:5
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1412:5
[INFO] [stdout]      |
[INFO] [stdout] 1412 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1413:5
[INFO] [stdout]      |
[INFO] [stdout] 1413 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1482:5
[INFO] [stdout]      |
[INFO] [stdout] 1482 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1483:5
[INFO] [stdout]      |
[INFO] [stdout] 1483 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1535:5
[INFO] [stdout]      |
[INFO] [stdout] 1535 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1536:5
[INFO] [stdout]      |
[INFO] [stdout] 1536 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:138:51
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn jacobian_j2(r: &Vector3, mu: f64, j2: f64, R: f64) -> na::Matrix6<f64> {
[INFO] [stdout]     |                                                   ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let A = jacobian_two_body(&r, mu);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let A = jacobian_two_body(&r, mu);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let A = jacobian_j2(&r, mu, j2, R);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_mag`
[INFO] [stdout]    --> src/core/linalg.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let c_mag = c.norm();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_mag`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_circ`
[INFO] [stdout]    --> src/propagators/keplerian.rs:552:13
[INFO] [stdout]     |
[INFO] [stdout] 552 |         let v_circ = (GM_EARTH / r).sqrt();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_circ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r8`
[INFO] [stdout]    --> src/propagators/stm.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let r8 = r6 * r2;
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jd1`
[INFO] [stdout]    --> src/coordinates/precession_nutation.rs:293:35
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_jd1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jd2`
[INFO] [stdout]    --> src/coordinates/precession_nutation.rs:293:45
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stdout]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_jd2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_infinity`
[INFO] [stdout]    --> src/maneuvers/gravityassist.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let v_infinity = v_infinity_sq.sqrt();
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_infinity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `iter`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:454:13
[INFO] [stdout]     |
[INFO] [stdout] 454 |         for iter in 0..MAX_ITER {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d2t_dx2`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:470:25
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d2t_dx2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d3t_dx3`
[INFO] [stdout]    --> src/maneuvers/lambert.rs:470:34
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d3t_dx3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eccentricity`
[INFO] [stdout]    --> src/satellite/eclipse.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 |     eccentricity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eccentricity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `H`
[INFO] [stdout]    --> src/satellite/lifetime.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 175 -     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout] 175 +     let core::constants::G = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let _H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dt` is never read
[INFO] [stdout]    --> src/satellite/lifetime.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut dt = initial_time_step;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/satellite/conjunction.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 331 -         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout] 331 +         let core::constants::G = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let _r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/test_utils.rs:338:9
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let e = (r_a - r_p) / (r_a + r_p);
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stdout]     |
[INFO] [stdout] 338 -     let e = (r_a - r_p) / (r_a + r_p);
[INFO] [stdout] 338 +     let core::constants::G = (r_a - r_p) / (r_a + r_p);
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let _e = (r_a - r_p) / (r_a + r_p);
[INFO] [stdout]     |         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/test_utils.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 |             dt in small_timestep_strategy()
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stumpff_derivatives` is never used
[INFO] [stdout]    --> src/maneuvers/lambert.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn stumpff_derivatives(z: f64, c2: f64, c3: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WGS84_EP2` is never used
[INFO] [stdout]    --> src/satellite/groundtrack.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const WGS84_EP2: f64 = (WGS84_A * WGS84_A - WGS84_B * WGS84_B) / (WGS84_B * WGS84_B); // Second eccentricity squared
[INFO] [stdout]     |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PHI` is never used
[INFO] [stdout]    --> src/satellite/conjunction.rs:409:11
[INFO] [stdout]     |
[INFO] [stdout] 409 |     const PHI: f64 = 1.618033988749895; // Golden ratio
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1631:5
[INFO] [stdout]      |
[INFO] [stdout] 1631 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1692:5
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1766:5
[INFO] [stdout]      |
[INFO] [stdout] 1766 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1841:5
[INFO] [stdout]      |
[INFO] [stdout] 1841 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:1930:5
[INFO] [stdout]      |
[INFO] [stdout] 1930 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2021:5
[INFO] [stdout]      |
[INFO] [stdout] 2021 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2084:53
[INFO] [stdout]      |
[INFO] [stdout] 2084 | fn py_exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stdout]      |                                                     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2124:5
[INFO] [stdout]      |
[INFO] [stdout] 2124 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2126:5
[INFO] [stdout]      |
[INFO] [stdout] 2126 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2127:5
[INFO] [stdout]      |
[INFO] [stdout] 2127 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2190:5
[INFO] [stdout]      |
[INFO] [stdout] 2190 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2192:5
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2193:5
[INFO] [stdout]      |
[INFO] [stdout] 2193 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2244:5
[INFO] [stdout]      |
[INFO] [stdout] 2244 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2246:5
[INFO] [stdout]      |
[INFO] [stdout] 2246 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2247:5
[INFO] [stdout]      |
[INFO] [stdout] 2247 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2302:5
[INFO] [stdout]      |
[INFO] [stdout] 2302 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2304:5
[INFO] [stdout]      |
[INFO] [stdout] 2304 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2305:5
[INFO] [stdout]      |
[INFO] [stdout] 2305 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2360:5
[INFO] [stdout]      |
[INFO] [stdout] 2360 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2362:5
[INFO] [stdout]      |
[INFO] [stdout] 2362 |     H0: f64,
[INFO] [stdout]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2363:5
[INFO] [stdout]      |
[INFO] [stdout] 2363 |     B: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2725:5
[INFO] [stdout]      |
[INFO] [stdout] 2725 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2781:5
[INFO] [stdout]      |
[INFO] [stdout] 2781 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2782:5
[INFO] [stdout]      |
[INFO] [stdout] 2782 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2851:5
[INFO] [stdout]      |
[INFO] [stdout] 2851 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2852:5
[INFO] [stdout]      |
[INFO] [stdout] 2852 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2928:5
[INFO] [stdout]      |
[INFO] [stdout] 2928 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:2929:5
[INFO] [stdout]      |
[INFO] [stdout] 2929 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]     --> src/lib.rs:3158:5
[INFO] [stdout]      |
[INFO] [stdout] 3158 |     R: f64,
[INFO] [stdout]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub L: f64,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:188:56
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stdout]     |                                                        ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:557:9
[INFO] [stdout]     |
[INFO] [stdout] 557 |     let L = raan + argp + nu;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `L` should have a snake case name
[INFO] [stdout]    --> src/core/elements.rs:829:55
[INFO] [stdout]     |
[INFO] [stdout] 829 |     fn py_new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stdout]     |                                                       ^ help: convert the identifier to snake case: `l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/core/anomaly.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let M = mean_anomaly.rem_euclid(2.0 * PI);
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E0` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |     let E0 = if eccentricity < 0.8 {
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `e0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:113:18
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let ratio = |E: f64| (E - eccentricity * E.sin() - M) / (1.0 - eccentricity * E.cos());
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let f = |E: f64| E - eccentricity * E.sin() - M;
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let M = (eccentric_anomaly - eccentricity * eccentric_anomaly.sin()).rem_euclid(2.0 * PI);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cos_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let cos_E = eccentric_anomaly.cos();
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sin_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let sin_E = eccentric_anomaly.sin();
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cos_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:244:9
[INFO] [stdout]     |
[INFO] [stdout] 244 |     let cos_E = (eccentricity + cos_nu) / denom;
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sin_E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     let sin_E = ((1.0 - eccentricity * eccentricity).sqrt() * sin_nu) / denom;
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let E = sin_E.atan2(cos_E);
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let E = mean_to_eccentric_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 284 |     let E = true_to_eccentric_anomaly(true_anomaly, eccentricity)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let H0 = if mean_anomaly.abs() > 1.0 {
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:354:18
[INFO] [stdout]     |
[INFO] [stdout] 354 |     let ratio = |H: f64| {
[INFO] [stdout]     |                  ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:357:14
[INFO] [stdout]     |
[INFO] [stdout] 357 |     let f = |H: f64| eccentricity * H.sinh() - H - mean_anomaly;
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |     let M = eccentricity * hyperbolic_anomaly.sinh() - hyperbolic_anomaly;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `cosh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:412:9
[INFO] [stdout]     |
[INFO] [stdout] 412 |     let cosh_H = hyperbolic_anomaly.cosh();
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `cosh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:413:9
[INFO] [stdout]     |
[INFO] [stdout] 413 |     let sinh_H = hyperbolic_anomaly.sinh();
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_cosh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 452 |     let _cosh_H = (eccentricity + cos_nu) / denom;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `_cosh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `sinh_H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:453:9
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let sinh_H = ((eccentricity * eccentricity - 1.0).sqrt() * sin_nu) / denom;
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:469:9
[INFO] [stdout]     |
[INFO] [stdout] 469 |     let H = mean_to_hyperbolic_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:480:9
[INFO] [stdout]     |
[INFO] [stdout] 480 |     let H = true_to_hyperbolic_anomaly(true_anomaly, eccentricity)?;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:527:9
[INFO] [stdout]     |
[INFO] [stdout] 527 |     let D = if mean_anomaly >= 0.0 {
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |     let D = (true_anomaly / 2.0).tan();
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 554 |     let M = D + D.powi(3) / 3.0;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:619:20
[INFO] [stdout]     |
[INFO] [stdout] 619 |         .map(|(i, &M)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:656:20
[INFO] [stdout]     |
[INFO] [stdout] 656 |         .map(|(i, &E)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:738:20
[INFO] [stdout]     |
[INFO] [stdout] 738 |         .map(|(i, &M)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:772:20
[INFO] [stdout]     |
[INFO] [stdout] 772 |         .map(|(i, &H)| {
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:796:16
[INFO] [stdout]     |
[INFO] [stdout] 796 |         .map(|&M| mean_to_true_anomaly_parabolic(M))
[INFO] [stdout]     |                ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:818:13
[INFO] [stdout]     |
[INFO] [stdout] 818 |         let M = 1.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:820:13
[INFO] [stdout]     |
[INFO] [stdout] 820 |         let E = mean_to_eccentric_anomaly(M, e, None, None).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:827:13
[INFO] [stdout]     |
[INFO] [stdout] 827 |         let M = 1.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:829:13
[INFO] [stdout]     |
[INFO] [stdout] 829 |         let E = mean_to_eccentric_anomaly(M, e, None, None).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:832:13
[INFO] [stdout]     |
[INFO] [stdout] 832 |         let M_check = E - e * E.sin();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:839:13
[INFO] [stdout]     |
[INFO] [stdout] 839 |         let M = 0.5;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:841:13
[INFO] [stdout]     |
[INFO] [stdout] 841 |         let E = mean_to_eccentric_anomaly(M, e, None, None).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:843:13
[INFO] [stdout]     |
[INFO] [stdout] 843 |         let M_check = E - e * E.sin();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:850:13
[INFO] [stdout]     |
[INFO] [stdout] 850 |         let E = 0.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:859:13
[INFO] [stdout]     |
[INFO] [stdout] 859 |         let E = PI;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:870:13
[INFO] [stdout]     |
[INFO] [stdout] 870 |         let E = true_to_eccentric_anomaly(nu_orig, e).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_orig` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:878:13
[INFO] [stdout]     |
[INFO] [stdout] 878 |         let M_orig = 1.5;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `m_orig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:882:13
[INFO] [stdout]     |
[INFO] [stdout] 882 |         let M_check = true_to_mean_anomaly(nu, e).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:889:13
[INFO] [stdout]     |
[INFO] [stdout] 889 |         let M = 1.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:902:13
[INFO] [stdout]     |
[INFO] [stdout] 902 |         let M = 2.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:904:13
[INFO] [stdout]     |
[INFO] [stdout] 904 |         let H = mean_to_hyperbolic_anomaly(M, e, None, None).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:907:13
[INFO] [stdout]     |
[INFO] [stdout] 907 |         let M_check = e * H.sinh() - H;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:913:13
[INFO] [stdout]     |
[INFO] [stdout] 913 |         let M = 5.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:915:13
[INFO] [stdout]     |
[INFO] [stdout] 915 |         let H = mean_to_hyperbolic_anomaly(M, e, None, None).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:917:13
[INFO] [stdout]     |
[INFO] [stdout] 917 |         let M_check = e * H.sinh() - H;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:924:13
[INFO] [stdout]     |
[INFO] [stdout] 924 |         let H = 0.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:935:13
[INFO] [stdout]     |
[INFO] [stdout] 935 |         let H = true_to_hyperbolic_anomaly(nu_orig, e).unwrap();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_orig` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:943:13
[INFO] [stdout]     |
[INFO] [stdout] 943 |         let M_orig = 3.0;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `m_orig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:947:13
[INFO] [stdout]     |
[INFO] [stdout] 947 |         let M_check = true_to_mean_anomaly_hyperbolic(nu, e).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:954:13
[INFO] [stdout]     |
[INFO] [stdout] 954 |         let M = 1.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:967:13
[INFO] [stdout]     |
[INFO] [stdout] 967 |         let M = 0.0;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:974:13
[INFO] [stdout]     |
[INFO] [stdout] 974 |         let M = 0.5;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:978:13
[INFO] [stdout]     |
[INFO] [stdout] 978 |         let D = (nu / 2.0).tan();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:979:13
[INFO] [stdout]     |
[INFO] [stdout] 979 |         let M_check = D + D.powi(3) / 3.0;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:985:13
[INFO] [stdout]     |
[INFO] [stdout] 985 |         let M = -0.5;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:988:13
[INFO] [stdout]     |
[INFO] [stdout] 988 |         let D = (nu / 2.0).tan();
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:989:13
[INFO] [stdout]     |
[INFO] [stdout] 989 |         let M_check = D + D.powi(3) / 3.0;
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_orig` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:995:13
[INFO] [stdout]     |
[INFO] [stdout] 995 |         let M_orig = 1.2;
[INFO] [stdout]     |             ^^^^^^ help: convert the identifier to snake case: `m_orig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]    --> src/core/anomaly.rs:998:13
[INFO] [stdout]     |
[INFO] [stdout] 998 |         let M_check = true_to_mean_anomaly_parabolic(nu).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1006:13
[INFO] [stdout]      |
[INFO] [stdout] 1006 |         let M = 0.8;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1030:18
[INFO] [stdout]      |
[INFO] [stdout] 1030 |         for (i, &M) in mean_anomalies.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E_individual` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1031:17
[INFO] [stdout]      |
[INFO] [stdout] 1031 |             let E_individual = mean_to_eccentric_anomaly(M, eccentricity, None, None).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `e_individual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E_individual` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1048:17
[INFO] [stdout]      |
[INFO] [stdout] 1048 |             let E_individual = mean_to_eccentric_anomaly(mean_anomalies[i], eccentricities[i], None, None).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `e_individual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1064:17
[INFO] [stdout]      |
[INFO] [stdout] 1064 |             let M_check = true_to_mean_anomaly(nu, eccentricity).unwrap();
[INFO] [stdout]      |                 ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_individual` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1080:17
[INFO] [stdout]      |
[INFO] [stdout] 1080 |             let M_individual = true_to_mean_anomaly(nu, eccentricity).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `m_individual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1095:18
[INFO] [stdout]      |
[INFO] [stdout] 1095 |         for (i, &M) in mean_anomalies.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H_individual` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1096:17
[INFO] [stdout]      |
[INFO] [stdout] 1096 |             let H_individual = mean_to_hyperbolic_anomaly(M, eccentricity, None, None).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `h_individual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M_check` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1112:17
[INFO] [stdout]      |
[INFO] [stdout] 1112 |             let M_check = true_to_mean_anomaly_hyperbolic(results[i], eccentricities[i]).unwrap();
[INFO] [stdout]      |                 ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1126:18
[INFO] [stdout]      |
[INFO] [stdout] 1126 |         for (i, &M) in mean_anomalies.iter().enumerate() {
[INFO] [stdout]      |                  ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `E_individual` should have a snake case name
[INFO] [stdout]     --> src/core/anomaly.rs:1154:17
[INFO] [stdout]      |
[INFO] [stdout] 1154 |             let E_individual = mean_to_eccentric_anomaly(mean_anomalies[*i], eccentricity, None, None).unwrap();
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `e_individual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M0` should have a snake case name
[INFO] [stdout]   --> src/propagators/keplerian.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |     let M0 = true_to_mean_anomaly(elements.nu, elements.e)?;
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]   --> src/propagators/keplerian.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let M = (M0 + n * dt).rem_euclid(2.0 * PI);
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `delta_M` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let delta_M = n * dt;
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `delta_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M0` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let M0 = true_to_mean_anomaly(nu0, e)?;
[INFO] [stdout]     |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `M` should have a snake case name
[INFO] [stdout]    --> src/propagators/keplerian.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let M = M0 + delta_M;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/propagators/perturbations.rs:67:55
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn j2_perturbation(r: &Vector3, mu: f64, j2: f64, R: f64) -> Vector3 {
[INFO] [stdout]    |                                                       ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:137:54
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stdout]     |                                                      ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:52
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                    ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:71
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                                       ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:192:80
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stdout]     |                                                                                ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 372 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:468:5
[INFO] [stdout]     |
[INFO] [stdout] 468 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:470:5
[INFO] [stdout]     |
[INFO] [stdout] 470 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:471:5
[INFO] [stdout]     |
[INFO] [stdout] 471 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:529:5
[INFO] [stdout]     |
[INFO] [stdout] 529 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:531:5
[INFO] [stdout]     |
[INFO] [stdout] 531 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:583:5
[INFO] [stdout]     |
[INFO] [stdout] 583 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:585:5
[INFO] [stdout]     |
[INFO] [stdout] 585 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:586:5
[INFO] [stdout]     |
[INFO] [stdout] 586 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:624:5
[INFO] [stdout]     |
[INFO] [stdout] 624 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:626:5
[INFO] [stdout]     |
[INFO] [stdout] 626 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:627:5
[INFO] [stdout]     |
[INFO] [stdout] 627 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:672:5
[INFO] [stdout]     |
[INFO] [stdout] 672 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:675:5
[INFO] [stdout]     |
[INFO] [stdout] 675 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:708:5
[INFO] [stdout]     |
[INFO] [stdout] 708 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H0` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     H0: f64,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/propagators/perturbations.rs:711:5
[INFO] [stdout]     |
[INFO] [stdout] 711 |     B: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1235:58
[INFO] [stdout]      |
[INFO] [stdout] 1235 | pub fn shadow_function(r_sat: &Vector3, r_sun: &Vector3, R_earth: f64) -> f64 {
[INFO] [stdout]      |                                                          ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1359:5
[INFO] [stdout]      |
[INFO] [stdout] 1359 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1360:5
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1412:5
[INFO] [stdout]      |
[INFO] [stdout] 1412 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1413:5
[INFO] [stdout]      |
[INFO] [stdout] 1413 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1482:5
[INFO] [stdout]      |
[INFO] [stdout] 1482 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1483:5
[INFO] [stdout]      |
[INFO] [stdout] 1483 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1535:5
[INFO] [stdout]      |
[INFO] [stdout] 1535 |     C_r: f64,
[INFO] [stdout]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_earth` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1536:5
[INFO] [stdout]      |
[INFO] [stdout] 1536 |     R_earth: f64,
[INFO] [stdout]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rho_H` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1794:13
[INFO] [stdout]      |
[INFO] [stdout] 1794 |         let rho_H = exponential_density(H0_EARTH, RHO0_EARTH, H0_EARTH);
[INFO] [stdout]      |             ^^^^^ help: convert the identifier to snake case: `rho_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1807:13
[INFO] [stdout]      |
[INFO] [stdout] 1807 |         let B = 50.0; // CubeSat-like ballistic coefficient
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1831:13
[INFO] [stdout]      |
[INFO] [stdout] 1831 |         let B = 82.0; // ISS ballistic coefficient
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1846:13
[INFO] [stdout]      |
[INFO] [stdout] 1846 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1867:13
[INFO] [stdout]      |
[INFO] [stdout] 1867 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_small` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1883:13
[INFO] [stdout]      |
[INFO] [stdout] 1883 |         let B_small = 20.0; // Small satellite (more drag)
[INFO] [stdout]      |             ^^^^^^^ help: convert the identifier to snake case: `b_small`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_large` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1884:13
[INFO] [stdout]      |
[INFO] [stdout] 1884 |         let B_large = 200.0; // Large satellite (less drag)
[INFO] [stdout]      |             ^^^^^^^ help: convert the identifier to snake case: `b_large`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1905:13
[INFO] [stdout]      |
[INFO] [stdout] 1905 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1923:13
[INFO] [stdout]      |
[INFO] [stdout] 1923 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1941:13
[INFO] [stdout]      |
[INFO] [stdout] 1941 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1966:13
[INFO] [stdout]      |
[INFO] [stdout] 1966 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:1983:13
[INFO] [stdout]      |
[INFO] [stdout] 1983 |         let B = 50.0;
[INFO] [stdout]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2615:13
[INFO] [stdout]      |
[INFO] [stdout] 2615 |         let C_r = 1.3; // Reflectivity coefficient
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2636:13
[INFO] [stdout]      |
[INFO] [stdout] 2636 |         let C_r = 1.3;
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2656:13
[INFO] [stdout]      |
[INFO] [stdout] 2656 |         let C_r = 1.3;
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2681:13
[INFO] [stdout]      |
[INFO] [stdout] 2681 |         let C_r = 1.3;
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2709:13
[INFO] [stdout]      |
[INFO] [stdout] 2709 |         let C_r = 1.3;
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2731:13
[INFO] [stdout]      |
[INFO] [stdout] 2731 |         let C_r = 1.5;
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_r` should have a snake case name
[INFO] [stdout]     --> src/propagators/perturbations.rs:2754:13
[INFO] [stdout]      |
[INFO] [stdout] 2754 |         let C_r = 1.3;
[INFO] [stdout]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:138:51
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn jacobian_j2(r: &Vector3, mu: f64, j2: f64, R: f64) -> na::Matrix6<f64> {
[INFO] [stdout]     |                                                   ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let A = jacobian_two_body(&r, mu);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |         let A = jacobian_two_body(&r, mu);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     R: f64,
[INFO] [stdout]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:524:13
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let A = jacobian_j2(&r, mu, j2, R);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let A = jacobian_two_body(&r, GM_EARTH);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:616:13
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let A = jacobian_two_body(&r, GM_EARTH);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_twobody` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let A_twobody = jacobian_two_body(&r, GM_EARTH);
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `a_twobody`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_j2_zero` should have a snake case name
[INFO] [stdout]    --> src/propagators/stm.rs:718:13
[INFO] [stdout]     |
[INFO] [stdout] 718 |         let A_j2_zero = jacobian_j2(&r, GM_EARTH, 0.0, 6378e3);
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `a_j2_zero`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:175:9
[INFO] [stdout]     |
[INFO] [stdout] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:335:13
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let B = 0.01; // m²/kg
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rate_low_B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let rate_low_B = estimate_decay_rate(altitude, 0.001);
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `rate_low_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rate_high_B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:357:13
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let rate_high_B = estimate_decay_rate(altitude, 0.1);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `rate_high_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B1` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:371:13
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let B1 = 0.01;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `b1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B2` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:372:13
[INFO] [stdout]     |
[INFO] [stdout] 372 |         let B2 = 0.02;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `b2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |         let B = 0.5; // Very large area, small mass (e.g., balloon satellite)
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let B = 0.1; // Higher B for faster testing
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:493:13
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let B = 0.01;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:503:13
[INFO] [stdout]     |
[INFO] [stdout] 503 |         let B = 0.01;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:521:13
[INFO] [stdout]     |
[INFO] [stdout] 521 |         let B = 0.01;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_cubesat` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let B_cubesat = 0.001; // m²/kg
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `b_cubesat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_solar` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 |         let B_solar = 0.05; // m²/kg
[INFO] [stdout]     |             ^^^^^^^ help: convert the identifier to snake case: `b_solar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_balloon` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:557:13
[INFO] [stdout]     |
[INFO] [stdout] 557 |         let B_balloon = 0.2; // m²/kg
[INFO] [stdout]     |             ^^^^^^^^^ help: convert the identifier to snake case: `b_balloon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:573:13
[INFO] [stdout]     |
[INFO] [stdout] 573 |         let B = 0.01;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_iss` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:618:13
[INFO] [stdout]     |
[INFO] [stdout] 618 |         let B_iss = 0.0001; // ISS is massive with small cross-section
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case: `b_iss`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:631:13
[INFO] [stdout]     |
[INFO] [stdout] 631 |         let B = 0.01;
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/satellite/lifetime.rs:650:13
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let B = 1.0; // Extremely large
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 16s
[INFO] running `Command { std: "docker" "inspect" "8ad1331c351d149621935bef604ddd1abb6331265caab6aea3444ba587e5a760", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ad1331c351d149621935bef604ddd1abb6331265caab6aea3444ba587e5a760", kill_on_drop: false }`
[INFO] [stdout] 8ad1331c351d149621935bef604ddd1abb6331265caab6aea3444ba587e5a760
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2a837be845b909b6df17dfc34bbd9d559ad886f52fef13894d8ecd2625dcb3b5
[INFO] running `Command { std: "docker" "start" "-a" "2a837be845b909b6df17dfc34bbd9d559ad886f52fef13894d8ecd2625dcb3b5", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `hifitime::TimeScale`
[INFO] [stderr]   --> src/coordinates/frames.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 | use hifitime::TimeScale;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `__pyfunction_py_visibility_circle::SIGNATURE`: this function has implicit defaults for the trailing `Option<T>` arguments 
[INFO] [stderr]          = note: these implicit defaults are being phased out 
[INFO] [stderr]          = help: add `#[pyo3(signature = (lat_sub_deg, lon_sub_deg, altitude_km, min_elevation_deg, num_points=None))]` to this function to silence this warning and keep the current behavior
[INFO] [stderr]     --> src/lib.rs:5701:4
[INFO] [stderr]      |
[INFO] [stderr] 5701 | fn py_visibility_circle<'py>(
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r8`
[INFO] [stderr]    --> src/propagators/stm.rs:151:9
[INFO] [stderr]     |
[INFO] [stderr] 151 |     let r8 = r6 * r2;
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r8`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `jd1`
[INFO] [stderr]    --> src/coordinates/precession_nutation.rs:293:35
[INFO] [stderr]     |
[INFO] [stderr] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stderr]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_jd1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `jd2`
[INFO] [stderr]    --> src/coordinates/precession_nutation.rs:293:45
[INFO] [stderr]     |
[INFO] [stderr] 293 | pub fn simplified_nutation_matrix(jd1: f64, jd2: f64) -> Matrix3<f64> {
[INFO] [stderr]     |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_jd2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v_infinity`
[INFO] [stderr]    --> src/maneuvers/gravityassist.rs:337:13
[INFO] [stderr]     |
[INFO] [stderr] 337 |         let v_infinity = v_infinity_sq.sqrt();
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_infinity`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `iter`
[INFO] [stderr]    --> src/maneuvers/lambert.rs:454:13
[INFO] [stderr]     |
[INFO] [stderr] 454 |         for iter in 0..MAX_ITER {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_iter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d2t_dx2`
[INFO] [stderr]    --> src/maneuvers/lambert.rs:470:25
[INFO] [stderr]     |
[INFO] [stderr] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stderr]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d2t_dx2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d3t_dx3`
[INFO] [stderr]    --> src/maneuvers/lambert.rs:470:34
[INFO] [stderr]     |
[INFO] [stderr] 470 |             let (dt_dx, d2t_dx2, d3t_dx3) = time_derivatives_izzo(x, lambda, revs as i32);
[INFO] [stderr]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d3t_dx3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `eccentricity`
[INFO] [stderr]    --> src/satellite/eclipse.rs:378:5
[INFO] [stderr]     |
[INFO] [stderr] 378 |     eccentricity: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eccentricity`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `H`
[INFO] [stderr]    --> src/satellite/lifetime.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stderr]     |         ^
[INFO] [stderr]     |
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stderr]     |
[INFO] [stderr] 175 -     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stderr] 175 +     let core::constants::G = DEFAULT_SCALE_HEIGHT;
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let _H = DEFAULT_SCALE_HEIGHT;
[INFO] [stderr]     |         +
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `dt` is never read
[INFO] [stderr]    --> src/satellite/lifetime.rs:170:18
[INFO] [stderr]     |
[INFO] [stderr] 170 |     let mut dt = initial_time_step;
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r`
[INFO] [stderr]    --> src/satellite/conjunction.rs:331:13
[INFO] [stderr]     |
[INFO] [stderr] 331 |         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stderr]     |
[INFO] [stderr] 331 -         let r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stderr] 331 +         let core::constants::G = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 331 |         let _r = r0_mag + vr0 * chi2 * c2 / (mu).sqrt() + (1.0 - r0_mag / a) * chi3 * c3;
[INFO] [stderr]     |             +
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `normalize_vector` is never used
[INFO] [stderr]    --> src/maneuvers/gravityassist.rs:479:8
[INFO] [stderr]     |
[INFO] [stderr] 154 | impl GravityAssist {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 479 |     fn normalize_vector(v: [f64; 3]) -> [f64; 3] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `stumpff_functions` is never used
[INFO] [stderr]    --> src/maneuvers/lambert.rs:647:4
[INFO] [stderr]     |
[INFO] [stderr] 647 | fn stumpff_functions(z: f64) -> (f64, f64) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `stumpff_derivatives` is never used
[INFO] [stderr]    --> src/maneuvers/lambert.rs:683:4
[INFO] [stderr]     |
[INFO] [stderr] 683 | fn stumpff_derivatives(z: f64, c2: f64, c3: f64) -> (f64, f64) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WGS84_EP2` is never used
[INFO] [stderr]    --> src/satellite/groundtrack.rs:100:7
[INFO] [stderr]     |
[INFO] [stderr] 100 | const WGS84_EP2: f64 = (WGS84_A * WGS84_A - WGS84_B * WGS84_B) / (WGS84_B * WGS84_B); // Second eccentricity squared
[INFO] [stderr]     |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PHI` is never used
[INFO] [stderr]    --> src/satellite/conjunction.rs:409:11
[INFO] [stderr]     |
[INFO] [stderr] 409 |     const PHI: f64 = 1.618033988749895; // Golden ratio
[INFO] [stderr]     |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:1631:5
[INFO] [stderr]      |
[INFO] [stderr] 1631 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:1692:5
[INFO] [stderr]      |
[INFO] [stderr] 1692 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:1766:5
[INFO] [stderr]      |
[INFO] [stderr] 1766 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:1841:5
[INFO] [stderr]      |
[INFO] [stderr] 1841 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:1930:5
[INFO] [stderr]      |
[INFO] [stderr] 1930 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2021:5
[INFO] [stderr]      |
[INFO] [stderr] 2021 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2084:53
[INFO] [stderr]      |
[INFO] [stderr] 2084 | fn py_exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stderr]      |                                                     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2124:5
[INFO] [stderr]      |
[INFO] [stderr] 2124 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2126:5
[INFO] [stderr]      |
[INFO] [stderr] 2126 |     H0: f64,
[INFO] [stderr]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2127:5
[INFO] [stderr]      |
[INFO] [stderr] 2127 |     B: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2190:5
[INFO] [stderr]      |
[INFO] [stderr] 2190 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2192:5
[INFO] [stderr]      |
[INFO] [stderr] 2192 |     H0: f64,
[INFO] [stderr]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2193:5
[INFO] [stderr]      |
[INFO] [stderr] 2193 |     B: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2244:5
[INFO] [stderr]      |
[INFO] [stderr] 2244 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2246:5
[INFO] [stderr]      |
[INFO] [stderr] 2246 |     H0: f64,
[INFO] [stderr]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2247:5
[INFO] [stderr]      |
[INFO] [stderr] 2247 |     B: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2302:5
[INFO] [stderr]      |
[INFO] [stderr] 2302 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2304:5
[INFO] [stderr]      |
[INFO] [stderr] 2304 |     H0: f64,
[INFO] [stderr]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2305:5
[INFO] [stderr]      |
[INFO] [stderr] 2305 |     B: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2360:5
[INFO] [stderr]      |
[INFO] [stderr] 2360 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2362:5
[INFO] [stderr]      |
[INFO] [stderr] 2362 |     H0: f64,
[INFO] [stderr]      |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2363:5
[INFO] [stderr]      |
[INFO] [stderr] 2363 |     B: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2725:5
[INFO] [stderr]      |
[INFO] [stderr] 2725 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2781:5
[INFO] [stderr]      |
[INFO] [stderr] 2781 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2782:5
[INFO] [stderr]      |
[INFO] [stderr] 2782 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2851:5
[INFO] [stderr]      |
[INFO] [stderr] 2851 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2852:5
[INFO] [stderr]      |
[INFO] [stderr] 2852 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2928:5
[INFO] [stderr]      |
[INFO] [stderr] 2928 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:2929:5
[INFO] [stderr]      |
[INFO] [stderr] 2929 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]     --> src/lib.rs:3158:5
[INFO] [stderr]      |
[INFO] [stderr] 3158 |     R: f64,
[INFO] [stderr]      |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `L` should have a snake case name
[INFO] [stderr]    --> src/core/elements.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 175 |     pub L: f64,
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]    --> src/core/elements.rs:188:56
[INFO] [stderr]     |
[INFO] [stderr] 188 |     pub fn new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stderr]     |                                                        ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]    --> src/core/elements.rs:557:9
[INFO] [stderr]     |
[INFO] [stderr] 557 |     let L = raan + argp + nu;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `L` should have a snake case name
[INFO] [stderr]    --> src/core/elements.rs:829:55
[INFO] [stderr]     |
[INFO] [stderr] 829 |     fn py_new(p: f64, f: f64, g: f64, h: f64, k: f64, L: f64) -> Self {
[INFO] [stderr]     |                                                       ^ help: convert the identifier to snake case: `l`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]   --> src/core/anomaly.rs:97:9
[INFO] [stderr]    |
[INFO] [stderr] 97 |     let M = mean_anomaly.rem_euclid(2.0 * PI);
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E0` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |     let E0 = if eccentricity < 0.8 {
[INFO] [stderr]     |         ^^ help: convert the identifier to snake case: `e0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:113:18
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let ratio = |E: f64| (E - eccentricity * E.sin() - M) / (1.0 - eccentricity * E.cos());
[INFO] [stderr]     |                  ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:114:14
[INFO] [stderr]     |
[INFO] [stderr] 114 |     let f = |E: f64| E - eccentricity * E.sin() - M;
[INFO] [stderr]     |              ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:150:9
[INFO] [stderr]     |
[INFO] [stderr] 150 |     let M = (eccentric_anomaly - eccentricity * eccentric_anomaly.sin()).rem_euclid(2.0 * PI);
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cos_E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |     let cos_E = eccentric_anomaly.cos();
[INFO] [stderr]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sin_E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 193 |     let sin_E = eccentric_anomaly.sin();
[INFO] [stderr]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cos_E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:244:9
[INFO] [stderr]     |
[INFO] [stderr] 244 |     let cos_E = (eccentricity + cos_nu) / denom;
[INFO] [stderr]     |         ^^^^^ help: convert the identifier to snake case: `cos_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sin_E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |     let sin_E = ((1.0 - eccentricity * eccentricity).sqrt() * sin_nu) / denom;
[INFO] [stderr]     |         ^^^^^ help: convert the identifier to snake case: `sin_e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:247:9
[INFO] [stderr]     |
[INFO] [stderr] 247 |     let E = sin_E.atan2(cos_E);
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:269:9
[INFO] [stderr]     |
[INFO] [stderr] 269 |     let E = mean_to_eccentric_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:284:9
[INFO] [stderr]     |
[INFO] [stderr] 284 |     let E = true_to_eccentric_anomaly(true_anomaly, eccentricity)?;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:345:9
[INFO] [stderr]     |
[INFO] [stderr] 345 |     let H0 = if mean_anomaly.abs() > 1.0 {
[INFO] [stderr]     |         ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:354:18
[INFO] [stderr]     |
[INFO] [stderr] 354 |     let ratio = |H: f64| {
[INFO] [stderr]     |                  ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:357:14
[INFO] [stderr]     |
[INFO] [stderr] 357 |     let f = |H: f64| eccentricity * H.sinh() - H - mean_anomaly;
[INFO] [stderr]     |              ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:383:9
[INFO] [stderr]     |
[INFO] [stderr] 383 |     let M = eccentricity * hyperbolic_anomaly.sinh() - hyperbolic_anomaly;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `cosh_H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:412:9
[INFO] [stderr]     |
[INFO] [stderr] 412 |     let cosh_H = hyperbolic_anomaly.cosh();
[INFO] [stderr]     |         ^^^^^^ help: convert the identifier to snake case: `cosh_h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sinh_H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:413:9
[INFO] [stderr]     |
[INFO] [stderr] 413 |     let sinh_H = hyperbolic_anomaly.sinh();
[INFO] [stderr]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `_cosh_H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:452:9
[INFO] [stderr]     |
[INFO] [stderr] 452 |     let _cosh_H = (eccentricity + cos_nu) / denom;
[INFO] [stderr]     |         ^^^^^^^ help: convert the identifier to snake case: `_cosh_h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `sinh_H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:453:9
[INFO] [stderr]     |
[INFO] [stderr] 453 |     let sinh_H = ((eccentricity * eccentricity - 1.0).sqrt() * sin_nu) / denom;
[INFO] [stderr]     |         ^^^^^^ help: convert the identifier to snake case: `sinh_h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:469:9
[INFO] [stderr]     |
[INFO] [stderr] 469 |     let H = mean_to_hyperbolic_anomaly(mean_anomaly, eccentricity, tol, max_iter)?;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:480:9
[INFO] [stderr]     |
[INFO] [stderr] 480 |     let H = true_to_hyperbolic_anomaly(true_anomaly, eccentricity)?;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `D` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:527:9
[INFO] [stderr]     |
[INFO] [stderr] 527 |     let D = if mean_anomaly >= 0.0 {
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `D` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:551:9
[INFO] [stderr]     |
[INFO] [stderr] 551 |     let D = (true_anomaly / 2.0).tan();
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:554:9
[INFO] [stderr]     |
[INFO] [stderr] 554 |     let M = D + D.powi(3) / 3.0;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:619:20
[INFO] [stderr]     |
[INFO] [stderr] 619 |         .map(|(i, &M)| {
[INFO] [stderr]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:656:20
[INFO] [stderr]     |
[INFO] [stderr] 656 |         .map(|(i, &E)| {
[INFO] [stderr]     |                    ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:738:20
[INFO] [stderr]     |
[INFO] [stderr] 738 |         .map(|(i, &M)| {
[INFO] [stderr]     |                    ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:772:20
[INFO] [stderr]     |
[INFO] [stderr] 772 |         .map(|(i, &H)| {
[INFO] [stderr]     |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:796:16
[INFO] [stderr]     |
[INFO] [stderr] 796 |         .map(|&M| mean_to_true_anomaly_parabolic(M))
[INFO] [stderr]     |                ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M0` should have a snake case name
[INFO] [stderr]   --> src/propagators/keplerian.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 81 |     let M0 = true_to_mean_anomaly(elements.nu, elements.e)?;
[INFO] [stderr]    |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]   --> src/propagators/keplerian.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let M = (M0 + n * dt).rem_euclid(2.0 * PI);
[INFO] [stderr]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `delta_M` should have a snake case name
[INFO] [stderr]    --> src/propagators/keplerian.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |     let delta_M = n * dt;
[INFO] [stderr]     |         ^^^^^^^ help: convert the identifier to snake case: `delta_m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M0` should have a snake case name
[INFO] [stderr]    --> src/propagators/keplerian.rs:235:9
[INFO] [stderr]     |
[INFO] [stderr] 235 |     let M0 = true_to_mean_anomaly(nu0, e)?;
[INFO] [stderr]     |         ^^ help: convert the identifier to snake case: `m0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/propagators/keplerian.rs:236:9
[INFO] [stderr]     |
[INFO] [stderr] 236 |     let M = M0 + delta_M;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]   --> src/propagators/perturbations.rs:67:55
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub fn j2_perturbation(r: &Vector3, mu: f64, j2: f64, R: f64) -> Vector3 {
[INFO] [stderr]    |                                                       ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:137:54
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub fn exponential_density(altitude: f64, rho0: f64, H0: f64) -> f64 {
[INFO] [stderr]     |                                                      ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:192:52
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stderr]     |                                                    ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:192:71
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stderr]     |                                                                       ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:192:80
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub fn drag_acceleration(r: &Vector3, v: &Vector3, R: f64, rho0: f64, H0: f64, B: f64) -> Vector3 {
[INFO] [stderr]     |                                                                                ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:255:5
[INFO] [stderr]     |
[INFO] [stderr] 255 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:311:5
[INFO] [stderr]     |
[INFO] [stderr] 311 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:372:5
[INFO] [stderr]     |
[INFO] [stderr] 372 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:429:5
[INFO] [stderr]     |
[INFO] [stderr] 429 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:468:5
[INFO] [stderr]     |
[INFO] [stderr] 468 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:470:5
[INFO] [stderr]     |
[INFO] [stderr] 470 |     H0: f64,
[INFO] [stderr]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:471:5
[INFO] [stderr]     |
[INFO] [stderr] 471 |     B: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:529:5
[INFO] [stderr]     |
[INFO] [stderr] 529 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:531:5
[INFO] [stderr]     |
[INFO] [stderr] 531 |     H0: f64,
[INFO] [stderr]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:532:5
[INFO] [stderr]     |
[INFO] [stderr] 532 |     B: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:583:5
[INFO] [stderr]     |
[INFO] [stderr] 583 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:585:5
[INFO] [stderr]     |
[INFO] [stderr] 585 |     H0: f64,
[INFO] [stderr]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:586:5
[INFO] [stderr]     |
[INFO] [stderr] 586 |     B: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:624:5
[INFO] [stderr]     |
[INFO] [stderr] 624 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:626:5
[INFO] [stderr]     |
[INFO] [stderr] 626 |     H0: f64,
[INFO] [stderr]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:627:5
[INFO] [stderr]     |
[INFO] [stderr] 627 |     B: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:672:5
[INFO] [stderr]     |
[INFO] [stderr] 672 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:674:5
[INFO] [stderr]     |
[INFO] [stderr] 674 |     H0: f64,
[INFO] [stderr]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:675:5
[INFO] [stderr]     |
[INFO] [stderr] 675 |     B: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:708:5
[INFO] [stderr]     |
[INFO] [stderr] 708 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H0` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:710:5
[INFO] [stderr]     |
[INFO] [stderr] 710 |     H0: f64,
[INFO] [stderr]     |     ^^ help: convert the identifier to snake case: `h0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/propagators/perturbations.rs:711:5
[INFO] [stderr]     |
[INFO] [stderr] 711 |     B: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1235:58
[INFO] [stderr]      |
[INFO] [stderr] 1235 | pub fn shadow_function(r_sat: &Vector3, r_sun: &Vector3, R_earth: f64) -> f64 {
[INFO] [stderr]      |                                                          ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1359:5
[INFO] [stderr]      |
[INFO] [stderr] 1359 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1360:5
[INFO] [stderr]      |
[INFO] [stderr] 1360 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1412:5
[INFO] [stderr]      |
[INFO] [stderr] 1412 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1413:5
[INFO] [stderr]      |
[INFO] [stderr] 1413 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1482:5
[INFO] [stderr]      |
[INFO] [stderr] 1482 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1483:5
[INFO] [stderr]      |
[INFO] [stderr] 1483 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1535:5
[INFO] [stderr]      |
[INFO] [stderr] 1535 |     C_r: f64,
[INFO] [stderr]      |     ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R_earth` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1536:5
[INFO] [stderr]      |
[INFO] [stderr] 1536 |     R_earth: f64,
[INFO] [stderr]      |     ^^^^^^^ help: convert the identifier to snake case: `r_earth`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:138:51
[INFO] [stderr]     |
[INFO] [stderr] 138 | pub fn jacobian_j2(r: &Vector3, mu: f64, j2: f64, R: f64) -> na::Matrix6<f64> {
[INFO] [stderr]     |                                                   ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:307:13
[INFO] [stderr]     |
[INFO] [stderr] 307 |         let A = jacobian_two_body(&r, mu);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:418:13
[INFO] [stderr]     |
[INFO] [stderr] 418 |         let A = jacobian_two_body(&r, mu);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `R` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:498:5
[INFO] [stderr]     |
[INFO] [stderr] 498 |     R: f64,
[INFO] [stderr]     |     ^ help: convert the identifier to snake case: `r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:524:13
[INFO] [stderr]     |
[INFO] [stderr] 524 |         let A = jacobian_j2(&r, mu, j2, R);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:175:9
[INFO] [stderr]     |
[INFO] [stderr] 175 |     let H = DEFAULT_SCALE_HEIGHT;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: `astrora_core` (lib) generated 129 warnings (run `cargo fix --lib -p astrora_core` to apply 11 suggestions)
[INFO] [stderr] warning: unused import: `AU`
[INFO] [stderr]     --> src/propagators/perturbations.rs:2603:34
[INFO] [stderr]      |
[INFO] [stderr] 2603 |     use crate::core::constants::{AU, GM_EARTH, R_EARTH};
[INFO] [stderr]      |                                  ^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `approx::assert_relative_eq`
[INFO] [stderr]     --> src/propagators/perturbations.rs:2604:9
[INFO] [stderr]      |
[INFO] [stderr] 2604 |     use approx::assert_relative_eq;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr] 103 |     (MIN_ORBITAL_RADIUS..MAX_ORBITAL_RADIUS)
[INFO] [stderr]     |     ^                                      ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 103 -     (MIN_ORBITAL_RADIUS..MAX_ORBITAL_RADIUS)
[INFO] [stderr] 103 +     MIN_ORBITAL_RADIUS..MAX_ORBITAL_RADIUS
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 |     (0.0..0.9) // Avoid near-parabolic orbits
[INFO] [stderr]     |     ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 108 -     (0.0..0.9) // Avoid near-parabolic orbits
[INFO] [stderr] 108 +     0.0..0.9 // Avoid near-parabolic orbits
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 121 |     (0.0..std::f64::consts::PI)
[INFO] [stderr]     |     ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 121 -     (0.0..std::f64::consts::PI)
[INFO] [stderr] 121 +     0.0..std::f64::consts::PI
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     (0.0..std::f64::consts::TAU)
[INFO] [stderr]     |     ^                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 126 -     (0.0..std::f64::consts::TAU)
[INFO] [stderr] 126 +     0.0..std::f64::consts::TAU
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     (1.0..86400.0) // 1 second to 1 day
[INFO] [stderr]     |     ^            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 131 -     (1.0..86400.0) // 1 second to 1 day
[INFO] [stderr] 131 +     1.0..86400.0 // 1 second to 1 day
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     (1.0..600.0) // 1 second to 10 minutes
[INFO] [stderr]     |     ^          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 136 -     (1.0..600.0) // 1 second to 10 minutes
[INFO] [stderr] 136 +     1.0..600.0 // 1 second to 10 minutes
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/test_utils.rs:141:5
[INFO] [stderr]     |
[INFO] [stderr] 141 |     (1.0..15.0) // Typical orbital velocities
[INFO] [stderr]     |     ^         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 141 -     (1.0..15.0) // Typical orbital velocities
[INFO] [stderr] 141 +     1.0..15.0 // Typical orbital velocities
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c_mag`
[INFO] [stderr]    --> src/core/linalg.rs:437:17
[INFO] [stderr]     |
[INFO] [stderr] 437 |             let c_mag = c.norm();
[INFO] [stderr]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_mag`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v_circ`
[INFO] [stderr]    --> src/propagators/keplerian.rs:552:13
[INFO] [stderr]     |
[INFO] [stderr] 552 |         let v_circ = (GM_EARTH / r).sqrt();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_circ`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r8`
[INFO] [stderr]    --> src/propagators/stm.rs:151:9
[INFO] [stderr]     |
[INFO] [stderr] 151 |     let r8 = r6 * r2;
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r8`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/test_utils.rs:338:9
[INFO] [stderr]     |
[INFO] [stderr] 338 |     let e = (r_a - r_p) / (r_a + r_p);
[INFO] [stderr]     |         ^
[INFO] [stderr]     |
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `G`
[INFO] [stderr]     |
[INFO] [stderr] 338 -     let e = (r_a - r_p) / (r_a + r_p);
[INFO] [stderr] 338 +     let core::constants::G = (r_a - r_p) / (r_a + r_p);
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 338 |     let _e = (r_a - r_p) / (r_a + r_p);
[INFO] [stderr]     |         +
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dt`
[INFO] [stderr]    --> src/test_utils.rs:434:13
[INFO] [stderr]     |
[INFO] [stderr] 434 |             dt in small_timestep_strategy()
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stderr] 
[INFO] [stderr] warning: function `stumpff_derivatives` is never used
[INFO] [stderr]    --> src/maneuvers/lambert.rs:683:4
[INFO] [stderr]     |
[INFO] [stderr] 683 | fn stumpff_derivatives(z: f64, c2: f64, c3: f64) -> (f64, f64) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:818:13
[INFO] [stderr]     |
[INFO] [stderr] 818 |         let M = 1.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:820:13
[INFO] [stderr]     |
[INFO] [stderr] 820 |         let E = mean_to_eccentric_anomaly(M, e, None, None).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:827:13
[INFO] [stderr]     |
[INFO] [stderr] 827 |         let M = 1.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:829:13
[INFO] [stderr]     |
[INFO] [stderr] 829 |         let E = mean_to_eccentric_anomaly(M, e, None, None).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:832:13
[INFO] [stderr]     |
[INFO] [stderr] 832 |         let M_check = E - e * E.sin();
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:839:13
[INFO] [stderr]     |
[INFO] [stderr] 839 |         let M = 0.5;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:841:13
[INFO] [stderr]     |
[INFO] [stderr] 841 |         let E = mean_to_eccentric_anomaly(M, e, None, None).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:843:13
[INFO] [stderr]     |
[INFO] [stderr] 843 |         let M_check = E - e * E.sin();
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:850:13
[INFO] [stderr]     |
[INFO] [stderr] 850 |         let E = 0.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:859:13
[INFO] [stderr]     |
[INFO] [stderr] 859 |         let E = PI;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:870:13
[INFO] [stderr]     |
[INFO] [stderr] 870 |         let E = true_to_eccentric_anomaly(nu_orig, e).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `e`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_orig` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:878:13
[INFO] [stderr]     |
[INFO] [stderr] 878 |         let M_orig = 1.5;
[INFO] [stderr]     |             ^^^^^^ help: convert the identifier to snake case: `m_orig`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:882:13
[INFO] [stderr]     |
[INFO] [stderr] 882 |         let M_check = true_to_mean_anomaly(nu, e).unwrap();
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:889:13
[INFO] [stderr]     |
[INFO] [stderr] 889 |         let M = 1.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:902:13
[INFO] [stderr]     |
[INFO] [stderr] 902 |         let M = 2.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:904:13
[INFO] [stderr]     |
[INFO] [stderr] 904 |         let H = mean_to_hyperbolic_anomaly(M, e, None, None).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:907:13
[INFO] [stderr]     |
[INFO] [stderr] 907 |         let M_check = e * H.sinh() - H;
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:913:13
[INFO] [stderr]     |
[INFO] [stderr] 913 |         let M = 5.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:915:13
[INFO] [stderr]     |
[INFO] [stderr] 915 |         let H = mean_to_hyperbolic_anomaly(M, e, None, None).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:917:13
[INFO] [stderr]     |
[INFO] [stderr] 917 |         let M_check = e * H.sinh() - H;
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:924:13
[INFO] [stderr]     |
[INFO] [stderr] 924 |         let H = 0.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:935:13
[INFO] [stderr]     |
[INFO] [stderr] 935 |         let H = true_to_hyperbolic_anomaly(nu_orig, e).unwrap();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_orig` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:943:13
[INFO] [stderr]     |
[INFO] [stderr] 943 |         let M_orig = 3.0;
[INFO] [stderr]     |             ^^^^^^ help: convert the identifier to snake case: `m_orig`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:947:13
[INFO] [stderr]     |
[INFO] [stderr] 947 |         let M_check = true_to_mean_anomaly_hyperbolic(nu, e).unwrap();
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:954:13
[INFO] [stderr]     |
[INFO] [stderr] 954 |         let M = 1.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:967:13
[INFO] [stderr]     |
[INFO] [stderr] 967 |         let M = 0.0;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:974:13
[INFO] [stderr]     |
[INFO] [stderr] 974 |         let M = 0.5;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `D` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:978:13
[INFO] [stderr]     |
[INFO] [stderr] 978 |         let D = (nu / 2.0).tan();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `d`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:979:13
[INFO] [stderr]     |
[INFO] [stderr] 979 |         let M_check = D + D.powi(3) / 3.0;
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:985:13
[INFO] [stderr]     |
[INFO] [stderr] 985 |         let M = -0.5;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `D` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:988:13
[INFO] [stderr]     |
[INFO] [stderr] 988 |         let D = (nu / 2.0).tan();
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `d`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:989:13
[INFO] [stderr]     |
[INFO] [stderr] 989 |         let M_check = D + D.powi(3) / 3.0;
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_orig` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:995:13
[INFO] [stderr]     |
[INFO] [stderr] 995 |         let M_orig = 1.2;
[INFO] [stderr]     |             ^^^^^^ help: convert the identifier to snake case: `m_orig`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]    --> src/core/anomaly.rs:998:13
[INFO] [stderr]     |
[INFO] [stderr] 998 |         let M_check = true_to_mean_anomaly_parabolic(nu).unwrap();
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1006:13
[INFO] [stderr]      |
[INFO] [stderr] 1006 |         let M = 0.8;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1030:18
[INFO] [stderr]      |
[INFO] [stderr] 1030 |         for (i, &M) in mean_anomalies.iter().enumerate() {
[INFO] [stderr]      |                  ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E_individual` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1031:17
[INFO] [stderr]      |
[INFO] [stderr] 1031 |             let E_individual = mean_to_eccentric_anomaly(M, eccentricity, None, None).unwrap();
[INFO] [stderr]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `e_individual`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E_individual` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1048:17
[INFO] [stderr]      |
[INFO] [stderr] 1048 |             let E_individual = mean_to_eccentric_anomaly(mean_anomalies[i], eccentricities[i], None, None).unwrap();
[INFO] [stderr]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `e_individual`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1064:17
[INFO] [stderr]      |
[INFO] [stderr] 1064 |             let M_check = true_to_mean_anomaly(nu, eccentricity).unwrap();
[INFO] [stderr]      |                 ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_individual` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1080:17
[INFO] [stderr]      |
[INFO] [stderr] 1080 |             let M_individual = true_to_mean_anomaly(nu, eccentricity).unwrap();
[INFO] [stderr]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `m_individual`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1095:18
[INFO] [stderr]      |
[INFO] [stderr] 1095 |         for (i, &M) in mean_anomalies.iter().enumerate() {
[INFO] [stderr]      |                  ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `H_individual` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1096:17
[INFO] [stderr]      |
[INFO] [stderr] 1096 |             let H_individual = mean_to_hyperbolic_anomaly(M, eccentricity, None, None).unwrap();
[INFO] [stderr]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `h_individual`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M_check` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1112:17
[INFO] [stderr]      |
[INFO] [stderr] 1112 |             let M_check = true_to_mean_anomaly_hyperbolic(results[i], eccentricities[i]).unwrap();
[INFO] [stderr]      |                 ^^^^^^^ help: convert the identifier to snake case: `m_check`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `M` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1126:18
[INFO] [stderr]      |
[INFO] [stderr] 1126 |         for (i, &M) in mean_anomalies.iter().enumerate() {
[INFO] [stderr]      |                  ^ help: convert the identifier to snake case: `m`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `E_individual` should have a snake case name
[INFO] [stderr]     --> src/core/anomaly.rs:1154:17
[INFO] [stderr]      |
[INFO] [stderr] 1154 |             let E_individual = mean_to_eccentric_anomaly(mean_anomalies[*i], eccentricity, None, None).unwrap();
[INFO] [stderr]      |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `e_individual`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rho_H` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1794:13
[INFO] [stderr]      |
[INFO] [stderr] 1794 |         let rho_H = exponential_density(H0_EARTH, RHO0_EARTH, H0_EARTH);
[INFO] [stderr]      |             ^^^^^ help: convert the identifier to snake case: `rho_h`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1807:13
[INFO] [stderr]      |
[INFO] [stderr] 1807 |         let B = 50.0; // CubeSat-like ballistic coefficient
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1831:13
[INFO] [stderr]      |
[INFO] [stderr] 1831 |         let B = 82.0; // ISS ballistic coefficient
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1846:13
[INFO] [stderr]      |
[INFO] [stderr] 1846 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1867:13
[INFO] [stderr]      |
[INFO] [stderr] 1867 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B_small` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1883:13
[INFO] [stderr]      |
[INFO] [stderr] 1883 |         let B_small = 20.0; // Small satellite (more drag)
[INFO] [stderr]      |             ^^^^^^^ help: convert the identifier to snake case: `b_small`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B_large` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1884:13
[INFO] [stderr]      |
[INFO] [stderr] 1884 |         let B_large = 200.0; // Large satellite (less drag)
[INFO] [stderr]      |             ^^^^^^^ help: convert the identifier to snake case: `b_large`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1905:13
[INFO] [stderr]      |
[INFO] [stderr] 1905 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1923:13
[INFO] [stderr]      |
[INFO] [stderr] 1923 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1941:13
[INFO] [stderr]      |
[INFO] [stderr] 1941 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1966:13
[INFO] [stderr]      |
[INFO] [stderr] 1966 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:1983:13
[INFO] [stderr]      |
[INFO] [stderr] 1983 |         let B = 50.0;
[INFO] [stderr]      |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2615:13
[INFO] [stderr]      |
[INFO] [stderr] 2615 |         let C_r = 1.3; // Reflectivity coefficient
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2636:13
[INFO] [stderr]      |
[INFO] [stderr] 2636 |         let C_r = 1.3;
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2656:13
[INFO] [stderr]      |
[INFO] [stderr] 2656 |         let C_r = 1.3;
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2681:13
[INFO] [stderr]      |
[INFO] [stderr] 2681 |         let C_r = 1.3;
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2709:13
[INFO] [stderr]      |
[INFO] [stderr] 2709 |         let C_r = 1.3;
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2731:13
[INFO] [stderr]      |
[INFO] [stderr] 2731 |         let C_r = 1.5;
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `C_r` should have a snake case name
[INFO] [stderr]     --> src/propagators/perturbations.rs:2754:13
[INFO] [stderr]      |
[INFO] [stderr] 2754 |         let C_r = 1.3;
[INFO] [stderr]      |             ^^^ help: convert the identifier to snake case (notice the capitalization): `c_r`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:586:13
[INFO] [stderr]     |
[INFO] [stderr] 586 |         let A = jacobian_two_body(&r, GM_EARTH);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:616:13
[INFO] [stderr]     |
[INFO] [stderr] 616 |         let A = jacobian_two_body(&r, GM_EARTH);
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A_twobody` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:717:13
[INFO] [stderr]     |
[INFO] [stderr] 717 |         let A_twobody = jacobian_two_body(&r, GM_EARTH);
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case: `a_twobody`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A_j2_zero` should have a snake case name
[INFO] [stderr]    --> src/propagators/stm.rs:718:13
[INFO] [stderr]     |
[INFO] [stderr] 718 |         let A_j2_zero = jacobian_j2(&r, GM_EARTH, 0.0, 6378e3);
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case: `a_j2_zero`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:335:13
[INFO] [stderr]     |
[INFO] [stderr] 335 |         let B = 0.01; // m²/kg
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rate_low_B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:356:13
[INFO] [stderr]     |
[INFO] [stderr] 356 |         let rate_low_B = estimate_decay_rate(altitude, 0.001);
[INFO] [stderr]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `rate_low_b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rate_high_B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:357:13
[INFO] [stderr]     |
[INFO] [stderr] 357 |         let rate_high_B = estimate_decay_rate(altitude, 0.1);
[INFO] [stderr]     |             ^^^^^^^^^^^ help: convert the identifier to snake case: `rate_high_b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B1` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:371:13
[INFO] [stderr]     |
[INFO] [stderr] 371 |         let B1 = 0.01;
[INFO] [stderr]     |             ^^ help: convert the identifier to snake case: `b1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B2` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:372:13
[INFO] [stderr]     |
[INFO] [stderr] 372 |         let B2 = 0.02;
[INFO] [stderr]     |             ^^ help: convert the identifier to snake case: `b2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:392:13
[INFO] [stderr]     |
[INFO] [stderr] 392 |         let B = 0.5; // Very large area, small mass (e.g., balloon satellite)
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:419:13
[INFO] [stderr]     |
[INFO] [stderr] 419 |         let B = 0.1; // Higher B for faster testing
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:493:13
[INFO] [stderr]     |
[INFO] [stderr] 493 |         let B = 0.01;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:503:13
[INFO] [stderr]     |
[INFO] [stderr] 503 |         let B = 0.01;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:521:13
[INFO] [stderr]     |
[INFO] [stderr] 521 |         let B = 0.01;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B_cubesat` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:549:13
[INFO] [stderr]     |
[INFO] [stderr] 549 |         let B_cubesat = 0.001; // m²/kg
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case: `b_cubesat`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B_solar` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:553:13
[INFO] [stderr]     |
[INFO] [stderr] 553 |         let B_solar = 0.05; // m²/kg
[INFO] [stderr]     |             ^^^^^^^ help: convert the identifier to snake case: `b_solar`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B_balloon` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:557:13
[INFO] [stderr]     |
[INFO] [stderr] 557 |         let B_balloon = 0.2; // m²/kg
[INFO] [stderr]     |             ^^^^^^^^^ help: convert the identifier to snake case: `b_balloon`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:573:13
[INFO] [stderr]     |
[INFO] [stderr] 573 |         let B = 0.01;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B_iss` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:618:13
[INFO] [stderr]     |
[INFO] [stderr] 618 |         let B_iss = 0.0001; // ISS is massive with small cross-section
[INFO] [stderr]     |             ^^^^^ help: convert the identifier to snake case: `b_iss`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:631:13
[INFO] [stderr]     |
[INFO] [stderr] 631 |         let B = 0.01;
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `B` should have a snake case name
[INFO] [stderr]    --> src/satellite/lifetime.rs:650:13
[INFO] [stderr]     |
[INFO] [stderr] 650 |         let B = 1.0; // Extremely large
[INFO] [stderr]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stderr] 
[INFO] [stderr] warning: `astrora_core` (lib test) generated 224 warnings (124 duplicates) (run `cargo fix --lib -p astrora_core --tests` to apply 14 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/astrora_core-c0555ab79a3058aa)
[INFO] [stdout] 
[INFO] [stdout] running 668 tests
[INFO] [stdout] test coordinates::frames::tests::test_batch_gcrs_to_itrs_length_mismatch ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_empty_arrays ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_gcrs_to_teme_basic ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_coriolis_effect ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_large_array ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_itrs_to_gcrs_basic ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_gcrs_itrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_teme_to_gcrs_basic ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_teme_to_itrs_basic ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_gcrs_to_itrs_basic ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_itrs_to_teme_basic ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_teme_itrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_batch_gcrs_teme_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_earth_rotation_angle_24h_period ... ok
[INFO] [stdout] test coordinates::frames::tests::test_earth_rotation_angle_j2000 ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gcrs_creation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gcrs_from_position ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gcrs_from_position_epoch ... ok
[INFO] [stdout] test coordinates::frames::tests::test_geo_satellite_in_gcrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gcrs_to_icrs_simple ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gmst82_24h_period ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gcrs_to_itrs_position_rotation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gcrs_itrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_icrs_creation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_icrs_from_position ... ok
[INFO] [stdout] test coordinates::frames::tests::test_icrs_to_gcrs_simple ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_conservation_of_magnitude ... ok
[INFO] [stdout] test coordinates::frames::tests::test_iss_orbit_in_gcrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_polar_position_unchanged ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_from_position ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_teme_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_creation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_to_gcrs_position_rotation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_gcrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_geo_satellite_tracking ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_to_teme_position_rotation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_creation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_from_gcrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_from_icrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_from_itrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_gcrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_geo_orbit ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_icrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_iss_orbit ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_itrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_position_magnitude_preserved ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_to_gcrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_to_icrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_itrs_velocity_coriolis_effect ... ok
[INFO] [stdout] test coordinates::frames::tests::test_gmst82_j2000 ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_from_position ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_angular_momentum_conservation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_determinant_is_one ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_creation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_from_gcrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_j2000_to_itrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_from_orbital_elements ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_from_orbital_elements_at_apoapsis ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_gcrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_geo_orbit ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_magnitude_conservation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_iss_like_orbit ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_position_always_in_plane ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_rotation_matrix_orthogonal ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_specific_energy_conservation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_to_gcrs_equatorial_orbit ... ok
[INFO] [stdout] test coordinates::frames::tests::test_perifocal_to_gcrs_polar_orbit ... ok
[INFO] [stdout] test coordinates::frames::tests::test_roundtrip_conversion ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_conservation_of_magnitude ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_creation ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_from_position ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_itrs_roundtrip ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_leo_satellite ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_polar_position_unchanged ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_to_gcrs_via_itrs ... ok
[INFO] [stdout] test coordinates::frames::tests::test_teme_to_itrs_position_rotation ... ok
[INFO] [stdout] test coordinates::precession_nutation::tests::test_combined_precession_nutation_matrix ... ok
[INFO] [stdout] test coordinates::precession_nutation::tests::test_fukushima_williams_matrix_properties ... ok
[INFO] [stdout] test coordinates::precession_nutation::tests::test_precession_angle_growth ... ok
[INFO] [stdout] test coordinates::precession_nutation::tests::test_iau2006_precession_j2000 ... ok
[INFO] [stdout] test coordinates::precession_nutation::tests::test_precession_matrix_properties ... ok
[INFO] [stdout] test coordinates::precession_nutation::tests::test_precession_obliquity_decrease ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_euler_313_is_rotation ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_euler_321_equivalence ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_euler_321_identity ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_euler_321_is_rotation ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_full_rotation_360_degrees ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_negative_angles ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_angle_extraction ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_axis_extraction ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_composition ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_inverse_is_transpose ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_x_90_degrees ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_euler_313_equivalence ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_x_identity ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_x_orthogonality ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_y_90_degrees ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_y_identity ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_y_orthogonality ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_z_90_degrees ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_euler_313_identity ... ok
[INFO] [stdout] test coordinates::transform::tests::test_frame_type_display ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_frame_type ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_accessors ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_from_to_consistency ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_to_itrs_transform ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_to_icrs_transform ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_to_j2000_transform ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_to_itrs_different_epoch ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_accessors ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_frame_type ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_from_to_consistency ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_to_itrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_to_j2000 ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_to_icrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_to_gcrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_icrs_to_teme ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_z_identity ... ok
[INFO] [stdout] test coordinates::transform::tests::test_itrs_frame_type ... ok
[INFO] [stdout] test coordinates::transform::tests::test_itrs_accessors ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_frame_type ... ok
[INFO] [stdout] test coordinates::rotations::tests::test_rotation_z_orthogonality ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_from_to_consistency ... ok
[INFO] [stdout] test coordinates::transform::tests::test_itrs_to_icrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_roundtrip ... ok
[INFO] [stdout] test coordinates::transform::tests::test_gcrs_to_teme_transform ... ok
[INFO] [stdout] test coordinates::transform::tests::test_itrs_from_to_consistency ... ok
[INFO] [stdout] test coordinates::transform::tests::test_itrs_to_j2000 ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_to_icrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_itrs_to_teme ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_to_itrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_to_teme ... ok
[INFO] [stdout] test coordinates::transform::tests::test_multi_hop_transformation ... ok
[INFO] [stdout] test coordinates::transform::tests::test_roundtrip_gcrs_itrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_accessors ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_frame_type ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_to_itrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_to_j2000 ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_to_icrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_transform_position_velocity_to_icrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_to_teme ... ok
[INFO] [stdout] test coordinates::transform::tests::test_transform_position_velocity_to_gcrs ... ok
[INFO] [stdout] test coordinates::transform::tests::test_transform_position_velocity_to_teme ... ok
[INFO] [stdout] test coordinates::transform::tests::test_transform_position_velocity_to_j2000 ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_error_length_mismatch ... ok
[INFO] [stdout] test coordinates::transform::tests::test_j2000_accessors ... ok
[INFO] [stdout] test coordinates::transform::tests::test_transform_position_velocity ... ok
[INFO] [stdout] test coordinates::transform::tests::test_teme_from_to_consistency ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_mean_to_hyperbolic ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_mean_to_eccentric_single_ecc ... ok
[INFO] [stdout] test core::anomaly::tests::test_eccentric_to_true_pi ... ok
[INFO] [stdout] test core::anomaly::tests::test_eccentric_to_true_zero ... ok
[INFO] [stdout] test core::anomaly::tests::test_elliptical_rejects_hyperbolic ... ok
[INFO] [stdout] test core::anomaly::tests::test_hyperbolic_rejects_elliptical ... ok
[INFO] [stdout] test core::anomaly::tests::test_hyperbolic_to_true_zero ... ok
[INFO] [stdout] test core::anomaly::tests::test_hyperbolic_mean_to_true_roundtrip ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_true_to_mean_elliptical ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_mean_to_true_hyperbolic ... ok
[INFO] [stdout] test core::anomaly::tests::test_mean_to_eccentric_circular ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_mean_to_true_parabolic ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_large_array ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_mean_to_eccentric_multiple_ecc ... ok
[INFO] [stdout] test core::anomaly::tests::test_batch_mean_to_true_elliptical ... ok
[INFO] [stdout] test core::anomaly::tests::test_mean_to_eccentric_high_ecc ... ok
[INFO] [stdout] test core::anomaly::tests::test_mean_to_hyperbolic_basic ... ok
[INFO] [stdout] test core::anomaly::tests::test_mean_to_eccentric_moderate ... ok
[INFO] [stdout] test core::anomaly::tests::test_mean_to_true_roundtrip ... ok
[INFO] [stdout] test core::anomaly::tests::test_parabolic_mean_to_true_positive ... ok
[INFO] [stdout] test core::anomaly::tests::test_parabolic_mean_to_true_negative ... ok
[INFO] [stdout] test core::anomaly::tests::test_mean_to_hyperbolic_high_ecc ... ok
[INFO] [stdout] test core::anomaly::tests::test_parabolic_mean_to_true_zero ... ok
[INFO] [stdout] test core::anomaly::tests::test_true_to_eccentric_roundtrip ... ok
[INFO] [stdout] test core::anomaly::tests::test_true_to_hyperbolic_roundtrip ... ok
[INFO] [stdout] test core::constants::tests::test_constant_values ... ok
[INFO] [stdout] test core::constants::tests::test_conversion_roundtrips ... ok
[INFO] [stdout] test core::constants::tests::test_km_to_m ... ok
[INFO] [stdout] test core::anomaly::tests::test_parabolic_roundtrip ... ok
[INFO] [stdout] test core::anomaly::tests::test_parabolic_symmetric ... ok
[INFO] [stdout] test core::constants::tests::test_days_to_sec ... ok
[INFO] [stdout] test core::constants::tests::test_deg_to_rad ... ok
[INFO] [stdout] test core::constants::tests::test_rad_to_deg ... ok
[INFO] [stdout] test core::elements::tests::test_coe_to_equinoctial_elliptical ... ok
[INFO] [stdout] test core::elements::tests::test_coe_to_equinoctial_inclined ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_elements_eccentricity ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_elements_period ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_singularity_free_near_circular ... ok
[INFO] [stdout] test core::constants::tests::test_m_to_km ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_elements_inclination ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_to_coe_circular_equatorial ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_to_coe_elliptical ... ok
[INFO] [stdout] test core::elements::tests::test_orbital_elements_periapsis_apoapsis ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_singularity_free_near_equatorial ... ok
[INFO] [stdout] test core::elements::tests::test_orbital_elements_period ... ok
[INFO] [stdout] test core::elements::tests::test_equinoctial_to_rv_circular ... ok
[INFO] [stdout] test core::elements::tests::test_roundtrip_coe_equinoctial_circular ... ok
[INFO] [stdout] test core::elements::tests::test_coe_to_rv_circular_equatorial ... ok
[INFO] [stdout] test core::elements::tests::test_coe_to_rv_elliptical ... ok
[INFO] [stdout] test core::elements::tests::test_roundtrip_coe_equinoctial_elliptical ... ok
[INFO] [stdout] test core::constants::tests::test_sec_to_days ... ok
[INFO] [stdout] test core::elements::tests::test_coe_to_equinoctial_circular_equatorial ... ok
[INFO] [stdout] test core::elements::tests::test_roundtrip_conversion_inclined ... ok
[INFO] [stdout] test core::elements::tests::test_rv_to_coe_inclined ... ok
[INFO] [stdout] test core::elements::tests::test_roundtrip_rv_equinoctial ... ok
[INFO] [stdout] test core::elements::tests::test_roundtrip_conversion_circular ... ok
[INFO] [stdout] test core::elements::tests::test_rv_to_coe_rejects_zero_angular_momentum ... ok
[INFO] [stdout] test core::elements::tests::test_rv_to_coe_circular_equatorial ... ok
[INFO] [stdout] test core::elements::tests::test_roundtrip_conversion_elliptical ... ok
[INFO] [stdout] test core::elements::tests::test_rv_to_coe_elliptical ... ok
[INFO] [stdout] test core::elements::tests::test_rv_to_equinoctial_circular ... ok
[INFO] [stdout] test core::error::tests::test_energy_conservation ... ok
[INFO] [stdout] test core::elements::tests::test_semi_latus_rectum ... ok
[INFO] [stdout] test core::error::tests::test_incompatible_units ... ok
[INFO] [stdout] test core::error::tests::test_convergence_failure ... ok
[INFO] [stdout] test core::error::tests::test_division_by_zero ... ok
[INFO] [stdout] test core::error::tests::test_invalid_parameter ... ok
[INFO] [stdout] test core::error::tests::test_invalid_eccentricity ... ok
[INFO] [stdout] test core::error::tests::test_internal_error ... ok
[INFO] [stdout] test core::error::tests::test_not_implemented ... ok
[INFO] [stdout] test core::error::tests::test_orbital_singularity ... ok
[INFO] [stdout] test core::fast_math::tests::test_fma_correctness ... ok
[INFO] [stdout] test core::fast_math::tests::test_sqrt_fast_accuracy ... ok
[INFO] [stdout] test core::fast_math::tests::test_sin_cos_accuracy ... ok
[INFO] [stdout] test core::fast_math::tests::test_stumpff_cs_consistency ... ok
[INFO] [stdout] test core::fast_math::tests::test_fma_accuracy ... ok
[INFO] [stdout] test core::fast_math::tests::test_stumpff_cs_hyperbolic ... ok
[INFO] [stdout] test core::fast_math::tests::test_stumpff_cs_elliptic ... ok
[INFO] [stdout] test core::error::tests::test_out_of_range ... ok
[INFO] [stdout] test core::fast_math::tests::test_stumpff_derivatives ... ok
[INFO] [stdout] test core::fast_math::tests::test_stumpff_cs_parabolic ... ok
[INFO] [stdout] test core::integrators_static::tests::test_propagate_with_history ... ok
[INFO] [stdout] test core::integrators_static::tests::test_rk4_exponential_decay ... ok
[INFO] [stdout] test core::integrators_static::tests::test_zero_allocations ... ok
[INFO] [stdout] test core::integrators_static::tests::test_state_construction ... ok
[INFO] [stdout] test core::linalg::tests::test_cross_product ... ok
[INFO] [stdout] test core::integrators_static::tests::test_position_velocity_extraction ... ok
[INFO] [stdout] test core::linalg::tests::test_block_matrix_construction ... ok
[INFO] [stdout] test core::linalg::tests::test_normalize ... ok
[INFO] [stdout] test core::linalg::tests::test_position_velocity_extraction ... ok
[INFO] [stdout] test core::integrators_static::tests::test_rk4_harmonic_oscillator ... ok
[INFO] [stdout] test core::linalg::tests::test_angle_between ... ok
[INFO] [stdout] test core::linalg::tests::test_rotation_from_euler ... ok
[INFO] [stdout] test core::linalg::tests::test_skew_symmetric ... ok
[INFO] [stdout] test core::linalg::tests::test_normalize_yields_unit_vector ... ok
[INFO] [stdout] test core::linalg::tests::test_state_vector_construction ... ok
[INFO] [stdout] test core::integrators_static::tests::test_two_body_propagation ... ok
[INFO] [stdout] test core::linalg::tests::test_try_normalize ... ok
[INFO] [stdout] test core::linalg::tests::test_double_normalization_idempotent ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_backward_integration ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_exponential_decay ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_harmonic_oscillator ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_multidimensional ... ok
[INFO] [stdout] test core::linalg::tests::test_state_roundtrip ... ok
[INFO] [stdout] test core::linalg::tests::test_cross_product_anticommutativity ... ok
[INFO] [stdout] test core::linalg::tests::test_cross_product_orthogonality ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_stiff_problem ... ok
[INFO] [stdout] test core::numerical::tests::test_dopri5_exponential_decay ... ok
[INFO] [stdout] test core::numerical::tests::test_dopri5_harmonic_oscillator ... ok
[INFO] [stdout] test core::numerical::tests::test_dopri5_step_size_adaptation ... ok
[INFO] [stdout] test core::numerical::tests::test_newton_raphson_convergence_failure ... ok
[INFO] [stdout] test core::numerical::tests::test_newton_raphson_cubic ... ok
[INFO] [stdout] test core::numerical::tests::test_newton_raphson_ratio_kepler ... ok
[INFO] [stdout] test core::numerical::tests::test_newton_raphson_sqrt2 ... ok
[INFO] [stdout] test core::numerical::tests::test_rk4_exponential_decay ... ok
[INFO] [stdout] test core::numerical::tests::test_rk4_harmonic_oscillator ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_add_arrays ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_apply_polynomial ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_cross_product_invalid_length ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_batch_normalize_vectors ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_vs_dopri5_accuracy ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_cross_product ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_dot_product_length_mismatch ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_matrix_multiply ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_matrix_vector_multiply ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_multiply_scalar ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_multiply_scalar_inplace ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_normalize_vector ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_normalize_zero_vector ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_sum_array ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_transpose_matrix ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_vector_magnitude ... ok
[INFO] [stdout] test core::state::tests::test_eccentricity_circular_orbit ... ok
[INFO] [stdout] test core::state::tests::test_eccentricity_elliptical_orbit ... ok
[INFO] [stdout] test core::state::tests::test_eccentricity_vector_direction ... ok
[INFO] [stdout] test core::state::tests::test_hyperbolic_orbit_error ... ok
[INFO] [stdout] test core::state::tests::test_orbit_type_all_classifications ... ok
[INFO] [stdout] test core::state::tests::test_orbit_type_classification ... ok
[INFO] [stdout] test core::state::tests::test_orbit_type_parabolic ... ok
[INFO] [stdout] test core::state::tests::test_period_circular_orbit ... ok
[INFO] [stdout] test core::state::tests::test_period_parabolic_error ... ok
[INFO] [stdout] test core::state::tests::test_position_velocity_getters ... ok
[INFO] [stdout] test core::state::tests::test_semi_major_axis_circular_orbit ... ok
[INFO] [stdout] test core::state::tests::test_semi_major_axis_parabolic_error ... ok
[INFO] [stdout] test core::state::tests::test_specific_angular_momentum ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_dot_product ... ok
[INFO] [stdout] test core::time::tests::test_duration_abs ... ok
[INFO] [stdout] test core::state::tests::test_specific_energy_circular_orbit ... ok
[INFO] [stdout] test core::time::tests::test_duration_conversions ... ok
[INFO] [stdout] test core::time::tests::test_duration_edge_cases ... ok
[INFO] [stdout] test core::time::tests::test_duration_from_days ... ok
[INFO] [stdout] test core::numerical::tests::test_dop853_step_size_adaptation ... ok
[INFO] [stdout] test core::time::tests::test_duration_signs ... ok
[INFO] [stdout] test core::numpy_integration::tests::test_identity_matrix ... ok
[INFO] [stdout] test core::time::tests::test_duration_operations ... ok
[INFO] [stdout] test core::time::tests::test_duration_since_j2000 ... ok
[INFO] [stdout] test core::time::tests::test_epoch_comparison ... ok
[INFO] [stdout] test core::time::tests::test_epoch_duration_arithmetic ... ok
[INFO] [stdout] test core::time::tests::test_epoch_from_gregorian_utc ... ok
[INFO] [stdout] test core::linalg::tests::test_skew_symmetric_property ... ok
[INFO] [stdout] test core::time::tests::test_from_gregorian_tdb ... ok
[INFO] [stdout] test core::time::tests::test_from_mjd ... ok
[INFO] [stdout] test core::time::tests::test_gregorian_roundtrip ... ok
[INFO] [stdout] test core::time::tests::test_from_gregorian_tt ... ok
[INFO] [stdout] test core::time::tests::test_from_jd ... ok
[INFO] [stdout] test core::time::tests::test_j2000_epoch ... ok
[INFO] [stdout] test core::time::tests::test_leap_second_aware ... ok
[INFO] [stdout] test core::time::tests::test_midnight_and_noon ... ok
[INFO] [stdout] test core::time::tests::test_mjd_jd_conversions ... ok
[INFO] [stdout] test core::time::tests::test_mjd_jd_relationship ... ok
[INFO] [stdout] test core::time::tests::test_time_scale_consistency ... ok
[INFO] [stdout] test core::time::tests::test_time_scale_conversions ... ok
[INFO] [stdout] test core::time::tests::test_to_gpst ... ok
[INFO] [stdout] test core::time::tests::test_to_gregorian_tai ... ok
[INFO] [stdout] test core::time::tests::test_to_iso_string ... ok
[INFO] [stdout] test core::time::tests::test_to_jd_tt_two_part ... ok
[INFO] [stdout] test core::time::tests::test_to_mjd_tdb ... ok
[INFO] [stdout] test core::time::tests::test_to_tdb_seconds_since_j2000 ... ok
[INFO] [stdout] test core::time::tests::test_to_time_scale ... ok
[INFO] [stdout] test core::time::tests::test_to_tt_and_tdb ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_bielliptic_calculation_basic ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_bielliptic_intermediate_validation ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_bielliptic_transfer_time_positive ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_bielliptic_vs_hohmann_large_ratio ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_critical_radius_ratio ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_energy_conservation ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_find_optimal_intermediate ... ok
[INFO] [stdout] test maneuvers::bielliptic::tests::test_parameter_validation ... ok
[INFO] [stdout] test core::time::tests::test_epoch_now ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_add_maneuver ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_budget_creation ... ok
[INFO] [stdout] test core::time::tests::test_from_gregorian_tai ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_budget_result_with_propellant ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_budget_result_without_propellant ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_budget_with_contingency ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_clear_budget ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_contingency_calculation ... ok
[INFO] [stdout] test core::linalg::tests::test_skew_symmetric_cross_product_equivalence ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_invalid_contingency ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_leo_to_geo_mission ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_maneuver_creation ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_maneuver_negative_delta_v ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_maneuver_with_notes ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_propellant_fraction ... ok
[INFO] [stdout] test maneuvers::budget::tests::test_propellant_mass_calculation ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_b_parameter_relationship ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_calculate_b_plane ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_calculate_velocities ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_cross_product_orthogonality ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_dot_product_parallel_vectors ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_dot_product_perpendicular_vectors ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_energy_conservation ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_error_zero_mu ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_error_zero_r_periapsis ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_high_eccentricity_flyby ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_error_zero_v_infinity ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_jupiter_flyby ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_low_eccentricity_flyby ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_normalize_unit_vector ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_normalize_vector ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_periapsis_from_b_parameter ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_periapsis_from_b_parameter_small_b ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_error_handling ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_vector_add ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_rotate_velocity_180_degrees ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_rotate_velocity_no_rotation ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_turning_angle_formula ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_vector_operations ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_periapsis_from_b_parameter_edge_case ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_vector_subtract ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_velocity_rotation ... ok
[INFO] [stdout] test maneuvers::gravityassist::tests::test_very_high_speed_flyby ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_earth_mars_transfer ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_energy_conservation ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_error_handling ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_geo_to_leo_transfer ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_leo_to_geo_transfer ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_phase_angle_calculation ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_small_altitude_change ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_synodic_period ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_time_to_transfer_window ... ok
[INFO] [stdout] test maneuvers::hohmann::tests::test_transfer_orbit_properties ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_batch_empty ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_batch_parallel ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_exceeding_max_revs ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_batch_solve ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_helpers_derivatives ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_helpers_time_of_flight ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_hyperbolic_transfer ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_invalid_inputs ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_izzo_multirev_high_revs ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_long_way_explicit ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_moderate_tof ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_multi_revolution_basic ... ignored
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_multi_revolution_short_vs_long ... ignored
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_multi_revolution_two_revs ... ignored
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_multi_revolution_too_many_revs ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_nearly_opposite_vectors ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_negative_y_adjustment ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_opposite_vectors ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_perfectly_opposite_vectors ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_position_magnitude_error ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_short_way_branch ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_simple_circular ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_stumpff_edge_cases ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_transfer_type ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_vallado_example ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_lambert_very_short_tof ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_stumpff_functions_elliptic ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_stumpff_functions_hyperbolic ... ok
[INFO] [stdout] test maneuvers::lambert::tests::test_stumpff_functions_parabolic ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_combined_plane_change_90_degrees ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_combined_plane_change_coplanar ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_combined_plane_change_hohmann_leo_to_geo ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_error_invalid_angle ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_error_negative_angle ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_error_negative_velocity ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_optimal_plane_change_location_leo_to_geo ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_optimal_plane_change_small_angle ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_plane_change_penalty ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_pure_plane_change_180_degrees ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_pure_plane_change_45_degrees ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_pure_plane_change_basic ... ok
[INFO] [stdout] test maneuvers::planechange::tests::test_pure_plane_change_zero ... ok
[INFO] [stdout] test maneuvers::rendezvous::tests::test_coorbital_rendezvous ... ok
[INFO] [stdout] test maneuvers::rendezvous::tests::test_coplanar_rendezvous ... ok
[INFO] [stdout] test maneuvers::rendezvous::tests::test_invalid_inputs ... ok
[INFO] [stdout] test maneuvers::rendezvous::tests::test_phasing_orbit_catch_up ... ok
[INFO] [stdout] test maneuvers::rendezvous::tests::test_phasing_orbit_wait ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_angular_momentum_conservation ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_batch_propagate_invalid_dimensions ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_batch_propagate_energy_conservation ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_batch_propagate_multiple_time_steps ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_batch_propagate_single_time_step ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_batch_propagate_wrong_time_steps ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_batch_propagate_lagrange ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_energy_conservation ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_backward_in_time ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_circular_orbit ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_full_orbit ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_rejects_hyperbolic ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_rejects_parabolic ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_state_circular ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_state_elliptical ... ok
[INFO] [stdout] test propagators::keplerian::tests::test_propagate_lagrange_vs_mean_anomaly ... ok
[INFO] [stdout] test propagators::perturbations::cowell_tests::test_cowell_dopri5_method ... ok
[INFO] [stdout] test propagators::perturbations::cowell_tests::test_cowell_invalid_method ... ok
[INFO] [stdout] test propagators::perturbations::cowell_tests::test_cowell_two_body_only ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_drag_earth_convenience ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_drag_perturbation_trait ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_j2_perturbation_trait ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_j2_earth_convenience ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_perturbation_set_empty ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_propagate_with_perturbations_invalid_method ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_perturbation_set_single ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_perturbation_set_multiple ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_propagate_with_perturbations_combined ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_thirdbody_sun_perturbation ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_dopri5_basic ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_srp_earth_convenience ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_thirdbody_moon_perturbation ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_thirdbody_custom_perturbation ... ok
[INFO] [stdout] test propagators::perturbations::cowell_tests::test_cowell_with_j2 ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_srp_perturbation_trait ... ok
[INFO] [stdout] test core::linalg::tests::test_triple_scalar_product_property ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_zero_area ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_drag_acceleration_increases_at_lower_altitude ... ok
[INFO] [stdout] test propagators::perturbations::perturbation_trait_tests::test_propagate_with_perturbations_j2_only ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_rk4_basic ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_rk4_vs_dopri5 ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_shadow_effect ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_long_duration ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_drag_acceleration_opposes_velocity ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_drag_acceleration_zero_velocity ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_drag_causes_orbit_decay ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_exponential_density_at_sea_level ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_exponential_density_decreases_with_altitude ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_drag_acceleration_magnitude ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_drag_ballistic_coefficient_effect ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_j2_perturbation_magnitude ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_exponential_density_scale_height ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_j2_perturbation_polar_orbit ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_j2_energy_not_exactly_conserved ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_j2_vs_two_body_difference ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_j2_acceleration_decreases_with_altitude ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_drag_dopri5_basic ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_j2_perturbation_equatorial_orbit ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_dop853_basic ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_dopri5_basic ... ok
[INFO] [stdout] test propagators::perturbations::srp_tests::test_propagate_srp_vs_twobody ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_rk4_basic ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_moon_position_simple_at_j2000 ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_moon_position_simple_circular_orbit ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_propagate_thirdbody_rk4_moon_only ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_propagate_thirdbody_dopri5_basic ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_shadow_function_full_sunlight ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_shadow_function_full_umbra ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_propagate_thirdbody_rk4_sun_only ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_propagate_thirdbody_rk4_sun_and_moon ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_shadow_function_penumbra ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_shadow_function_high_altitude_less_shadow ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_shadow_function_perpendicular_full_sun ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_drag_dopri5 ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_shadow_function_symmetry ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_sun_moon_perturbation_combined ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_sun_position_simple_circular_orbit ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_third_body_perturbation_direct_indirect_terms ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_third_body_perturbation_geo_larger ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_third_body_perturbation_moon_magnitude ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_third_body_perturbation_sun_magnitude ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_drag_rk4_basic ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_sun_position_simple_at_j2000 ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_drag_combined ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_thirdbody_time_dependence ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_combined_zero_perturbations ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_combined_equals_sum ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_combined_with_only_j2 ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_different_radii ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_at_equator ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_at_pole ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_thirdbody_vs_twobody_difference ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_dynamics_polar_orbit ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_high_altitude ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_j3_j4_dynamics_equatorial ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_magnitude ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_inclined_orbit ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j3_antisymmetry ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_j3_j4_dynamics_inclined ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_low_altitude ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j3_magnitude_vs_j2 ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j3_at_equator ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j3_at_pole ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j4_at_pole ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j4_equatorial_symmetry ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_dop853_long_duration ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j4_at_equator ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j4_magnitude_vs_j2 ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_zero_allocations ... ok
[INFO] [stdout] test propagators::stm::tests::test_jacobian_j2_vs_two_body ... ok
[INFO] [stdout] test propagators::stm::tests::test_jacobian_symmetry ... ok
[INFO] [stdout] test propagators::stm::tests::test_stm_identity_at_zero_time ... ok
[INFO] [stdout] test propagators::perturbations::tests::test_propagate_j2_dop853_vs_dopri5 ... ok
[INFO] [stdout] test propagators::stm::tests::test_jacobian_two_body_structure ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_check_collision ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_closest_approach_distance ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_conjunction_errors ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_j2_dynamics_integration ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_conjunction_head_on ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_golden_section_search ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_conjunction_parallel_orbits ... ok
[INFO] [stdout] test satellite::conjunction::tests::test_kepler_propagation ... ignored
[INFO] [stdout] test satellite::coverage::tests::test_access_statistics_basic ... ok
[INFO] [stdout] test satellite::coverage::tests::test_access_statistics_empty ... ok
[INFO] [stdout] test satellite::coverage::tests::test_coverage_area_decreases_with_elevation ... ok
[INFO] [stdout] test satellite::coverage::tests::test_coverage_area_increases_with_altitude ... ok
[INFO] [stdout] test satellite::coverage::tests::test_coverage_percentage ... ok
[INFO] [stdout] test satellite::coverage::tests::test_normalize_longitude ... ok
[INFO] [stdout] test satellite::coverage::tests::test_visibility_circle_basic ... ok
[INFO] [stdout] test satellite::coverage::tests::test_visibility_circle_symmetry ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_beta_angle_precise_vs_simple ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_beta_angle_zero_maximum_eclipse ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_eclipse_duration_iss_orbit ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_eclipse_duration_no_eclipse_high_beta ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_sun_synchronous_inclination_800km ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_sun_synchronous_inclination_typical_leo ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_sunlit_satellite_same_side_as_sun ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_umbra_satellite_in_shadow ... ok
[INFO] [stdout] test satellite::eclipse::tests::test_beta_angle_90_no_eclipse ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_calculate_swath_width_higher_altitude ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_calculate_swath_width_lower_elevation ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_compute_ground_track ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_equator ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_leo_satellite ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_north_pole ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_prime_meridian ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_south_pole ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_western_longitude ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_ecef_to_geodetic_with_altitude ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_maximum_ground_range_leo ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_maximum_ground_range_scaling ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_sub_satellite_point ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_constants ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_altitude_scaling ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_ballistic_coeff_range ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_consistency ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_geo_altitude ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_higher_altitude_slower ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_higher_ballistic_coeff_faster ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_iss_altitude ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_scaling ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_very_high_altitude ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_very_low_altitude ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_decay_rate_zero_ballistic_coeff ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_altitude_just_below_terminal ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_errors ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_estimation_basic ... ignored
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_extreme_parameters ... ignored
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_higher_orbit_longer ... ignored
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_max_time_exceeded ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_negative_terminal_altitude ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_validation_checks ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_zero_ballistic_coeff_error ... ok
[INFO] [stdout] test satellite::lifetime::tests::test_lifetime_zero_max_time_error ... ok
[INFO] [stdout] test satellite::omm::tests::test_invalid_json ... ok
[INFO] [stdout] test satellite::omm::tests::test_missing_required_field ... ok
[INFO] [stdout] test satellite::omm::tests::test_parse_omm ... ok
[INFO] [stdout] test satellite::groundtrack::tests::test_calculate_swath_width_leo ... ok
[INFO] [stdout] test satellite::omm::tests::test_required_fields_only ... ok
[INFO] [stdout] test satellite::omm::tests::test_parse_omm_batch ... ok
[INFO] [stdout] test satellite::sgp4_wrapper::tests::test_propagate_at_epoch ... ok
[INFO] [stdout] test satellite::sgp4_wrapper::tests::test_propagate_one_orbit ... ok
[INFO] [stdout] test satellite::sgp4_wrapper::tests::test_time_out_of_range ... ok
[INFO] [stdout] test satellite::tle::tests::test_different_satellite_name ... ok
[INFO] [stdout] test satellite::tle::tests::test_invalid_checksum ... ok
[INFO] [stdout] test satellite::tle::tests::test_invalid_format ... ok
[INFO] [stdout] test satellite::tle::tests::test_parse_2line_tle ... ok
[INFO] [stdout] test satellite::tle::tests::test_parse_3line_tle ... ok
[INFO] [stdout] test satellite::tle::tests::test_validate_checksum ... ok
[INFO] [stdout] test satellite::sgp4_wrapper::tests::test_batch_propagation ... ok
[INFO] [stdout] test satellite::visibility::tests::test_azimuth_east ... ok
[INFO] [stdout] test satellite::visibility::tests::test_azimuth_elevation_zenith ... ok
[INFO] [stdout] test satellite::visibility::tests::test_azimuth_north ... ok
[INFO] [stdout] test satellite::visibility::tests::test_azimuth_south ... ok
[INFO] [stdout] test satellite::visibility::tests::test_azimuth_west ... ok
[INFO] [stdout] test satellite::visibility::tests::test_azimuth_wrapping ... ok
[INFO] [stdout] test satellite::visibility::tests::test_ecef_to_enu_matrix_equator ... ok
[INFO] [stdout] test satellite::visibility::tests::test_ecef_to_enu_matrix_north_pole ... ok
[INFO] [stdout] test satellite::visibility::tests::test_ecef_to_sez_matrix ... ok
[INFO] [stdout] test satellite::visibility::tests::test_elevation_nadir ... ok
[INFO] [stdout] test propagators::perturbations_static::tests::test_two_body_dynamics_simple ... ok
[INFO] [stdout] test satellite::visibility::tests::test_find_all_passes_empty ... ok
[INFO] [stdout] test satellite::visibility::tests::test_find_all_passes ... ok
[INFO] [stdout] test satellite::visibility::tests::test_enu_components_accuracy ... ok
[INFO] [stdout] test satellite::visibility::tests::test_find_next_pass_simple ... ok
[INFO] [stdout] test satellite::visibility::tests::test_find_next_pass_no_pass ... ok
[INFO] [stdout] test satellite::visibility::tests::test_minimum_elevation_threshold ... ok
[INFO] [stdout] test satellite::visibility::tests::test_observer_ecef_conversion ... ok
[INFO] [stdout] test satellite::visibility::tests::test_observer_north_pole ... ok
[INFO] [stdout] test satellite::visibility::tests::test_find_next_pass_with_min_elevation ... ok
[INFO] [stdout] test propagators::stm::tests::test_stm_propagation_basic ... ok
[INFO] [stdout] test satellite::visibility::tests::test_observer_southern_hemisphere ... ok
[INFO] [stdout] test satellite::visibility::tests::test_max_elevation_time_bounds ... ok
[INFO] [stdout] test satellite::visibility::tests::test_range_accuracy ... ok
[INFO] [stdout] test satellite::visibility::tests::test_range_rate_approaching ... ok
[INFO] [stdout] test satellite::visibility::tests::test_visibility_above_horizon ... ok
[INFO] [stdout] test satellite::visibility::tests::test_visibility_below_horizon ... ok
[INFO] [stdout] test test_utils::tests::test_angular_momentum_circular ... ok
[INFO] [stdout] test propagators::perturbations::thirdbody_tests::test_thirdbody_geo_significant ... ok
[INFO] [stdout] test test_utils::tests::test_circular_orbit_energy ... ok
[INFO] [stdout] test satellite::visibility::tests::test_satellite_pass_duration ... ok
[INFO] [stdout] test satellite::visibility::tests::test_observer_with_altitude ... ok
[INFO] [stdout] test satellite::visibility::tests::test_range_rate_calculation ... ok
[INFO] [stdout] test test_utils::tests::test_float_comparison ... ok
[INFO] [stdout] test test_utils::tests::test_orbit_classification ... ok
[INFO] [stdout] test test_utils::tests::test_circular_orbit_property ... ok
[INFO] [stdout] test test_utils::tests::test_angular_momentum_property ... ok
[INFO] [stdout] test propagators::stm::tests::test_stm_linearity ... ok
[INFO] [stdout] test propagators::stm::tests::test_stm_dopri5_vs_rk4 ... ok
[INFO] [stdout] test test_utils::tests::test_energy_conservation_property ... ok
[INFO] [stdout] test propagators::stm::tests::test_stm_j2_propagation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 661 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.47s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests astrora_core
[INFO] [stdout] 
[INFO] [stdout] running 136 tests
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::GCRS (line 198) ... ignored
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::ICRS (line 71) ... ignored
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::ITRS (line 504) ... ignored
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::J2000 (line 1325) ... ignored
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::Perifocal (line 964) ... ignored
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::TEME (line 743) ... ignored
[INFO] [stdout] test src/coordinates/frames.rs - coordinates::frames::batch_gcrs_to_itrs (line 1589) ... ignored
[INFO] [stdout] test src/coordinates/mod.rs - coordinates (line 19) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation (line 46) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation (line 53) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation::fukushima_williams_to_matrix (line 229) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation::iau2006_precession (line 149) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation::iau2006_precession (line 158) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation::iau2006_precession_matrix (line 260) ... ignored
[INFO] [stdout] test src/coordinates/precession_nutation.rs - coordinates::precession_nutation::iau2006_precession_nutation_matrix (line 321) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations (line 31) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::euler_313 (line 364) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::euler_321 (line 406) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::is_rotation_matrix (line 238) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::rotation_angle (line 277) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::rotation_axis (line 310) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::rotation_x (line 90) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::rotation_y (line 140) ... ignored
[INFO] [stdout] test src/coordinates/rotations.rs - coordinates::rotations::rotation_z (line 190) ... ignored
[INFO] [stdout] test src/coordinates/transform.rs - coordinates::transform (line 20) ... ignored
[INFO] [stdout] test src/coordinates/transform.rs - coordinates::transform::transform_position_velocity (line 272) ... ignored
[INFO] [stdout] test src/core/elements.rs - core::elements::coe_to_equinoctial (line 520) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::mean_to_true_anomaly_parabolic (line 503) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::eccentric_to_true_anomaly (line 169) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::true_to_eccentric_anomaly (line 218) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::mean_to_hyperbolic_anomaly (line 314) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::eccentric_to_mean_anomaly (line 131) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::mean_to_eccentric_anomaly (line 59) ... ok
[INFO] [stdout] test src/core/anomaly.rs - core::anomaly::batch_mean_to_eccentric_anomaly (line 587) ... ok
[INFO] [stdout] test src/core/elements.rs - core::elements::coe_to_rv (line 420) ... ok
[INFO] [stdout] test src/core/integrators_static.rs - core::integrators_static (line 17) ... ignored
[INFO] [stdout] test src/core/integrators_static.rs - core::integrators_static::propagate_rk4 (line 184) ... ignored
[INFO] [stdout] test src/core/integrators_static.rs - core::integrators_static::rk4_step_static (line 132) ... ignored
[INFO] [stdout] test src/core/elements.rs - core::elements::equinoctial_to_coe (line 587) ... ok
[INFO] [stdout] test src/core/numerical.rs - core::numerical::dop853_integrate (line 655) ... ignored
[INFO] [stdout] test src/core/numerical.rs - core::numerical::dop853_step (line 568) ... ignored
[INFO] [stdout] test src/core/numerical.rs - core::numerical::dopri5_step (line 410) ... ignored
[INFO] [stdout] test src/core/numerical.rs - core::numerical::newton_raphson (line 42) ... ignored
[INFO] [stdout] test src/core/numerical.rs - core::numerical::newton_raphson_ratio (line 130) ... ignored
[INFO] [stdout] test src/core/numerical.rs - core::numerical::rk4_step (line 208) ... ignored
[INFO] [stdout] test src/core/elements.rs - core::elements::rv_to_coe (line 260) ... ok
[INFO] [stdout] test src/core/elements.rs - core::elements::equinoctial_to_rv (line 717) ... ok
[INFO] [stdout] test src/core/fast_math.rs - core::fast_math::fma (line 100) ... ok
[INFO] [stdout] test src/core/time.rs - core::time::Epoch::to_jd_tt_two_part (line 227) ... ignored
[INFO] [stdout] test src/core/elements.rs - core::elements::rv_to_equinoctial (line 684) ... ok
[INFO] [stdout] test src/maneuvers/bielliptic.rs - maneuvers::bielliptic::BiellipticTransfer::calculate (line 148) ... FAILED
[INFO] [stdout] test src/maneuvers/bielliptic.rs - maneuvers::bielliptic::BiellipticTransfer::compare_with_hohmann (line 359) ... FAILED
[INFO] [stdout] test src/core/linalg.rs - core::linalg (line 8) ... ok
[INFO] [stdout] test src/core/fast_math.rs - core::fast_math::stumpff_cs (line 186) ... ok
[INFO] [stdout] test src/maneuvers/gravityassist.rs - maneuvers::gravityassist::GravityAssist::from_periapsis (line 175) ... FAILED
[INFO] [stdout] test src/core/time.rs - core::time::Epoch (line 22) ... FAILED
[INFO] [stdout] test src/maneuvers/hohmann.rs - maneuvers::hohmann::HohmannTransfer::calculate (line 109) ... FAILED
[INFO] [stdout] test src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::optimal_plane_change_location (line 309) ... FAILED
[INFO] [stdout] test src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::combined_plane_change (line 218) ... FAILED
[INFO] [stdout] test src/maneuvers/budget.rs - maneuvers::budget::DeltaVBudget::propellant_mass (line 257) ... FAILED
[INFO] [stdout] test src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::pure_plane_change (line 158) ... FAILED
[INFO] [stdout] test src/core/fast_math.rs - core::fast_math::sin_cos (line 53) ... ok
[INFO] [stdout] test src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::coplanar_rendezvous (line 439) ... FAILED
[INFO] [stdout] test src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::coorbital_rendezvous (line 375) ... FAILED
[INFO] [stdout] test src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::phasing_orbit (line 211) ... FAILED
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::DragPerturbation (line 2927) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::J2Perturbation (line 2865) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::Perturbation (line 2796) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::PerturbationSet (line 3213) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::SolarRadiationPressure (line 3133) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::ThirdBodyPerturbation (line 3008) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::drag_acceleration (line 169) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::exponential_density (line 124) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::j2_acceleration_func (line 245) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::j2_perturbation (line 52) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::moon_position_simple (line 805) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_cowell (line 2016) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_drag_rk4 (line 514) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_j2_dop853 (line 414) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_j2_dopri5 (line 357) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_j2_rk4 (line 296) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_srp_rk4 (line 1460) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_thirdbody_rk4 (line 1049) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::propagate_with_perturbations (line 3330) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::shadow_function (line 1216) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::srp_acceleration (line 1322) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::sun_moon_perturbation (line 925) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::sun_position_simple (line 755) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::third_body_acceleration_func (line 962) ... ignored
[INFO] [stdout] test src/propagators/perturbations.rs - propagators::perturbations::third_body_perturbation (line 868) ... ignored
[INFO] [stdout] test src/propagators/perturbations_static.rs - propagators::perturbations_static (line 22) ... ignored
[INFO] [stdout] test src/propagators/perturbations_static.rs - propagators::perturbations_static::j2_dynamics (line 333) ... ignored
[INFO] [stdout] test src/propagators/perturbations_static.rs - propagators::perturbations_static::j2_perturbation_static (line 88) ... ignored
[INFO] [stdout] test src/propagators/stm.rs - propagators::stm::jacobian_j2 (line 130) ... ignored
[INFO] [stdout] test src/propagators/stm.rs - propagators::stm::jacobian_two_body (line 57) ... ignored
[INFO] [stdout] test src/propagators/stm.rs - propagators::stm::propagate_stm_dopri5 (line 384) ... ignored
[INFO] [stdout] test src/propagators/stm.rs - propagators::stm::propagate_stm_rk4 (line 261) ... ignored
[INFO] [stdout] test src/satellite/conjunction.rs - satellite::conjunction::check_collision (line 211) ... ignored
[INFO] [stdout] test src/satellite/conjunction.rs - satellite::conjunction::closest_approach_distance (line 259) ... ignored
[INFO] [stdout] test src/satellite/conjunction.rs - satellite::conjunction::compute_conjunction (line 104) ... ignored
[INFO] [stdout] test src/satellite/coverage.rs - satellite::coverage (line 82) ... ignored
[INFO] [stdout] test src/satellite/coverage.rs - satellite::coverage::compute_access_statistics (line 281) ... ignored
[INFO] [stdout] test src/satellite/coverage.rs - satellite::coverage::coverage_area (line 240) ... ignored
[INFO] [stdout] test src/satellite/coverage.rs - satellite::coverage::coverage_percentage (line 364) ... ignored
[INFO] [stdout] test src/satellite/coverage.rs - satellite::coverage::visibility_circle (line 159) ... ignored
[INFO] [stdout] test src/satellite/eclipse.rs - satellite::eclipse::compute_eclipse_state (line 163) ... ignored
[INFO] [stdout] test src/satellite/eclipse.rs - satellite::eclipse::eclipse_duration (line 453) ... ignored
[INFO] [stdout] test src/satellite/eclipse.rs - satellite::eclipse::solar_beta_angle (line 247) ... ignored
[INFO] [stdout] test src/satellite/eclipse.rs - satellite::eclipse::solar_beta_angle_precise (line 293) ... ignored
[INFO] [stdout] test src/satellite/eclipse.rs - satellite::eclipse::sun_synchronous_inclination (line 364) ... ignored
[INFO] [stdout] test src/satellite/groundtrack.rs - satellite::groundtrack (line 79) ... ignored
[INFO] [stdout] test src/satellite/groundtrack.rs - satellite::groundtrack::calculate_swath_width (line 377) ... ignored
[INFO] [stdout] test src/satellite/groundtrack.rs - satellite::groundtrack::compute_ground_track (line 320) ... ignored
[INFO] [stdout] test src/satellite/groundtrack.rs - satellite::groundtrack::ecef_to_geodetic (line 177) ... ignored
[INFO] [stdout] test src/satellite/groundtrack.rs - satellite::groundtrack::maximum_ground_range (line 420) ... ignored
[INFO] [stdout] test src/satellite/groundtrack.rs - satellite::groundtrack::sub_satellite_point (line 253) ... ignored
[INFO] [stdout] test src/satellite/lifetime.rs - satellite::lifetime::estimate_decay_rate (line 293) ... ignored
[INFO] [stdout] test src/satellite/lifetime.rs - satellite::lifetime::estimate_lifetime (line 90) ... ignored
[INFO] [stdout] test src/satellite/mod.rs - satellite (line 41) ... ignored
[INFO] [stdout] test src/satellite/omm.rs - satellite::omm::parse_omm (line 83) ... ignored
[INFO] [stdout] test src/satellite/omm.rs - satellite::omm::parse_omm_batch (line 112) ... ignored
[INFO] [stdout] test src/satellite/sgp4_wrapper.rs - satellite::sgp4_wrapper::propagate_batch (line 177) ... ignored
[INFO] [stdout] test src/satellite/sgp4_wrapper.rs - satellite::sgp4_wrapper::propagate_from_elements (line 127) ... ignored
[INFO] [stdout] test src/satellite/tle.rs - satellite::tle::parse_tle (line 77) ... ignored
[INFO] [stdout] test src/satellite/visibility.rs - satellite::visibility (line 62) ... ignored
[INFO] [stdout] test src/satellite/visibility.rs - satellite::visibility::compute_azimuth_elevation (line 226) ... ignored
[INFO] [stdout] test src/satellite/visibility.rs - satellite::visibility::find_all_passes (line 653) ... ignored
[INFO] [stdout] test src/satellite/visibility.rs - satellite::visibility::find_next_pass (line 398) ... ignored
[INFO] [stdout] test src/satellite/visibility.rs - satellite::visibility::is_visible (line 322) ... ignored
[INFO] [stdout] test src/core/state.rs - core::state::CartesianState::eccentricity_vector (line 146) ... ok
[INFO] [stdout] test src/maneuvers/lambert.rs - maneuvers::lambert::Lambert::solve (line 158) ... ok
[INFO] [stdout] test src/core/state.rs - core::state::CartesianState::eccentricity (line 186) ... ok
[INFO] [stdout] test src/propagators/keplerian.rs - propagators::keplerian::batch_propagate_states (line 393) ... ok
[INFO] [stdout] test src/propagators/keplerian.rs - propagators::keplerian::propagate_state_keplerian (line 136) ... ok
[INFO] [stdout] test src/propagators/keplerian.rs - propagators::keplerian::propagate_lagrange (line 311) ... ok
[INFO] [stdout] test src/propagators/keplerian.rs - propagators::keplerian::propagate_keplerian (line 41) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/maneuvers/bielliptic.rs - maneuvers::bielliptic::BiellipticTransfer::calculate (line 148) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/bielliptic.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | use astrora::maneuvers::BiellipticTransfer;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/bielliptic.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | use astrora::core::constants::earth;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/bielliptic.rs - maneuvers::bielliptic::BiellipticTransfer::compare_with_hohmann (line 359) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/bielliptic.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 360 | use astrora::maneuvers::BiellipticTransfer;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/bielliptic.rs:361:5
[INFO] [stdout]     |
[INFO] [stdout] 361 | use astrora::core::constants::earth;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/gravityassist.rs - maneuvers::gravityassist::GravityAssist::from_periapsis (line 175) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `poliastro`
[INFO] [stdout]    --> src/maneuvers/gravityassist.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 | use poliastro::maneuvers::GravityAssist;
[INFO] [stdout]     |     ^^^^^^^^^ use of unresolved module or unlinked crate `poliastro`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `poliastro`, use `cargo add poliastro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/time.rs - core::time::Epoch (line 22) stdout ----
[INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Epoch` in the current scope
[INFO] [stdout]   --> src/core/time.rs:27:64
[INFO] [stdout]    |
[INFO] [stdout] 27 | let epoch = Epoch::from_gregorian_utc(2000, 1, 1, 12, 0, 0, 0).unwrap();
[INFO] [stdout]    |                                                                ^^^^^^ method not found in `Epoch`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/hohmann.rs - maneuvers::hohmann::HohmannTransfer::calculate (line 109) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/hohmann.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | use astrora::maneuvers::HohmannTransfer;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/hohmann.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | use astrora::core::constants::earth;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::optimal_plane_change_location (line 309) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/planechange.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | use astrora::maneuvers::planechange::PlaneChange;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::combined_plane_change (line 218) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/planechange.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 | use astrora::maneuvers::planechange::PlaneChange;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/budget.rs - maneuvers::budget::DeltaVBudget::propellant_mass (line 257) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `poliastro`
[INFO] [stdout]    --> src/maneuvers/budget.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 | use poliastro::maneuvers::DeltaVBudget;
[INFO] [stdout]     |     ^^^^^^^^^ use of unresolved module or unlinked crate `poliastro`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `poliastro`, use `cargo add poliastro` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `poliastro`
[INFO] [stdout]    --> src/maneuvers/budget.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 | fn example() -> poliastro::core::PoliastroResult<()> {
[INFO] [stdout]     |                 ^^^^^^^^^ use of unresolved module or unlinked crate `poliastro`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `poliastro`, use `cargo add poliastro` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 257 + use astrora_core::core;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `core`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 259 - fn example() -> poliastro::core::PoliastroResult<()> {
[INFO] [stdout] 259 + fn example() -> core::PoliastroResult<()> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::pure_plane_change (line 158) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/planechange.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | use astrora::maneuvers::planechange::PlaneChange;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::coplanar_rendezvous (line 439) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/rendezvous.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 440 | use astrora::maneuvers::Rendezvous;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/rendezvous.rs:441:5
[INFO] [stdout]     |
[INFO] [stdout] 441 | use astrora::core::constants::earth;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::coorbital_rendezvous (line 375) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/rendezvous.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 376 | use astrora::maneuvers::Rendezvous;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/rendezvous.rs:377:5
[INFO] [stdout]     |
[INFO] [stdout] 377 | use astrora::core::constants::earth;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::phasing_orbit (line 211) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/rendezvous.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | use astrora::maneuvers::Rendezvous;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]    --> src/maneuvers/rendezvous.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | use astrora::core::constants::earth;
[INFO] [stdout]     |     ^^^^^^^ use of unresolved module or unlinked crate `astrora`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `astrora`, use `cargo add astrora` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/core/time.rs - core::time::Epoch (line 22)
[INFO] [stdout]     src/maneuvers/bielliptic.rs - maneuvers::bielliptic::BiellipticTransfer::calculate (line 148)
[INFO] [stdout]     src/maneuvers/bielliptic.rs - maneuvers::bielliptic::BiellipticTransfer::compare_with_hohmann (line 359)
[INFO] [stdout]     src/maneuvers/budget.rs - maneuvers::budget::DeltaVBudget::propellant_mass (line 257)
[INFO] [stdout]     src/maneuvers/gravityassist.rs - maneuvers::gravityassist::GravityAssist::from_periapsis (line 175)
[INFO] [stdout]     src/maneuvers/hohmann.rs - maneuvers::hohmann::HohmannTransfer::calculate (line 109)
[INFO] [stdout]     src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::combined_plane_change (line 218)
[INFO] [stdout]     src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::optimal_plane_change_location (line 309)
[INFO] [stdout]     src/maneuvers/planechange.rs - maneuvers::planechange::PlaneChange::pure_plane_change (line 158)
[INFO] [stdout]     src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::coorbital_rendezvous (line 375)
[INFO] [stdout]     src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::coplanar_rendezvous (line 439)
[INFO] [stdout]     src/maneuvers/rendezvous.rs - maneuvers::rendezvous::Rendezvous::phasing_orbit (line 211)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 24 passed; 12 failed; 100 ignored; 0 measured; 0 filtered out; finished in 7.07s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "2a837be845b909b6df17dfc34bbd9d559ad886f52fef13894d8ecd2625dcb3b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a837be845b909b6df17dfc34bbd9d559ad886f52fef13894d8ecd2625dcb3b5", kill_on_drop: false }`
[INFO] [stdout] 2a837be845b909b6df17dfc34bbd9d559ad886f52fef13894d8ecd2625dcb3b5
