ros2-rust / ros2_rust

Rust bindings for ROS 2
Apache License 2.0
868 stars 122 forks source link

Upgrade to Rust 1.78 #398

Open maspe36 opened 2 months ago

maspe36 commented 2 months ago

We are currently on Rust 1.74, and now as of Rust 1.78, the u128 type is now FFI safe. Lets go ahead and upgrade.

Doing this upgrade will help us resolve https://github.com/ros2-rust/ros2_rust/issues/320 once and for all. As part of this upgrade, we should also remove the #![allow(improper_ctypes)] and #![allow(improper_ctypes_definitions)] lines from our rcl bindings as we no longer need to ignore these lints.

Guelakais commented 2 weeks ago

I'm currently working on. Is there a reason why you have set the rust version in cargo.toml for rclrs?

maspe36 commented 5 days ago

That rust version is supposed to be the minimum supported version of rust that rclrs would work with. However, our CI does not use this same version so there is a chance that its actually misleading now.

I think with this upgrade to at least Rust 1.78 we'd want to upgrade rclrs to 1.78 in the cargo.toml as well since we would depend on u128 FFI safe functions.