[INFO] fetching crate robot-description-builder 0.0.3...
[INFO] testing robot-description-builder-0.0.3 against 1.95.0 for beta-1.96-2
[INFO] extracting crate robot-description-builder 0.0.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate robot-description-builder 0.0.3
[INFO] finished tweaking crates.io crate robot-description-builder 0.0.3
[INFO] tweaked toml for crates.io crate robot-description-builder 0.0.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate robot-description-builder 0.0.3 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate robot-description-builder 0.0.3 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror-impl v1.0.50
[INFO] [stderr]   Downloaded thiserror v1.0.50
[INFO] [stderr]   Downloaded proc-macro2 v1.0.70
[INFO] [stderr]   Downloaded test-log-macros v0.2.14
[INFO] [stderr]   Downloaded test-log v0.2.14
[INFO] [stderr]   Downloaded termcolor v1.4.0
[INFO] [stderr]   Downloaded quote v1.0.33
[INFO] [stderr]   Downloaded nalgebra-macros v0.2.1
[INFO] [stderr]   Downloaded num-rational v0.4.1
[INFO] [stderr]   Downloaded bitflags v2.4.1
[INFO] [stderr]   Downloaded num-traits v0.2.17
[INFO] [stderr]   Downloaded matrixmultiply v0.3.8
[INFO] [stderr]   Downloaded simba v0.8.1
[INFO] [stderr]   Downloaded safe_arch v0.7.1
[INFO] [stderr]   Downloaded quick-xml v0.31.0
[INFO] [stderr]   Downloaded itertools v0.12.0
[INFO] [stderr]   Downloaded wide v0.7.13
[INFO] [stderr]   Downloaded memchr v2.6.4
[INFO] [stderr]   Downloaded syn v2.0.41
[INFO] [stderr]   Downloaded typenum v1.17.0
[INFO] [stderr]   Downloaded bytemuck v1.14.0
[INFO] [stderr]   Downloaded log v0.4.20
[INFO] [stderr]   Downloaded env_logger v0.10.1
[INFO] [stderr]   Downloaded num-integer v0.1.45
[INFO] [stderr]   Downloaded num-complex v0.4.4
[INFO] [stderr]   Downloaded is-terminal v0.4.9
[INFO] [stderr]   Downloaded nalgebra v0.32.3
[INFO] [stderr]   Downloaded rustix v0.38.28
[INFO] [stderr]   Downloaded libc v0.2.151
[INFO] [stderr]   Downloaded linux-raw-sys v0.4.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bf5f28481eb9bf31dd4a609539ec355d566f01f3dc0e263c53c241ea7657e6db
[INFO] running `Command { std: "docker" "start" "-a" "bf5f28481eb9bf31dd4a609539ec355d566f01f3dc0e263c53c241ea7657e6db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf5f28481eb9bf31dd4a609539ec355d566f01f3dc0e263c53c241ea7657e6db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf5f28481eb9bf31dd4a609539ec355d566f01f3dc0e263c53c241ea7657e6db", kill_on_drop: false }`
[INFO] [stdout] bf5f28481eb9bf31dd4a609539ec355d566f01f3dc0e263c53c241ea7657e6db
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ac46fdf85e59e8c5015b48811711e690fab9bf46ad8cd7e375b187ca55f123b
[INFO] running `Command { std: "docker" "start" "-a" "1ac46fdf85e59e8c5015b48811711e690fab9bf46ad8cd7e375b187ca55f123b", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bytemuck v1.14.0
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling safe_arch v0.7.1
[INFO] [stderr]    Compiling itertools v0.12.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling wide v0.7.13
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.41
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling simba v0.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]    Compiling nalgebra v0.32.3
[INFO] [stderr]    Compiling robot-description-builder v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `WithAxis`
[INFO] [stdout]  --> src/joint/smartjointbuilder/smartparams.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use axis::{NoAxis, WithAxis};
[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: `WithCalibration`
[INFO] [stdout]  --> src/joint/smartjointbuilder/smartparams.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use calibration::{NoCalibration, WithCalibration};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithDynamics`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use dynamics::{NoDynamics, WithDynamics};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithMimic`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use mimic::{NoMimic, WithMimic};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithSafetyController`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use safety_controller::{NoSafetyController, WithSafetyController};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JointTypeTrait` and `SmartJointTypeTrait`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub use super::super::smartjointtypes::{JointTypeTrait, SmartJointTypeTrait};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/link/geometry.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[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] 70 - impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[INFO] [stdout] 70 + impl PartialEq for dyn GeometryInterface + Sync + Send  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:242:2
[INFO] [stdout]     |
[INFO] [stdout] 242 | /     fn to_urdf(
[INFO] [stdout] 243 | |         &self,
[INFO] [stdout] 244 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stdout] 245 | |         urdf_config: &URDFConfig,
[INFO] [stdout] 246 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:280:28
[INFO] [stdout]     |
[INFO] [stdout] 280 |             .process_results(|iter| iter.collect())?;
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 280 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 281 |
[INFO] [stdout] ...
[INFO] [stdout] 306 |             .map(|transmission| transmission.read().unwrap().to_urdf(writer, urdf_config)) // FIXME: Is unwrap ok here?
[INFO] [stdout] 307 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/link.rs:318:2
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     fn to_urdf(
[INFO] [stdout] 319 | |         &self,
[INFO] [stdout] 320 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stdout] 321 | |         urdf_config: &crate::to_rdf::to_urdf::URDFConfig,
[INFO] [stdout] 322 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stdout]    --> src/link.rs:335:29
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 .process_results(|iter| iter.collect())?;
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 335 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 336 |
[INFO] [stdout] ...
[INFO] [stdout] 339 |                 .map(|collider| collider.to_urdf(writer, urdf_config))
[INFO] [stdout] 340 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 341 |
[INFO] [stdout] ...
[INFO] [stdout] 348 |             .map(|joint| joint.read().unwrap().to_urdf(writer, urdf_config))
[INFO] [stdout] 349 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_geometry_data` is never used
[INFO] [stdout]    --> src/link/builder/collision_builder.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl CollisionBuilder {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub(crate) fn get_geometry_data(&self) -> GeometryShapeData {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>>;
[INFO] [stdout]     |                        ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>>;
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects.rs:143:3
[INFO] [stdout]     |
[INFO] [stdout] 143 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 144 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>>;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:220:3
[INFO] [stdout]     |
[INFO] [stdout] 220 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 221 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 221 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:232:3
[INFO] [stdout]     |
[INFO] [stdout] 232 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 233 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_tree.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_tree.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 129 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/robot.rs:140:3
[INFO] [stdout]     |
[INFO] [stdout] 140 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/robot.rs:146:3
[INFO] [stdout]     |
[INFO] [stdout] 146 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/joint/joint_tranform_mode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 11 |     FigureItOut(fn(LinkShapeData) -> Transform),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/material.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn material_data(&self) -> MaterialDataReference {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn material_data(&self) -> MaterialDataReference<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/material/stage.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) fn data(&self) -> MaterialDataReference {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) fn data(&self) -> MaterialDataReference<'_> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: robot-description-builder v0.0.3 (/opt/rustwide/workdir)
[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" "1ac46fdf85e59e8c5015b48811711e690fab9bf46ad8cd7e375b187ca55f123b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ac46fdf85e59e8c5015b48811711e690fab9bf46ad8cd7e375b187ca55f123b", kill_on_drop: false }`
[INFO] [stdout] 1ac46fdf85e59e8c5015b48811711e690fab9bf46ad8cd7e375b187ca55f123b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0456fb8b655b26fad0fcd0a7f1518eea9b10dcc61e30261f0059de2ec9f3de48
[INFO] running `Command { std: "docker" "start" "-a" "0456fb8b655b26fad0fcd0a7f1518eea9b10dcc61e30261f0059de2ec9f3de48", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v0.38.28
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.12
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling termcolor v1.4.0
[INFO] [stderr]    Compiling syn v2.0.41
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling test-log-macros v0.2.14
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling robot-description-builder v0.0.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `WithAxis`
[INFO] [stdout]  --> src/joint/smartjointbuilder/smartparams.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use axis::{NoAxis, WithAxis};
[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: `WithCalibration`
[INFO] [stdout]  --> src/joint/smartjointbuilder/smartparams.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use calibration::{NoCalibration, WithCalibration};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithDynamics`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use dynamics::{NoDynamics, WithDynamics};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithMimic`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use mimic::{NoMimic, WithMimic};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithSafetyController`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use safety_controller::{NoSafetyController, WithSafetyController};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JointTypeTrait` and `SmartJointTypeTrait`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub use super::super::smartjointtypes::{JointTypeTrait, SmartJointTypeTrait};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/link/geometry.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[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] 70 - impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[INFO] [stdout] 70 + impl PartialEq for dyn GeometryInterface + Sync + Send  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:242:2
[INFO] [stdout]     |
[INFO] [stdout] 242 | /     fn to_urdf(
[INFO] [stdout] 243 | |         &self,
[INFO] [stdout] 244 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stdout] 245 | |         urdf_config: &URDFConfig,
[INFO] [stdout] 246 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:280:28
[INFO] [stdout]     |
[INFO] [stdout] 280 |             .process_results(|iter| iter.collect())?;
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 280 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 281 |
[INFO] [stdout] ...
[INFO] [stdout] 306 |             .map(|transmission| transmission.read().unwrap().to_urdf(writer, urdf_config)) // FIXME: Is unwrap ok here?
[INFO] [stdout] 307 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/link.rs:318:2
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     fn to_urdf(
[INFO] [stdout] 319 | |         &self,
[INFO] [stdout] 320 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stdout] 321 | |         urdf_config: &crate::to_rdf::to_urdf::URDFConfig,
[INFO] [stdout] 322 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stdout]    --> src/link.rs:335:29
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 .process_results(|iter| iter.collect())?;
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 335 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 336 |
[INFO] [stdout] ...
[INFO] [stdout] 339 |                 .map(|collider| collider.to_urdf(writer, urdf_config))
[INFO] [stdout] 340 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 341 |
[INFO] [stdout] ...
[INFO] [stdout] 348 |             .map(|joint| joint.read().unwrap().to_urdf(writer, urdf_config))
[INFO] [stdout] 349 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling env_logger v0.10.1
[INFO] [stdout] warning: method `get_geometry_data` is never used
[INFO] [stdout]    --> src/link/builder/collision_builder.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl CollisionBuilder {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub(crate) fn get_geometry_data(&self) -> GeometryShapeData {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>>;
[INFO] [stdout]     |                        ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>>;
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects.rs:143:3
[INFO] [stdout]     |
[INFO] [stdout] 143 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 144 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>>;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:220:3
[INFO] [stdout]     |
[INFO] [stdout] 220 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 221 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 221 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:232:3
[INFO] [stdout]     |
[INFO] [stdout] 232 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 233 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_tree.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_tree.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 129 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/robot.rs:140:3
[INFO] [stdout]     |
[INFO] [stdout] 140 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/robot.rs:146:3
[INFO] [stdout]     |
[INFO] [stdout] 146 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/joint/joint_tranform_mode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 11 |     FigureItOut(fn(LinkShapeData) -> Transform),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/material.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn material_data(&self) -> MaterialDataReference {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn material_data(&self) -> MaterialDataReference<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/material/stage.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) fn data(&self) -> MaterialDataReference {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) fn data(&self) -> MaterialDataReference<'_> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling test-log v0.2.14
[INFO] [stdout] warning: unused import: `WithAxis`
[INFO] [stdout]  --> src/joint/smartjointbuilder/smartparams.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use axis::{NoAxis, WithAxis};
[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: `WithCalibration`
[INFO] [stdout]  --> src/joint/smartjointbuilder/smartparams.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use calibration::{NoCalibration, WithCalibration};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithDynamics`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:10:32
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use dynamics::{NoDynamics, WithDynamics};
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithMimic`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use mimic::{NoMimic, WithMimic};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WithSafetyController`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:13:49
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use safety_controller::{NoSafetyController, WithSafetyController};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JointTypeTrait` and `SmartJointTypeTrait`
[INFO] [stdout]   --> src/joint/smartjointbuilder/smartparams.rs:22:42
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub use super::super::smartjointtypes::{JointTypeTrait, SmartJointTypeTrait};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/link/geometry.rs:70:20
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[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] 70 - impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[INFO] [stdout] 70 + impl PartialEq for dyn GeometryInterface + Sync + Send  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:242:2
[INFO] [stdout]     |
[INFO] [stdout] 242 | /     fn to_urdf(
[INFO] [stdout] 243 | |         &self,
[INFO] [stdout] 244 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stdout] 245 | |         urdf_config: &URDFConfig,
[INFO] [stdout] 246 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:280:28
[INFO] [stdout]     |
[INFO] [stdout] 280 |             .process_results(|iter| iter.collect())?;
[INFO] [stdout]     |                                     ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 280 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 281 |
[INFO] [stdout] ...
[INFO] [stdout] 306 |             .map(|transmission| transmission.read().unwrap().to_urdf(writer, urdf_config)) // FIXME: Is unwrap ok here?
[INFO] [stdout] 307 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/link.rs:318:2
[INFO] [stdout]     |
[INFO] [stdout] 318 | /     fn to_urdf(
[INFO] [stdout] 319 | |         &self,
[INFO] [stdout] 320 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stdout] 321 | |         urdf_config: &crate::to_rdf::to_urdf::URDFConfig,
[INFO] [stdout] 322 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stdout]    --> src/link.rs:335:29
[INFO] [stdout]     |
[INFO] [stdout] 335 |                 .process_results(|iter| iter.collect())?;
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 335 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 336 |
[INFO] [stdout] ...
[INFO] [stdout] 339 |                 .map(|collider| collider.to_urdf(writer, urdf_config))
[INFO] [stdout] 340 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout] 341 |
[INFO] [stdout] ...
[INFO] [stdout] 348 |             .map(|joint| joint.read().unwrap().to_urdf(writer, urdf_config))
[INFO] [stdout] 349 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_geometry_data` is never used
[INFO] [stdout]    --> src/link/builder/collision_builder.rs:110:16
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl CollisionBuilder {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub(crate) fn get_geometry_data(&self) -> GeometryShapeData {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects.rs:137:21
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>>;
[INFO] [stdout]     |                        ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>>;
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects.rs:143:3
[INFO] [stdout]     |
[INFO] [stdout] 143 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 144 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>>;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 144 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>>;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:220:3
[INFO] [stdout]     |
[INFO] [stdout] 220 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 221 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 221 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_data_tree.rs:232:3
[INFO] [stdout]     |
[INFO] [stdout] 232 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 233 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>> {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 233 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_tree.rs:123:3
[INFO] [stdout]     |
[INFO] [stdout] 123 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/kinematic_tree.rs:129:3
[INFO] [stdout]     |
[INFO] [stdout] 129 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/robot.rs:140:3
[INFO] [stdout]     |
[INFO] [stdout] 140 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/cluster_objects/robot.rs:146:3
[INFO] [stdout]     |
[INFO] [stdout] 146 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/joint/joint_tranform_mode.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout]  8 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 11 |     FigureItOut(fn(LinkShapeData) -> Transform),
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/material.rs:130:23
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn material_data(&self) -> MaterialDataReference {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn material_data(&self) -> MaterialDataReference<'_> {
[INFO] [stdout]     |                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/material/stage.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) fn data(&self) -> MaterialDataReference {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub(crate) fn data(&self) -> MaterialDataReference<'_> {
[INFO] [stdout]    |                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.24s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: robot-description-builder v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "0456fb8b655b26fad0fcd0a7f1518eea9b10dcc61e30261f0059de2ec9f3de48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0456fb8b655b26fad0fcd0a7f1518eea9b10dcc61e30261f0059de2ec9f3de48", kill_on_drop: false }`
[INFO] [stdout] 0456fb8b655b26fad0fcd0a7f1518eea9b10dcc61e30261f0059de2ec9f3de48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 77eb745ca410355e9910aa70c97a458b34b3ec1364baf9fc4e3fc1d495f7fba1
[INFO] running `Command { std: "docker" "start" "-a" "77eb745ca410355e9910aa70c97a458b34b3ec1364baf9fc4e3fc1d495f7fba1", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `WithAxis`
[INFO] [stderr]  --> src/joint/smartjointbuilder/smartparams.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub use axis::{NoAxis, WithAxis};
[INFO] [stderr]   |                        ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WithCalibration`
[INFO] [stderr]  --> src/joint/smartjointbuilder/smartparams.rs:9:38
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use calibration::{NoCalibration, WithCalibration};
[INFO] [stderr]   |                                      ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WithDynamics`
[INFO] [stderr]   --> src/joint/smartjointbuilder/smartparams.rs:10:32
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use dynamics::{NoDynamics, WithDynamics};
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WithMimic`
[INFO] [stderr]   --> src/joint/smartjointbuilder/smartparams.rs:12:26
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use mimic::{NoMimic, WithMimic};
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WithSafetyController`
[INFO] [stderr]   --> src/joint/smartjointbuilder/smartparams.rs:13:49
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use safety_controller::{NoSafetyController, WithSafetyController};
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `JointTypeTrait` and `SmartJointTypeTrait`
[INFO] [stderr]   --> src/joint/smartjointbuilder/smartparams.rs:22:42
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub use super::super::smartjointtypes::{JointTypeTrait, SmartJointTypeTrait};
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/link/geometry.rs:70:20
[INFO] [stderr]    |
[INFO] [stderr] 70 | impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[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] 70 - impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[INFO] [stderr] 70 + impl PartialEq for dyn GeometryInterface + Sync + Send  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/cluster_objects/kinematic_data_tree.rs:242:2
[INFO] [stderr]     |
[INFO] [stderr] 242 | /     fn to_urdf(
[INFO] [stderr] 243 | |         &self,
[INFO] [stderr] 244 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stderr] 245 | |         urdf_config: &URDFConfig,
[INFO] [stderr] 246 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stderr]     | |_____________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stderr]    --> src/cluster_objects/kinematic_data_tree.rs:280:28
[INFO] [stderr]     |
[INFO] [stderr] 280 |             .process_results(|iter| iter.collect())?;
[INFO] [stderr]     |                                     ^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 280 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stderr] 281 |
[INFO] [stderr] ...
[INFO] [stderr] 306 |             .map(|transmission| transmission.read().unwrap().to_urdf(writer, urdf_config)) // FIXME: Is unwrap ok here?
[INFO] [stderr] 307 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/link.rs:318:2
[INFO] [stderr]     |
[INFO] [stderr] 318 | /     fn to_urdf(
[INFO] [stderr] 319 | |         &self,
[INFO] [stderr] 320 | |         writer: &mut quick_xml::Writer<std::io::Cursor<Vec<u8>>>,
[INFO] [stderr] 321 | |         urdf_config: &crate::to_rdf::to_urdf::URDFConfig,
[INFO] [stderr] 322 | |     ) -> Result<(), quick_xml::Error> {
[INFO] [stderr]     | |_____________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromIterator<()>` will fail
[INFO] [stderr]    --> src/link.rs:335:29
[INFO] [stderr]     |
[INFO] [stderr] 335 |                 .process_results(|iter| iter.collect())?;
[INFO] [stderr]     |                                         ^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 335 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stderr] 336 |
[INFO] [stderr] ...
[INFO] [stderr] 339 |                 .map(|collider| collider.to_urdf(writer, urdf_config))
[INFO] [stderr] 340 ~                 .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stderr] 341 |
[INFO] [stderr] ...
[INFO] [stderr] 348 |             .map(|joint| joint.read().unwrap().to_urdf(writer, urdf_config))
[INFO] [stderr] 349 ~             .process_results::<_, _, _, ()>(|iter| iter.collect())?;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_geometry_data` is never used
[INFO] [stderr]    --> src/link/builder/collision_builder.rs:110:16
[INFO] [stderr]     |
[INFO] [stderr]  48 | impl CollisionBuilder {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub(crate) fn get_geometry_data(&self) -> GeometryShapeData {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects.rs:137:21
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>>;
[INFO] [stderr]     |                        ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>>;
[INFO] [stderr]     |                                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects.rs:143:3
[INFO] [stderr]     |
[INFO] [stderr] 143 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 144 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>>;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 144 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>>;
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects/kinematic_data_tree.rs:220:3
[INFO] [stderr]     |
[INFO] [stderr] 220 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 221 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<MaterialData>>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 221 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<MaterialData>>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects/kinematic_data_tree.rs:232:3
[INFO] [stderr]     |
[INFO] [stderr] 232 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 233 |     ) -> Result<(), PoisonWriteIndexError<String, ArcLock<Transmission>>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 233 |     ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock<Transmission>>> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects/kinematic_tree.rs:123:3
[INFO] [stderr]     |
[INFO] [stderr] 123 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 124 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects/kinematic_tree.rs:129:3
[INFO] [stderr]     |
[INFO] [stderr] 129 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 130 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects/robot.rs:140:3
[INFO] [stderr]     |
[INFO] [stderr] 140 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 141 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<MaterialData>>>>> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/cluster_objects/robot.rs:146:3
[INFO] [stderr]     |
[INFO] [stderr] 146 |         &self,
[INFO] [stderr]     |         ^^^^^ the lifetime is elided here
[INFO] [stderr] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 147 |     ) -> Result<(), PoisonError<RwLockWriteGuard<'_, HashMap<String, ArcLock<Transmission>>>>> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/joint/joint_tranform_mode.rs:11:14
[INFO] [stderr]    |
[INFO] [stderr]  8 | #[derive(Debug, PartialEq, Clone)]
[INFO] [stderr]    |                 --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 11 |     FigureItOut(fn(LinkShapeData) -> Transform),
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/material.rs:130:23
[INFO] [stderr]     |
[INFO] [stderr] 130 |     pub fn material_data(&self) -> MaterialDataReference {
[INFO] [stderr]     |                          ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 130 |     pub fn material_data(&self) -> MaterialDataReference<'_> {
[INFO] [stderr]     |                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/material/stage.rs:41:21
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub(crate) fn data(&self) -> MaterialDataReference {
[INFO] [stderr]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub(crate) fn data(&self) -> MaterialDataReference<'_> {
[INFO] [stderr]    |                                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `robot-description-builder` (lib) generated 21 warnings (run `cargo fix --lib -p robot-description-builder` to apply 19 suggestions)
[INFO] [stderr] warning: `robot-description-builder` (lib test) generated 21 warnings (21 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: robot-description-builder v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/robot_description_builder-36fb46790f6cf83f)
[INFO] [stdout] 
[INFO] [stdout] running 127 tests
[INFO] [stdout] test chained::chained_jointbuilder::tests::mirror_simple_1 ... ok
[INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::newer_link_multi_full ... ignored, TODO
[INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::newer_link_singular_full ... ignored, TODO
[INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::to_urdf::to_urdf_2 ... ignored, TODO
[INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::newer_link_multi_empty ... ok
[INFO] [stdout] test cluster_objects::kinematic_tree::tests::clone_single ... ok
[INFO] [stdout] test cluster_objects::kinematic_tree::tests::clone_multi ... ok
[INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::to_urdf::material_as_matrials ... ok
[INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::newer_link_singular_empty ... ok
[INFO] [stdout] test identifiers::tests::test_check_group_id_validity ... ok
[INFO] [stdout] test identifiers::tests::test_replace_group_id_delimiters ... ok
[INFO] [stdout] test joint::joint_data::calibration_data::tests::to_urdf::empty ... ok
[INFO] [stdout] test joint::joint_data::calibration_data::tests::to_urdf::rising ... ok
[INFO] [stdout] test joint::joint_data::calibration_data::tests::to_urdf::falling ... ok
[INFO] [stdout] test joint::joint_data::calibration_data::tests::to_urdf::rising_falling ... ok
[INFO] [stdout] test joint::joint_data::dynamics_data::tests::contains_some ... ok
[INFO] [stdout] test joint::joint_data::dynamics_data::tests::to_urdf::damping_friction ... ok
[INFO] [stdout] test joint::joint_data::dynamics_data::tests::to_urdf::friction ... ok
[INFO] [stdout] test joint::joint_data::limit_data::tests::to_urdf::also_lower ... ok
[INFO] [stdout] test joint::joint_data::limit_data::tests::to_urdf::lower_upper ... ok
[INFO] [stdout] test joint::joint_data::limit_data::tests::to_urdf::also_upper ... ok
[INFO] [stdout] test identifiers::tests::group_id_changer::change_group_id_unchecked ... ok
[INFO] [stdout] test identifiers::tests::group_id::display ... ok
[INFO] [stdout] test joint::joint_data::limit_data::tests::to_urdf::only_required ... ok
[INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::multiplier_offset ... ok
[INFO] [stdout] test identifiers::tests::group_id::is_valid_group_id ... ok
[INFO] [stdout] test joint::joint_data::calibration_data::tests::contains_some ... ok
[INFO] [stdout] test joint::joint_data::dynamics_data::tests::to_urdf::damping ... ok
[INFO] [stdout] test chained::tests::deref_mut_test ... ok
[INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::offset ... ok
[INFO] [stdout] test chained::chained_linkbuilder::tests::mirror_simple_1 ... ok
[INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::apply_group_id_advanced ... ignored, TODO
[INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::change_group_id_advanced ... ignored, TODO
[INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::soft_lower_limit ... ok
[INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::apply_group_id_simple ... ok
[INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::k_position ... ok
[INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::soft_upper_limit ... ok
[INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::only_k_velocity ... ok
[INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::only_joint ... ok
[INFO] [stdout] test joint::joint_data::dynamics_data::tests::to_urdf::empty ... ok
[INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::full ... ok
[INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::test_change_group_id_unchecked_advanced ... ignored, TODO
[INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::change_group_id_unchecked_simple ... ok
[INFO] [stdout] test joint::tests::rebuild ... ok
[INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::multiplier ... ok
[INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::apply_group_id_advanced ... ignored, TODO
[INFO] [stdout] test link::builder::collision_builder::tests::group_id_changer::change_group_id_unchecked ... ok
[INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::change_group_id_advanced ... ignored, TODO
[INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::change_group_id_unchecked_advanced ... ignored, TODO
[INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::apply_group_id_simple ... ok
[INFO] [stdout] test link::builder::collision_builder::tests::group_id_changer::change_group_id ... ok
[INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::apply_group_id_with_material ... ignored, TODO
[INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::change_group_id_simple ... ok
[INFO] [stdout] test link::builder::collision_builder::tests::group_id_changer::apply_group_id ... ok
[INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::change_group_id_unchecked_with_material ... ignored, TODO
[INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::change_group_id_with_material ... ignored, TODO
[INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::change_group_id_unchecked_simple ... ok
[INFO] [stdout] test joint::tests::yank_less_simple ... ok
[INFO] [stdout] test link::collision::tests::to_urdf::name_no_origin ... ok
[INFO] [stdout] test link::collision::tests::to_urdf::name_origin ... ok
[INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::change_group_id_unchecked_no_material ... ok
[INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::change_group_id_simple ... ok
[INFO] [stdout] test joint::tests::yank_simple ... ok
[INFO] [stdout] test link::builder::linkbuilder::tests::get_shape_data ... ok
[INFO] [stdout] test link::collision::tests::to_urdf::no_name_origin ... ok
[INFO] [stdout] test link::collision::tests::to_urdf::no_name_no_origin ... ok
[INFO] [stdout] test link::geometry::box_geometry::tests::bounding_box ... ok
[INFO] [stdout] test link::geometry::box_geometry::tests::boxed_clone ... ok
[INFO] [stdout] test link::geometry::box_geometry::tests::surface_area ... ok
[INFO] [stdout] test link::geometry::box_geometry::tests::volume ... ok
[INFO] [stdout] test link::geometry::box_geometry::tests::to_urdf ... ok
[INFO] [stdout] test link::geometry::cylinder_geometry::tests::surface_area ... ok
[INFO] [stdout] test link::geometry::cylinder_geometry::tests::get_shape ... ok
[INFO] [stdout] test link::geometry::cylinder_geometry::tests::volume ... ok
[INFO] [stdout] test link::geometry::cylinder_geometry::tests::to_urdf ... ok
[INFO] [stdout] test link::geometry::mesh_geometry::tests::bounding_box ... ok
[INFO] [stdout] test link::geometry::cylinder_geometry::tests::boxed_clone ... ok
[INFO] [stdout] test link::geometry::mesh_geometry::tests::volume ... ok
[INFO] [stdout] test link::geometry::mesh_geometry::tests::get_shape ... ok
[INFO] [stdout] test link::geometry::sphere_geometry::tests::bounding_box ... ok
[INFO] [stdout] test link::geometry::sphere_geometry::tests::get_shape ... ok
[INFO] [stdout] test link::geometry::mesh_geometry::tests::surface_area ... ok
[INFO] [stdout] test link::geometry::sphere_geometry::tests::boxed_clone ... ok
[INFO] [stdout] test link::geometry::sphere_geometry::tests::surface_area ... ok
[INFO] [stdout] test link::geometry::box_geometry::tests::get_shape ... ok
[INFO] [stdout] test link::geometry::cylinder_geometry::tests::bounding_box ... ok
[INFO] [stdout] test link::geometry::sphere_geometry::tests::volume ... ok
[INFO] [stdout] test link::geometry::mesh_geometry::tests::to_urdf ... ok
[INFO] [stdout] test link::inertial::tests::to_urdf::with_transform ... ok
[INFO] [stdout] test link::tests::new ... ok
[INFO] [stdout] test link::tests::try_attach_multi_child ... ok
[INFO] [stdout] test identifiers::tests::group_id_changer::apply_group_id ... ok
[INFO] [stdout] test link::tests::try_attach_single_child ... ok
[INFO] [stdout] test identifiers::tests::group_id_changer::change_group_id ... ok
[INFO] [stdout] test link::helper_functions::tests::test_new_box_link ... ok
[INFO] [stdout] test link::geometry::mesh_geometry::tests::boxed_clone ... ok
[INFO] [stdout] test link::inertial::tests::to_urdf::no_transform ... ok
[INFO] [stdout] test link::geometry::sphere_geometry::tests::to_urdf ... ok
[INFO] [stdout] test link::visual::tests::to_urdf::no_name_no_origin_material ... ok
[INFO] [stdout] test link::visual::tests::to_urdf::no_name_no_origin_no_material ... ok
[INFO] [stdout] test link::visual::tests::to_urdf::no_name_origin_no_material ... ok
[INFO] [stdout] test material::descriptor::tests::group_id_changer::change_group_id_no_name ... ok
[INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::apply_group_id_no_material ... ok
[INFO] [stdout] test link::visual::tests::to_urdf::name_origin_material ... ok
[INFO] [stdout] test material::descriptor::tests::group_id_changer::apply_group_id_with_name ... ok
[INFO] [stdout] test material::tests::to_urdf::color_name_full ... ok
[INFO] [stdout] test material::tests::to_urdf::texture_name_full ... ok
[INFO] [stdout] test material::descriptor::tests::group_id_changer::change_group_id_unchecked_with_name ... ok
[INFO] [stdout] test material::descriptor::tests::group_id_changer::change_group_id_with_name ... ok
[INFO] [stdout] test material::descriptor::tests::group_id_changer::change_group_id_unchecked_no_name ... ok
[INFO] [stdout] test material::tests::to_urdf::color_name_ref ... ok
[INFO] [stdout] test link::visual::tests::to_urdf::name_no_origin_no_material ... ok
[INFO] [stdout] test transform::tests::mirror::multiaxial_rotation ... ignored, Is this necessary?
[INFO] [stdout] test material::descriptor::tests::group_id_changer::apply_group_id_no_name ... ok
[INFO] [stdout] test transform::tests::mirror::uniaxial_unirotation ... ignored, Is this necessary?
[INFO] [stdout] test transform::tests::to_urdf::rotation_only ... ok
[INFO] [stdout] test transform::tests::mirror::multiaxial_no_rotation ... ok
[INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::change_group_id_no_material ... ok
[INFO] [stdout] test material::tests::to_urdf::color_no_name_full ... ok
[INFO] [stdout] test transmission::tests::to_urdf::to_urdf ... ok
[INFO] [stdout] test transmission::tests::add_actuator ... ok
[INFO] [stdout] test material::tests::to_urdf::texture_no_name_full ... ok
[INFO] [stdout] test transform::tests::mirror::uniaxial_no_rotation ... ok
[INFO] [stdout] test material::tests::to_urdf::texture_name_ref ... ok
[INFO] [stdout] test transform::tests::to_urdf::translation_only ... ok
[INFO] [stdout] test transform::tests::to_urdf::translation_rotatation ... ok
[INFO] [stdout] test transmission::tests::add_joint ... ok
[INFO] [stderr]    Doc-tests robot_description_builder
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 113 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/link/geometry.rs:70:20
[INFO] [stderr]    |
[INFO] [stderr] 70 | impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[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] 70 - impl PartialEq for (dyn GeometryInterface + Sync + Send) {
[INFO] [stderr] 70 + impl PartialEq for dyn GeometryInterface + Sync + Send  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test src/identifiers.rs - identifiers::GroupIDErrorKind (line 32) ... ok
[INFO] [stdout] test src/material/descriptor.rs - material::descriptor::MaterialDescriptor::new_texture (line 81) ... ok
[INFO] [stdout] test src/identifiers.rs - identifiers::GroupIDError (line 64) ... ok
[INFO] [stdout] test src/joint/joint_data/dynamics_data.rs - joint::joint_data::dynamics_data::DynamicsData::contains_some (line 17) ... ok
[INFO] [stdout] test src/material/descriptor.rs - material::descriptor::MaterialDescriptor::new_color (line 45) ... ok
[INFO] [stdout] test src/cluster_objects.rs - cluster_objects::KinematicInterface::get_root_link (line 35) ... ok
[INFO] [stdout] test src/lib.rs - (line 48) ... ok
[INFO] [stdout] test src/cluster_objects/robot.rs - cluster_objects::robot::Robot::name (line 45) ... ok
[INFO] [stdout] test src/cluster_objects.rs - cluster_objects::KinematicInterface::get_newest_link (line 52) ... ok
[INFO] [stdout] test src/material/descriptor.rs - material::descriptor::MaterialDescriptor::named (line 106) ... ok
[INFO] [stdout] test src/cluster_objects.rs - cluster_objects::KinematicInterface::yank_root (line 167) ... ok
[INFO] [stdout] test src/joint/joint_data/calibration_data.rs - joint::joint_data::calibration_data::CalibrationData::contains_some (line 18) ... ok
[INFO] [stdout] test src/to_rdf.rs - to_rdf::xml_writer_to_string (line 49) ... ok
[INFO] [stdout] test src/material/descriptor.rs - material::descriptor::MaterialDescriptor::new_rgb (line 63) ... ok
[INFO] [stdout] test src/link/visual.rs - link::visual::Visual::name (line 55) ... ok
[INFO] [stdout] test src/link.rs - link::Link::name (line 129) ... ok
[INFO] [stdout] test src/identifiers.rs - identifiers::GroupIDChanger (line 265) ... ok
[INFO] [stdout] test src/transform.rs - transform::Transform::new (line 37) ... ok
[INFO] [stdout] test src/transform.rs - transform::Transform::contains_some (line 113) ... ok
[INFO] [stdout] test src/transform.rs - transform::Transform::new_rotation (line 88) ... ok
[INFO] [stdout] test src/transform.rs - transform::Transform::new_translation (line 63) ... ok
[INFO] [stdout] test src/to_rdf/to_urdf.rs - to_rdf::to_urdf::to_urdf (line 101) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.56s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "77eb745ca410355e9910aa70c97a458b34b3ec1364baf9fc4e3fc1d495f7fba1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77eb745ca410355e9910aa70c97a458b34b3ec1364baf9fc4e3fc1d495f7fba1", kill_on_drop: false }`
[INFO] [stdout] 77eb745ca410355e9910aa70c97a458b34b3ec1364baf9fc4e3fc1d495f7fba1
