[INFO] cloning repository https://github.com/torafugu/saberbb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/torafugu/saberbb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftorafugu%2Fsaberbb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftorafugu%2Fsaberbb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 597dab822b5cd63d30411f1e760341cf6fb36ce3
[INFO] checking torafugu/saberbb against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftorafugu%2Fsaberbb" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/torafugu/saberbb
[INFO] finished tweaking git repo https://github.com/torafugu/saberbb
[INFO] tweaked toml for git repo https://github.com/torafugu/saberbb written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/torafugu/saberbb on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/torafugu/saberbb 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded svg v0.18.0
[INFO] [stderr]   Downloaded serde_rusqlite v0.43.0
[INFO] [stderr]   Downloaded rusqlite v0.40.0
[INFO] [stderr]   Downloaded fluent-templates v0.14.0
[INFO] [stderr]   Downloaded fluent-template-macros v0.14.0
[INFO] [stderr]   Downloaded glam v0.33.7
[INFO] [stderr]   Downloaded confy v2.0.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8
[INFO] running `Command { std: "docker" "start" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling unic-langid-impl v0.9.6
[INFO] [stderr]     Checking lru v0.16.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking type-map v0.5.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling unic-langid-macros-impl v0.9.6
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling unic-langid-macros v0.9.6
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling unic-langid v0.9.6
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking object v0.37.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking fluent-syntax v0.12.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking intl_pluralrules v7.0.2
[INFO] [stderr]     Checking fluent-langneg v0.13.1
[INFO] [stderr]     Checking intl-memoizer v0.5.3
[INFO] [stderr]     Checking hashlink v0.11.0
[INFO] [stderr]     Checking self_cell v1.2.2
[INFO] [stderr]     Checking indenter v0.3.4
[INFO] [stderr]     Checking polycool v0.4.0
[INFO] [stderr]     Checking eyre v0.6.12
[INFO] [stderr]     Checking etcetera v0.10.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.38.0
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking vte v0.14.1
[INFO] [stderr]     Checking deadpool-runtime v0.3.1
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking strip-ansi-escapes v0.2.1
[INFO] [stderr]     Checking signal-hook v0.4.4
[INFO] [stderr]     Checking directories v6.0.0
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking svg v0.18.0
[INFO] [stderr]     Checking glam v0.33.7
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking rand_distr v0.6.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking compact_str v0.9.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking toml v0.9.12+spec-1.1.0
[INFO] [stderr]     Checking fluent-bundle v0.16.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]    Compiling validator_derive v0.20.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking kurbo v0.13.1
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking ratatui-crossterm v0.1.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking confy v2.0.0
[INFO] [stderr]     Checking ignore v0.4.25
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]    Compiling fluent-template-macros v0.14.0
[INFO] [stderr]     Checking ratatui-macros v0.7.0
[INFO] [stderr]     Checking ratatui v0.30.0
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking fluent-templates v0.14.0
[INFO] [stderr]     Checking color-spantrace v0.3.0
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]     Checking deadpool v0.13.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking rusqlite v0.40.0
[INFO] [stderr]     Checking serde_rusqlite v0.43.0
[INFO] [stderr]     Checking saberbb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `signed_thickness_offset_m`
[INFO] [stdout]   --> tests/simulate_3d_batting.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let signed_thickness_offset_m = -offset_x_m * bat_angle.sin() + offset_z_m * bat_angle.cos();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signed_thickness_offset_m`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `effective_mass`
[INFO] [stdout]   --> tests/simulate_3d_batting.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let effective_mass = effective_bat_mass(&bat, &geometry);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_mass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_batter` is never used
[INFO] [stdout]    --> tests/common/mod.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn generate_batter() -> BatterInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pivot_from_knob_m` and `restitution` are never read
[INFO] [stdout]    --> tests/common/mod.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct Bat {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pivot_from_knob_m: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     restitution: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Bat` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> tests/common/mod.rs:341:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl Bat {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn length_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn mass_properties(&self) -> BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn mass_kg(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn transverse_inertia_kg_m2(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn reference_contact_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn pivot_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn restitution(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn radius_at_contact(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin` is never read
[INFO] [stdout]    --> tests/common/mod.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub struct BatPose {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 456 |     // World or collision-local position of the knob.
[INFO] [stdout] 457 |     pub origin: DVec3,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BatPose` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `axis_point`, `center_of_mass`, and `pivot_point` are never used
[INFO] [stdout]    --> tests/common/mod.rs:464:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl BatPose {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 464 |     pub fn new(origin: DVec3, axis: DVec3) -> Option<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn axis_point(&self, position_from_knob_m: f64) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn center_of_mass(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn pivot_point(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `axis_point`, `bat_surface_point`, and `ball_surface_point` are never read
[INFO] [stdout]    --> tests/common/mod.rs:519:9
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct ContactGeometry {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub axis_point: DVec3,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub bat_surface_point: DVec3,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 525 |     pub ball_surface_point: DVec3,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContactGeometry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `outgoing_ball_velocity`, `normal_impulse_ns`, `relative_normal_velocity_before_mps`, `relative_normal_velocity_after_mps`, and `effective_bat_mass_kg` are never read
[INFO] [stdout]    --> tests/common/mod.rs:578:9
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub struct ImpactResult {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 577 |     /// Ball velocity after the collision
[INFO] [stdout] 578 |     pub outgoing_ball_velocity: DVec3,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     pub normal_impulse_ns: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub relative_normal_velocity_before_mps: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     pub relative_normal_velocity_after_mps: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub effective_bat_mass_kg: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImpactResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatSlice` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct BatSlice {
[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 `validate_slices` is never used
[INFO] [stdout]    --> tests/common/mod.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn validate_slices(slices: &[BatSlice]) -> Option<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_WOOD_BAT_SLICES` is never used
[INFO] [stdout]    --> tests/common/mod.rs:209:11
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub const DEFAULT_WOOD_BAT_SLICES: [BatSlice; 8] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatMassProperties` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bat` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct Bat {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/common/mod.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl Bat {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 289 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn default_wood() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn length_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn mass_properties(&self) -> BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn mass_kg(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn center_of_mass_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn transverse_inertia_kg_m2(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn reference_contact_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn pivot_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn restitution(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn contact_position_from_knob(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn radius_at(&self, position_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn radius_at_contact(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bat_mass_properties` is never used
[INFO] [stdout]    --> tests/common/mod.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn calculate_bat_mass_properties(slices: &[BatSlice]) -> Option<BatMassProperties> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatPose` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:455:12
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub struct BatPose {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `axis_point`, `center_of_mass`, and `pivot_point` are never used
[INFO] [stdout]    --> tests/common/mod.rs:464:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl BatPose {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 464 |     pub fn new(origin: DVec3, axis: DVec3) -> Option<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn axis_point(&self, position_from_knob_m: f64) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn center_of_mass(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn pivot_point(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `effective_bat_mass` is never used
[INFO] [stdout]    --> tests/common/mod.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn effective_bat_mass(bat: &Bat, geometry: &ContactGeometry) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bat_contact_velocity` is never used
[INFO] [stdout]    --> tests/common/mod.rs:495:8
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub fn calculate_bat_contact_velocity(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactGeometry` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:514:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct ContactGeometry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_contact_geometry` is never used
[INFO] [stdout]    --> tests/common/mod.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn calculate_contact_geometry(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImpactResult` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub struct ImpactResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_cylindrical_impact` is never used
[INFO] [stdout]    --> tests/common/mod.rs:595:8
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub fn resolve_cylindrical_impact(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatSlice` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct BatSlice {
[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 `validate_slices` is never used
[INFO] [stdout]    --> tests/common/mod.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn validate_slices(slices: &[BatSlice]) -> Option<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_WOOD_BAT_SLICES` is never used
[INFO] [stdout]    --> tests/common/mod.rs:209:11
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub const DEFAULT_WOOD_BAT_SLICES: [BatSlice; 8] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatMassProperties` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bat` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct Bat {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/common/mod.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl Bat {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 289 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn default_wood() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn length_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn mass_properties(&self) -> BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn mass_kg(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn center_of_mass_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn transverse_inertia_kg_m2(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn reference_contact_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn pivot_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn restitution(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn contact_position_from_knob(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn radius_at(&self, position_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn radius_at_contact(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bat_mass_properties` is never used
[INFO] [stdout]    --> tests/common/mod.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn calculate_bat_mass_properties(slices: &[BatSlice]) -> Option<BatMassProperties> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatPose` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:455:12
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub struct BatPose {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `axis_point`, `center_of_mass`, and `pivot_point` are never used
[INFO] [stdout]    --> tests/common/mod.rs:464:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl BatPose {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 464 |     pub fn new(origin: DVec3, axis: DVec3) -> Option<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn axis_point(&self, position_from_knob_m: f64) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn center_of_mass(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn pivot_point(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `effective_bat_mass` is never used
[INFO] [stdout]    --> tests/common/mod.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn effective_bat_mass(bat: &Bat, geometry: &ContactGeometry) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bat_contact_velocity` is never used
[INFO] [stdout]    --> tests/common/mod.rs:495:8
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub fn calculate_bat_contact_velocity(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactGeometry` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:514:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct ContactGeometry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_contact_geometry` is never used
[INFO] [stdout]    --> tests/common/mod.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn calculate_contact_geometry(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImpactResult` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub struct ImpactResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_cylindrical_impact` is never used
[INFO] [stdout]    --> tests/common/mod.rs:595:8
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub fn resolve_cylindrical_impact(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatSlice` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct BatSlice {
[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 `validate_slices` is never used
[INFO] [stdout]    --> tests/common/mod.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub fn validate_slices(slices: &[BatSlice]) -> Option<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_WOOD_BAT_SLICES` is never used
[INFO] [stdout]    --> tests/common/mod.rs:209:11
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub const DEFAULT_WOOD_BAT_SLICES: [BatSlice; 8] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatMassProperties` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bat` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct Bat {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tests/common/mod.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 288 | impl Bat {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 289 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn default_wood() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn length_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     pub fn mass_properties(&self) -> BatMassProperties {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn mass_kg(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn center_of_mass_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn transverse_inertia_kg_m2(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     pub fn reference_contact_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 365 |     pub fn pivot_from_knob_m(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     pub fn restitution(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn contact_position_from_knob(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn radius_at(&self, position_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn radius_at_contact(&self, signed_length_offset_m: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bat_mass_properties` is never used
[INFO] [stdout]    --> tests/common/mod.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub fn calculate_bat_mass_properties(slices: &[BatSlice]) -> Option<BatMassProperties> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatPose` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:455:12
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub struct BatPose {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `axis_point`, `center_of_mass`, and `pivot_point` are never used
[INFO] [stdout]    --> tests/common/mod.rs:464:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl BatPose {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 464 |     pub fn new(origin: DVec3, axis: DVec3) -> Option<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     pub fn axis_point(&self, position_from_knob_m: f64) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn center_of_mass(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     pub fn pivot_point(&self, bat: &Bat) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `effective_bat_mass` is never used
[INFO] [stdout]    --> tests/common/mod.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub fn effective_bat_mass(bat: &Bat, geometry: &ContactGeometry) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_bat_contact_velocity` is never used
[INFO] [stdout]    --> tests/common/mod.rs:495:8
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub fn calculate_bat_contact_velocity(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContactGeometry` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:514:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct ContactGeometry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_contact_geometry` is never used
[INFO] [stdout]    --> tests/common/mod.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn calculate_contact_geometry(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImpactResult` is never constructed
[INFO] [stdout]    --> tests/common/mod.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 576 | pub struct ImpactResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_cylindrical_impact` is never used
[INFO] [stdout]    --> tests/common/mod.rs:595:8
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub fn resolve_cylindrical_impact(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `console`
[INFO] [stderr]  --> Cargo.toml:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | console = "0.16.3"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `console`
[INFO] [stderr] warning: unused dependency `serde_rusqlite`
[INFO] [stderr]   --> Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | serde_rusqlite = "0.43.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `serde_rusqlite`
[INFO] [stderr] warning: `saberbb` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 57.51s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8", kill_on_drop: false }`
[INFO] [stdout] 9c7ce6df2abde6d3b6a2be45cf56b6918e72168d4102cc320484a53d419cd8c8
