[INFO] fetching crate swerve_vehicle_descriptors 0.1.0...
[INFO] testing swerve_vehicle_descriptors-0.1.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate swerve_vehicle_descriptors 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate swerve_vehicle_descriptors 0.1.0
[INFO] finished tweaking crates.io crate swerve_vehicle_descriptors 0.1.0
[INFO] tweaked toml for crates.io crate swerve_vehicle_descriptors 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate swerve_vehicle_descriptors 0.1.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 85 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.5.1 (available: v0.8.1)
[INFO] [stderr]       Adding float-cmp v0.9.0 (available: v0.10.0)
[INFO] [stderr]       Adding nalgebra v0.33.2 (available: v0.34.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mutants v0.0.3
[INFO] [stderr]   Downloaded simba v0.9.1
[INFO] [stderr]   Downloaded clap v4.5.54
[INFO] [stderr]   Downloaded nalgebra v0.33.2
[INFO] [stderr]   Downloaded clap_builder v4.5.54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a885b0d9b7b62e019da9c95527858803580cbbc4794f3ee4d3573927743a3525
[INFO] running `Command { std: "docker" "start" "-a" "a885b0d9b7b62e019da9c95527858803580cbbc4794f3ee4d3573927743a3525", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a885b0d9b7b62e019da9c95527858803580cbbc4794f3ee4d3573927743a3525", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a885b0d9b7b62e019da9c95527858803580cbbc4794f3ee4d3573927743a3525", kill_on_drop: false }`
[INFO] [stdout] a885b0d9b7b62e019da9c95527858803580cbbc4794f3ee4d3573927743a3525
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d5d685c11f996570dd222cb5e092c07400e459bb898f6abcd2662fcd5f3831a
[INFO] running `Command { std: "docker" "start" "-a" "7d5d685c11f996570dd222cb5e092c07400e459bb898f6abcd2662fcd5f3831a", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling mutants v0.0.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling float-cmp v0.9.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling swerve_vehicle_descriptors v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `background_runner` is never read
[INFO] [stdout]    --> src/change_notification_processing.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct HardwareChangeProcessor {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 107 |     background_runner: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `elements` is never used
[INFO] [stdout]    --> src/model_elements/model.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl KinematicTree {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn elements(&self) -> impl Iterator<Item = &ReferenceFrame> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.63s
[INFO] running `Command { std: "docker" "inspect" "7d5d685c11f996570dd222cb5e092c07400e459bb898f6abcd2662fcd5f3831a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d5d685c11f996570dd222cb5e092c07400e459bb898f6abcd2662fcd5f3831a", kill_on_drop: false }`
[INFO] [stdout] 7d5d685c11f996570dd222cb5e092c07400e459bb898f6abcd2662fcd5f3831a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 91e96cf5e197072ab93f1abaac5f35241f7e8f1305e6e63c3775455195e4a4cc
[INFO] running `Command { std: "docker" "start" "-a" "91e96cf5e197072ab93f1abaac5f35241f7e8f1305e6e63c3775455195e4a4cc", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling swerve_vehicle_descriptors v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `background_runner` is never read
[INFO] [stdout]    --> src/change_notification_processing.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct HardwareChangeProcessor {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 107 |     background_runner: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `elements` is never used
[INFO] [stdout]    --> src/model_elements/model.rs:284:8
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl KinematicTree {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 284 |     fn elements(&self) -> impl Iterator<Item = &ReferenceFrame> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `background_runner` is never read
[INFO] [stdout]    --> src/change_notification_processing.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct HardwareChangeProcessor {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 107 |     background_runner: JoinHandle<()>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LeftRear` is never constructed
[INFO] [stdout]     --> src/model_elements/model_tests.rs:1121:5
[INFO] [stdout]      |
[INFO] [stdout] 1119 | enum DriveModulePosition {
[INFO] [stdout]      |      ------------------- variant in this enum
[INFO] [stdout] 1120 |     LeftFront,
[INFO] [stdout] 1121 |     LeftRear,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `DriveModulePosition` 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: field `sender` is never read
[INFO] [stdout]     --> src/model_elements/model_tests.rs:1146:5
[INFO] [stdout]      |
[INFO] [stdout] 1144 | struct MockHardwareActuator {
[INFO] [stdout]      |        -------------------- field in this struct
[INFO] [stdout] 1145 |     receiver: Receiver<(JointState, ActuatorAvailableRatesOfChange)>,
[INFO] [stdout] 1146 |     sender: Sender<(JointState, ActuatorAvailableRatesOfChange)>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 42.29s
[INFO] running `Command { std: "docker" "inspect" "91e96cf5e197072ab93f1abaac5f35241f7e8f1305e6e63c3775455195e4a4cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91e96cf5e197072ab93f1abaac5f35241f7e8f1305e6e63c3775455195e4a4cc", kill_on_drop: false }`
[INFO] [stdout] 91e96cf5e197072ab93f1abaac5f35241f7e8f1305e6e63c3775455195e4a4cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 473fe1bbabd273fcefe5c04f877bb487d1b99b79b23be7ce12b0e2247725afdb
[INFO] running `Command { std: "docker" "start" "-a" "473fe1bbabd273fcefe5c04f877bb487d1b99b79b23be7ce12b0e2247725afdb", kill_on_drop: false }`
[INFO] [stderr] warning: field `background_runner` is never read
[INFO] [stderr]    --> src/change_notification_processing.rs:107:5
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub struct HardwareChangeProcessor {
[INFO] [stderr]     |            ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 107 |     background_runner: JoinHandle<()>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `elements` is never used
[INFO] [stderr]    --> src/model_elements/model.rs:284:8
[INFO] [stderr]     |
[INFO] [stderr]  96 | impl KinematicTree {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 284 |     fn elements(&self) -> impl Iterator<Item = &ReferenceFrame> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `swerve_vehicle_descriptors` (lib) generated 2 warnings
[INFO] [stderr] warning: variant `LeftRear` is never constructed
[INFO] [stderr]     --> src/model_elements/model_tests.rs:1121:5
[INFO] [stderr]      |
[INFO] [stderr] 1119 | enum DriveModulePosition {
[INFO] [stderr]      |      ------------------- variant in this enum
[INFO] [stderr] 1120 |     LeftFront,
[INFO] [stderr] 1121 |     LeftRear,
[INFO] [stderr]      |     ^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `DriveModulePosition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `sender` is never read
[INFO] [stderr]     --> src/model_elements/model_tests.rs:1146:5
[INFO] [stderr]      |
[INFO] [stderr] 1144 | struct MockHardwareActuator {
[INFO] [stderr]      |        -------------------- field in this struct
[INFO] [stderr] 1145 |     receiver: Receiver<(JointState, ActuatorAvailableRatesOfChange)>,
[INFO] [stderr] 1146 |     sender: Sender<(JointState, ActuatorAvailableRatesOfChange)>,
[INFO] [stderr]      |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `swerve_vehicle_descriptors` (lib test) generated 3 warnings (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/swerve_vehicle_descriptors-d8abf478979ec34d)
[INFO] [stdout] 
[INFO] [stdout] running 105 tests
[INFO] [stdout] test change_notification_processing::change_notification_processing_tests::when_comparing_id_with_itself_should_be_equal ... ok
[INFO] [stdout] test change_notification_processing::change_notification_processing_tests::when_creating_new_ids_should_never_match_the_none_id ... ok
[INFO] [stdout] test change_notification_processing::change_notification_processing_tests::when_displaying_an_id_it_should_write_out_the_internal_id_number ... ok
[INFO] [stdout] test hardware::actuator_interface::actuator_interface_tests::test_getters ... ok
[INFO] [stdout] test hardware::actuator_interface::actuator_interface_tests::test_new_instance ... ok
[INFO] [stdout] test hardware::joint_state::joint_state_tests::test_joint_state_defaults ... ok
[INFO] [stdout] test hardware::joint_state::joint_state_tests::test_joint_state_range_new ... ok
[INFO] [stdout] test hardware::joint_state::joint_state_tests::test_new_joint_state ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::test_actuator_set_value ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::test_actuator_new ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::test_joint_sensor_new ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::when_comparing_id_with_itself_should_be_equal ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::when_creating_chassis_element_should_be_initialized ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::when_creating_new_ids_should_be_unique ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::when_creating_new_ids_should_never_match_the_none_id ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::when_creating_reference_frame_should_be_initialized ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::when_displaying_an_id_it_should_write_out_the_internal_id_number ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_a_child_to_an_element_in_a_kinematic_tree_it_should_not_be_a_wheel_anymore ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_actuated_chassis_element_it_should_store_the_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_actuated_chassis_element_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_actuated_chassis_element_with_none_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_actuated_chassis_element_with_parent_wheel_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_an_element_to_a_kinematic_tree_referencing_itself_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_an_element_to_a_kinematic_tree_it_should_only_be_a_wheel_in_a_specific_case ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_an_element_with_an_unknown_parent_to_a_kinematic_tree_it_should_error ... ok
[INFO] [stdout] test change_notification_processing::change_notification_processing_tests::when_creating_new_ids_should_be_unique ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_an_single_element_with_no_parent_to_a_kinematic_tree_it_should_be_a_body ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_an_multiple_elements_to_a_kinematic_tree_it_should_only_have_one_body ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_body_it_should_store_the_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_body_multiple_times_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_multiple_elements_without_parents_to_a_kinematic_tree_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_static_chassis_element_with_none_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_static_chassis_element_with_parent_wheel_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_steering_element_it_should_store_the_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_steering_element_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_steering_element_with_multiple_steering_elements_in_chain_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_steering_element_with_none_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_static_chassis_element_it_should_store_the_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_static_chassis_element_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_steering_element_with_parent_wheel_it_should_error ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::test_actuator_get_value ... ok
[INFO] [stdout] test model_elements::frame_elements::frame_elements_tests::test_joint_sensor_get_value ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_suspension_element_with_wheel_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_suspension_elements_multiple_times_it_should_store_the_elements ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_wheel_element_it_should_store_the_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_wheel_element_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_wheel_element_with_none_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_leaf_elements_to_a_kinematic_tree_it_should_be_multiple_wheels ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_suspension_element_it_should_store_the_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_suspension_element_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_suspension_element_with_none_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_checking_if_an_element_exists_with_nonexisting_element_it_should_return_false ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_creating_physical_properties_it_should_store_the_values_correctly ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_wheel_element_without_steering_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_checking_is_valid_with_missing_wheel_it_should_fail ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_checking_is_valid_with_valid_model_it_should_approve ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_actuator_with_non_existing_element_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_active_suspension_with_more_actuators_than_wheels_it_should_return_true ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_active_suspension_with_actuators_matching_wheels_it_should_return_false ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_body_without_elements_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_chassis_element_with_non_existing_element_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_children_it_should_return_the_children ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_children_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_frame_degree_of_freedom_with_invalid_frame_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_body_with_multiple_elements_and_no_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_adding_wheel_element_with_wheel_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_body_with_one_element_and_no_motion_it_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_frame_across_wheel_chains_and_no_motion_it_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_no_motion_it_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_frame_across_wheel_chains_and_motion_it_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_body_with_primatic_x_and_prismatic_z_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_body_with_primatic_x_and_prismatic_y_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_body_with_primatic_y_and_prismatic_z_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_body_with_one_element_and_motion_it_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_primatic_x_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_parent_with_invalid_frame_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_steering_frame_for_wheel_with_invalid_frame_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_body_with_no_frame_elements_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_children_it_should_return_all_the_directly_connected_elements ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_children_with_invalid_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_children_with_no_parent_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_parent_it_should_return_the_correct_element ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_parent_with_invalid_frame_elements_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_parent_with_no_frame_elements_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_the_wheels_with_no_frame_elements_it_should_error ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_testing_if_a_frame_is_an_ancestor_it_should_return_false_if_it_is_not ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_testing_if_a_frame_is_an_ancestor_it_should_return_tryue_if_it_is ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_testing_if_a_frame_is_the_world_frame_it_should_return_false_if_it_is_not ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_testing_if_a_frame_is_the_world_frame_it_should_return_true_if_it_is ... ok
[INFO] [stdout] test number_space::number_space_tests::test_linear_unbounded_space_distance_between_values ... ok
[INFO] [stdout] test number_space::number_space_tests::test_linear_unbounded_space_normalize_value ... ok
[INFO] [stdout] test number_space::number_space_tests::test_linear_unbounded_space_smallest_distance_between_values ... ok
[INFO] [stdout] test number_space::number_space_tests::test_periodic_bounded_circular_space_distance_between_values_minus_pi_to_pi ... ok
[INFO] [stdout] test number_space::number_space_tests::test_periodic_bounded_circular_space_distance_between_values_zero_to_two_pi ... ok
[INFO] [stdout] test number_space::number_space_tests::test_periodic_bounded_circular_space_normalize_value_minus_pi_to_pi ... ok
[INFO] [stdout] test number_space::number_space_tests::test_periodic_bounded_circular_space_normalize_value_zero_to_two_pi ... ok
[INFO] [stdout] test number_space::number_space_tests::test_periodic_bounded_circular_space_smallest_distance_between_values_minus_pi_to_pi ... ok
[INFO] [stdout] test number_space::number_space_tests::test_periodic_bounded_circular_space_smallest_distance_between_values_zero_to_two_pi ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_primatic_y_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_primatic_z_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_revolute_y_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_revolute_x_motion_should_return_the_transform ... ok
[INFO] [stdout] test model_elements::model::model_tests::when_getting_homogeneous_transform_to_parent_with_revolute_z_motion_should_return_the_transform ... ok
[INFO] [stdout] test change_notification_processing::change_notification_processing_tests::test_task_execution_with_unregistered_task ... ok
[INFO] [stdout] test change_notification_processing::change_notification_processing_tests::test_task_addition_and_execution ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 105 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests swerve_vehicle_descriptors
[INFO] [stderr] warning: unknown lint: `rustdoc::missing_doc_code_examples`
[INFO] [stderr]  --> src/lib.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![warn(rustdoc::missing_doc_code_examples)]
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: the `rustdoc::missing_doc_code_examples` lint is unstable
[INFO] [stderr]   = note: see issue #101730 <https://github.com/rust-lang/rust/issues/101730> for more information
[INFO] [stderr]   = help: add `#![feature(rustdoc_missing_doc_code_examples)]` to the crate attributes to enable
[INFO] [stderr]   = note: this compiler was built on 2026-01-05; consider upgrading it if it is out of date
[INFO] [stderr]   = note: `#[warn(unknown_lints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/lib.rs - (line 274) ... ok
[INFO] [stdout] test src/number_space.rs - number_space::RealNumberValueSpace::distance_between_values (line 54) ... ok
[INFO] [stdout] test src/model_elements/model.rs - model_elements::model::OptionIterator<I>::new (line 45) ... ok
[INFO] [stdout] test src/hardware/actuator_interface.rs - hardware::actuator_interface::ActuatorAvailableRatesOfChange::new (line 101) ... ok
[INFO] [stdout] test src/lib.rs - (line 366) ... ok
[INFO] [stdout] test src/model_elements/model.rs - model_elements::model::OptionIterator<I>::new (line 52) ... ok
[INFO] [stdout] test src/model_elements.rs - model_elements (line 24) ... ok
[INFO] [stdout] test src/lib.rs - (line 27) ... ok
[INFO] [stdout] test src/number_space.rs - number_space::RealNumberValueSpace::smallest_distance_between_values (line 112) ... ok
[INFO] [stdout] test src/number_space.rs - number_space::RealNumberValueSpace::normalize_value (line 83) ... ok
[INFO] [stdout] test src/number_space.rs - number_space::to_number_space (line 244) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.37s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "473fe1bbabd273fcefe5c04f877bb487d1b99b79b23be7ce12b0e2247725afdb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "473fe1bbabd273fcefe5c04f877bb487d1b99b79b23be7ce12b0e2247725afdb", kill_on_drop: false }`
[INFO] [stdout] 473fe1bbabd273fcefe5c04f877bb487d1b99b79b23be7ce12b0e2247725afdb
