[INFO] fetching crate robot-description-builder 0.0.3... [INFO] testing robot-description-builder-0.0.3 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate robot-description-builder 0.0.3 into /workspace/builds/worker-3-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-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate robot-description-builder 0.0.3 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded test-log-macros v0.2.14 [INFO] [stderr] Downloaded test-log v0.2.14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c3f2bf28bcb0a0e55d89908647829ca1472ec2d4fe017c6a86a7e1f892b3e7dd [INFO] running `Command { std: "docker" "start" "-a" "c3f2bf28bcb0a0e55d89908647829ca1472ec2d4fe017c6a86a7e1f892b3e7dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c3f2bf28bcb0a0e55d89908647829ca1472ec2d4fe017c6a86a7e1f892b3e7dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3f2bf28bcb0a0e55d89908647829ca1472ec2d4fe017c6a86a7e1f892b3e7dd", kill_on_drop: false }` [INFO] [stdout] c3f2bf28bcb0a0e55d89908647829ca1472ec2d4fe017c6a86a7e1f892b3e7dd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] cf77d5531e249f7c6260cc7c45fb63002385bca27262df04c4ab4d9670b51c2f [INFO] running `Command { std: "docker" "start" "-a" "cf77d5531e249f7c6260cc7c45fb63002385bca27262df04c4ab4d9670b51c2f", 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 bytemuck v1.14.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling thiserror v1.0.50 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling itertools v0.12.0 [INFO] [stderr] Compiling safe_arch v0.7.1 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling num-rational v0.4.1 [INFO] [stderr] Compiling matrixmultiply v0.3.8 [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 num-complex v0.4.4 [INFO] [stderr] Compiling approx v0.5.1 [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)]` 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: 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>>, [INFO] [stdout] 245 | | urdf_config: &URDFConfig, [INFO] [stdout] 246 | | ) -> Result<(), quick_xml::Error> { [INFO] [stdout] | |_____________________________________^ [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 [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] = note: `#[warn(dependency_on_unit_never_type_fallback)]` 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>>, [INFO] [stdout] 321 | | urdf_config: &crate::to_rdf::to_urdf::URDFConfig, [INFO] [stdout] 322 | | ) -> Result<(), quick_xml::Error> { [INFO] [stdout] | |_____________________________________^ [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 [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] 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError>>; [INFO] [stdout] | ^^^^^ ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects.rs:143:3 [INFO] [stdout] | [INFO] [stdout] 143 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 144 | ) -> Result<(), PoisonWriteIndexError>>; [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 144 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_data_tree.rs:220:3 [INFO] [stdout] | [INFO] [stdout] 220 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 221 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 221 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_data_tree.rs:232:3 [INFO] [stdout] | [INFO] [stdout] 232 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 233 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 233 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_tree.rs:123:3 [INFO] [stdout] | [INFO] [stdout] 123 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_tree.rs:129:3 [INFO] [stdout] | [INFO] [stdout] 129 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/robot.rs:140:3 [INFO] [stdout] | [INFO] [stdout] 140 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/robot.rs:146:3 [INFO] [stdout] | [INFO] [stdout] 146 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 147 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 147 | ) -> Result<(), PoisonError>>>> { [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 [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/material.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn material_data(&self) -> MaterialDataReference { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 130 | pub fn material_data(&self) -> MaterialDataReference<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/material/stage.rs:41:21 [INFO] [stdout] | [INFO] [stdout] 41 | pub(crate) fn data(&self) -> MaterialDataReference { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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 10.39s [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" "cf77d5531e249f7c6260cc7c45fb63002385bca27262df04c4ab4d9670b51c2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf77d5531e249f7c6260cc7c45fb63002385bca27262df04c4ab4d9670b51c2f", kill_on_drop: false }` [INFO] [stdout] cf77d5531e249f7c6260cc7c45fb63002385bca27262df04c4ab4d9670b51c2f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 96cf02273e86c541d4245608bb38925577d264e4f45a84bde9648c4c8ef98052 [INFO] running `Command { std: "docker" "start" "-a" "96cf02273e86c541d4245608bb38925577d264e4f45a84bde9648c4c8ef98052", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v0.38.28 [INFO] [stderr] Compiling aho-corasick v1.1.2 [INFO] [stderr] Compiling linux-raw-sys v0.4.12 [INFO] [stderr] Compiling bitflags v2.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling syn v2.0.41 [INFO] [stderr] Compiling termcolor v1.4.0 [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 env_logger v0.10.1 [INFO] [stderr] Compiling test-log v0.2.14 [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)]` 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: 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>>, [INFO] [stdout] 245 | | urdf_config: &URDFConfig, [INFO] [stdout] 246 | | ) -> Result<(), quick_xml::Error> { [INFO] [stdout] | |_____________________________________^ [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 [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] = note: `#[warn(dependency_on_unit_never_type_fallback)]` 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: 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)]` 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: 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>>, [INFO] [stdout] 321 | | urdf_config: &crate::to_rdf::to_urdf::URDFConfig, [INFO] [stdout] 322 | | ) -> Result<(), quick_xml::Error> { [INFO] [stdout] | |_____________________________________^ [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 [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] 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: 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>>, [INFO] [stdout] 245 | | urdf_config: &URDFConfig, [INFO] [stdout] 246 | | ) -> Result<(), quick_xml::Error> { [INFO] [stdout] | |_____________________________________^ [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 [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] = note: `#[warn(dependency_on_unit_never_type_fallback)]` 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: 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError>>; [INFO] [stdout] | ^^^^^ ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects.rs:143:3 [INFO] [stdout] | [INFO] [stdout] 143 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 144 | ) -> Result<(), PoisonWriteIndexError>>; [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 144 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_data_tree.rs:220:3 [INFO] [stdout] | [INFO] [stdout] 220 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 221 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 221 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_data_tree.rs:232:3 [INFO] [stdout] | [INFO] [stdout] 232 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 233 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 233 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_tree.rs:123:3 [INFO] [stdout] | [INFO] [stdout] 123 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_tree.rs:129:3 [INFO] [stdout] | [INFO] [stdout] 129 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/robot.rs:140:3 [INFO] [stdout] | [INFO] [stdout] 140 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/robot.rs:146:3 [INFO] [stdout] | [INFO] [stdout] 146 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 147 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 147 | ) -> Result<(), PoisonError>>>> { [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 [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/material.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn material_data(&self) -> MaterialDataReference { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 130 | pub fn material_data(&self) -> MaterialDataReference<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/material/stage.rs:41:21 [INFO] [stdout] | [INFO] [stdout] 41 | pub(crate) fn data(&self) -> MaterialDataReference { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 41 | pub(crate) fn data(&self) -> MaterialDataReference<'_> { [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>>, [INFO] [stdout] 321 | | urdf_config: &crate::to_rdf::to_urdf::URDFConfig, [INFO] [stdout] 322 | | ) -> Result<(), quick_xml::Error> { [INFO] [stdout] | |_____________________________________^ [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 [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] 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects.rs:137:21 [INFO] [stdout] | [INFO] [stdout] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError>>; [INFO] [stdout] | ^^^^^ ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects.rs:143:3 [INFO] [stdout] | [INFO] [stdout] 143 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 144 | ) -> Result<(), PoisonWriteIndexError>>; [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 144 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_data_tree.rs:220:3 [INFO] [stdout] | [INFO] [stdout] 220 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 221 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 221 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_data_tree.rs:232:3 [INFO] [stdout] | [INFO] [stdout] 232 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 233 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stdout] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 233 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_tree.rs:123:3 [INFO] [stdout] | [INFO] [stdout] 123 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/kinematic_tree.rs:129:3 [INFO] [stdout] | [INFO] [stdout] 129 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/robot.rs:140:3 [INFO] [stdout] | [INFO] [stdout] 140 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/cluster_objects/robot.rs:146:3 [INFO] [stdout] | [INFO] [stdout] 146 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 147 | ) -> Result<(), PoisonError>>>> { [INFO] [stdout] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 147 | ) -> Result<(), PoisonError>>>> { [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 [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/material.rs:130:23 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn material_data(&self) -> MaterialDataReference { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 130 | pub fn material_data(&self) -> MaterialDataReference<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/material/stage.rs:41:21 [INFO] [stdout] | [INFO] [stdout] 41 | pub(crate) fn data(&self) -> MaterialDataReference { [INFO] [stdout] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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 5.63s [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" "96cf02273e86c541d4245608bb38925577d264e4f45a84bde9648c4c8ef98052", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96cf02273e86c541d4245608bb38925577d264e4f45a84bde9648c4c8ef98052", kill_on_drop: false }` [INFO] [stdout] 96cf02273e86c541d4245608bb38925577d264e4f45a84bde9648c4c8ef98052 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] bcd365b2d7d283e0afed15172079a3d7912b754dd20ed5d77153edde87c09d24 [INFO] running `Command { std: "docker" "start" "-a" "bcd365b2d7d283e0afed15172079a3d7912b754dd20ed5d77153edde87c09d24", 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)]` 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: 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>>, [INFO] [stderr] 245 | | urdf_config: &URDFConfig, [INFO] [stderr] 246 | | ) -> Result<(), quick_xml::Error> { [INFO] [stderr] | |_____________________________________^ [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 [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] = note: `#[warn(dependency_on_unit_never_type_fallback)]` 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>>, [INFO] [stderr] 321 | | urdf_config: &crate::to_rdf::to_urdf::URDFConfig, [INFO] [stderr] 322 | | ) -> Result<(), quick_xml::Error> { [INFO] [stderr] | |_____________________________________^ [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 [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] 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)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError>>; [INFO] [stderr] | ^^^^^ ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 137 | fn purge_materials(&self) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects.rs:143:3 [INFO] [stderr] | [INFO] [stderr] 143 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 144 | ) -> Result<(), PoisonWriteIndexError>>; [INFO] [stderr] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 144 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects/kinematic_data_tree.rs:220:3 [INFO] [stderr] | [INFO] [stderr] 220 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 221 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stderr] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 221 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects/kinematic_data_tree.rs:232:3 [INFO] [stderr] | [INFO] [stderr] 232 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 233 | ) -> Result<(), PoisonWriteIndexError>> { [INFO] [stderr] | ---------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 233 | ) -> Result<(), PoisonWriteIndexError<'_, String, ArcLock>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects/kinematic_tree.rs:123:3 [INFO] [stderr] | [INFO] [stderr] 123 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 124 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects/kinematic_tree.rs:129:3 [INFO] [stderr] | [INFO] [stderr] 129 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 130 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects/robot.rs:140:3 [INFO] [stderr] | [INFO] [stderr] 140 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 141 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/cluster_objects/robot.rs:146:3 [INFO] [stderr] | [INFO] [stderr] 146 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 147 | ) -> Result<(), PoisonError>>>> { [INFO] [stderr] | -------------------------------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 147 | ) -> Result<(), PoisonError>>>> { [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 [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/material.rs:130:23 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn material_data(&self) -> MaterialDataReference { [INFO] [stderr] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 130 | pub fn material_data(&self) -> MaterialDataReference<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/material/stage.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | pub(crate) fn data(&self) -> MaterialDataReference { [INFO] [stderr] | ^^^^^ --------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 41 | pub(crate) fn data(&self) -> MaterialDataReference<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `robot-description-builder` (lib) generated 20 warnings (run `cargo fix --lib -p robot-description-builder` to apply 18 suggestions) [INFO] [stderr] warning: `robot-description-builder` (lib test) generated 20 warnings (20 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [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/x86_64-unknown-linux-musl/debug/deps/robot_description_builder-d053bf76869e3b9e) [INFO] [stdout] [INFO] [stdout] running 127 tests [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_singular_empty ... ok [INFO] [stdout] test cluster_objects::kinematic_tree::tests::clone_single ... ok [INFO] [stdout] test identifiers::tests::group_id::is_valid_group_id ... ok [INFO] [stdout] test identifiers::tests::group_id_changer::apply_group_id ... ok [INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::newer_link_multi_empty ... ok [INFO] [stdout] test identifiers::tests::group_id::display ... ok [INFO] [stdout] test identifiers::tests::group_id_changer::change_group_id ... ok [INFO] [stdout] test identifiers::tests::test_check_group_id_validity ... ok [INFO] [stdout] test identifiers::tests::group_id_changer::change_group_id_unchecked ... ok [INFO] [stdout] test chained::tests::deref_mut_test ... ok [INFO] [stdout] test chained::chained_linkbuilder::tests::mirror_simple_1 ... ok [INFO] [stdout] test cluster_objects::kinematic_tree::tests::clone_multi ... ok [INFO] [stdout] test identifiers::tests::test_replace_group_id_delimiters ... ok [INFO] [stdout] test joint::joint_data::calibration_data::tests::contains_some ... ok [INFO] [stdout] test cluster_objects::kinematic_data_tree::tests::to_urdf::material_as_matrials ... ok [INFO] [stdout] test joint::joint_data::calibration_data::tests::to_urdf::empty ... ok [INFO] [stdout] test chained::chained_jointbuilder::tests::mirror_simple_1 ... 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 ... 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 ... 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::empty ... 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::also_upper ... 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::only_required ... ok [INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::multiplier ... ok [INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::multiplier_offset ... ok [INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::full ... ok [INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::k_position ... ok [INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::only_joint ... ok [INFO] [stdout] test joint::joint_data::mimic_data::tests::to_urdf::offset ... ok [INFO] [stdout] test joint::joint_data::safety_controller_data::tests::to_urdf::only_k_velocity ... ok [INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::apply_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::joint_data::safety_controller_data::tests::to_urdf::soft_upper_limit ... ok [INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::change_group_id_advanced ... ignored, TODO [INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::apply_group_id_simple ... ok [INFO] [stdout] test joint::jointbuilder::tests::group_id_changer::change_group_id_simple ... 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::tests::yank_simple ... ok [INFO] [stdout] test link::builder::collision_builder::tests::group_id_changer::apply_group_id ... ok [INFO] [stdout] test link::builder::collision_builder::tests::group_id_changer::change_group_id ... 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::get_shape_data ... 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::apply_group_id_simple ... ok [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::change_group_id_simple ... ok [INFO] [stdout] test link::builder::linkbuilder::tests::group_id_changer::change_group_id_unchecked_simple ... ok [INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::apply_group_id_with_material ... ignored, TODO [INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::apply_group_id_no_material ... ok [INFO] [stdout] test joint::tests::yank_less_simple ... ok [INFO] [stdout] test link::builder::visual_builder::tests::group_id_changer::change_group_id_no_material ... 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::visual_builder::tests::group_id_changer::change_group_id_unchecked_no_material ... 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::collision::tests::to_urdf::no_name_no_origin ... ok [INFO] [stdout] test link::collision::tests::to_urdf::no_name_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::get_shape ... ok [INFO] [stdout] test link::geometry::box_geometry::tests::surface_area ... ok [INFO] [stdout] test link::geometry::box_geometry::tests::to_urdf ... ok [INFO] [stdout] test link::geometry::box_geometry::tests::volume ... ok [INFO] [stdout] test link::geometry::cylinder_geometry::tests::bounding_box ... ok [INFO] [stdout] test link::geometry::cylinder_geometry::tests::boxed_clone ... ok [INFO] [stdout] test link::geometry::cylinder_geometry::tests::get_shape ... ok [INFO] [stdout] test link::geometry::cylinder_geometry::tests::surface_area ... ok [INFO] [stdout] test link::geometry::cylinder_geometry::tests::to_urdf ... ok [INFO] [stdout] test link::geometry::cylinder_geometry::tests::volume ... ok [INFO] [stdout] test link::geometry::mesh_geometry::tests::bounding_box ... ok [INFO] [stdout] test link::geometry::mesh_geometry::tests::boxed_clone ... ok [INFO] [stdout] test link::geometry::mesh_geometry::tests::get_shape ... ok [INFO] [stdout] test link::geometry::mesh_geometry::tests::surface_area ... ok [INFO] [stdout] test link::geometry::mesh_geometry::tests::to_urdf ... ok [INFO] [stdout] test link::geometry::mesh_geometry::tests::volume ... ok [INFO] [stdout] test link::geometry::sphere_geometry::tests::bounding_box ... ok [INFO] [stdout] test link::geometry::sphere_geometry::tests::boxed_clone ... ok [INFO] [stdout] test link::geometry::sphere_geometry::tests::get_shape ... ok [INFO] [stdout] test link::geometry::sphere_geometry::tests::surface_area ... ok [INFO] [stdout] test link::geometry::sphere_geometry::tests::to_urdf ... ok [INFO] [stdout] test link::geometry::sphere_geometry::tests::volume ... ok [INFO] [stdout] test link::helper_functions::tests::test_new_box_link ... ok [INFO] [stdout] test link::inertial::tests::to_urdf::no_transform ... 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 link::tests::try_attach_single_child ... ok [INFO] [stdout] test link::visual::tests::to_urdf::name_no_origin_no_material ... ok [INFO] [stdout] test link::visual::tests::to_urdf::name_origin_material ... 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::apply_group_id_no_name ... ok [INFO] [stdout] test material::descriptor::tests::group_id_changer::apply_group_id_with_name ... ok [INFO] [stdout] test material::descriptor::tests::group_id_changer::change_group_id_no_name ... ok [INFO] [stdout] test material::descriptor::tests::group_id_changer::change_group_id_unchecked_no_name ... 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::tests::to_urdf::color_name_full ... ok [INFO] [stdout] test material::tests::to_urdf::color_name_ref ... ok [INFO] [stdout] test material::tests::to_urdf::color_no_name_full ... ok [INFO] [stdout] test material::tests::to_urdf::texture_name_full ... ok [INFO] [stdout] test material::tests::to_urdf::texture_name_ref ... ok [INFO] [stdout] test material::tests::to_urdf::texture_no_name_full ... ok [INFO] [stdout] test transform::tests::mirror::multiaxial_rotation ... ignored, Is this necessary? [INFO] [stdout] test transform::tests::mirror::uniaxial_unirotation ... ignored, Is this necessary? [INFO] [stdout] test transform::tests::mirror::multiaxial_no_rotation ... ok [INFO] [stdout] test transform::tests::mirror::uniaxial_no_rotation ... ok [INFO] [stdout] test transform::tests::to_urdf::rotation_only ... 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_actuator ... ok [INFO] [stdout] test transmission::tests::add_joint ... ok [INFO] [stdout] test transmission::tests::to_urdf::to_urdf ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 113 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "bcd365b2d7d283e0afed15172079a3d7912b754dd20ed5d77153edde87c09d24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bcd365b2d7d283e0afed15172079a3d7912b754dd20ed5d77153edde87c09d24", kill_on_drop: false }` [INFO] [stdout] bcd365b2d7d283e0afed15172079a3d7912b754dd20ed5d77153edde87c09d24