diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 02a142d66..e6f015e6d 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -64,7 +64,8 @@ jobs: run: | for path in $(colcon list | awk '$3 == "(ament_cargo)" { print $2 }'); do cd $path - cargo fmt -- --check + rustup toolchain install nightly + cargo +nightly fmt -- --check cd - done diff --git a/.rustfmt.toml b/.rustfmt.toml index 230ec3333..d11c488e6 100644 --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -1,2 +1,3 @@ +# This requires the nightly release of Rust, so when formating the repo, use +# $ cargo +nightly fmt imports_granularity = "Crate" - diff --git a/examples/message_demo/src/message_demo.rs b/examples/message_demo/src/message_demo.rs index 8f3bb2a63..3e2bf53b2 100644 --- a/examples/message_demo/src/message_demo.rs +++ b/examples/message_demo/src/message_demo.rs @@ -1,6 +1,4 @@ -use std::convert::TryInto; -use std::env; -use std::sync::Arc; +use std::{convert::TryInto, env, sync::Arc}; use anyhow::{Error, Result}; use rosidl_runtime_rs::{seq, BoundedSequence, Message, Sequence}; diff --git a/examples/minimal_pub_sub/src/minimal_two_nodes.rs b/examples/minimal_pub_sub/src/minimal_two_nodes.rs index ddf685bd7..fb03574a2 100644 --- a/examples/minimal_pub_sub/src/minimal_two_nodes.rs +++ b/examples/minimal_pub_sub/src/minimal_two_nodes.rs @@ -1,6 +1,10 @@ -use std::env; -use std::sync::atomic::{AtomicU32, Ordering}; -use std::sync::{Arc, Mutex}; +use std::{ + env, + sync::{ + atomic::{AtomicU32, Ordering}, + Arc, Mutex, + }, +}; use anyhow::{Error, Result}; diff --git a/rosidl_runtime_rs/src/sequence.rs b/rosidl_runtime_rs/src/sequence.rs index 3ac2127b8..9cc79206e 100644 --- a/rosidl_runtime_rs/src/sequence.rs +++ b/rosidl_runtime_rs/src/sequence.rs @@ -1,8 +1,10 @@ -use std::cmp::Ordering; -use std::fmt::{self, Debug, Display}; -use std::hash::{Hash, Hasher}; -use std::iter::{Extend, FromIterator, FusedIterator}; -use std::ops::{Deref, DerefMut}; +use std::{ + cmp::Ordering, + fmt::{self, Debug, Display}, + hash::{Hash, Hasher}, + iter::{Extend, FromIterator, FusedIterator}, + ops::{Deref, DerefMut}, +}; #[cfg(feature = "serde")] mod serde; diff --git a/rosidl_runtime_rs/src/string.rs b/rosidl_runtime_rs/src/string.rs index ba15851fe..74286b034 100644 --- a/rosidl_runtime_rs/src/string.rs +++ b/rosidl_runtime_rs/src/string.rs @@ -1,14 +1,15 @@ -use std::cmp::Ordering; -use std::ffi::CStr; -use std::fmt::{self, Debug, Display}; -use std::hash::{Hash, Hasher}; -use std::ops::{Deref, DerefMut}; +use std::{ + cmp::Ordering, + ffi::CStr, + fmt::{self, Debug, Display}, + hash::{Hash, Hasher}, + ops::{Deref, DerefMut}, +}; #[cfg(feature = "serde")] mod serde; -use crate::sequence::Sequence; -use crate::traits::SequenceAlloc; +use crate::{sequence::Sequence, traits::SequenceAlloc}; /// A zero-terminated UTF-8 string. /// diff --git a/rosidl_runtime_rs/src/traits.rs b/rosidl_runtime_rs/src/traits.rs index d468a42d5..15f206108 100644 --- a/rosidl_runtime_rs/src/traits.rs +++ b/rosidl_runtime_rs/src/traits.rs @@ -15,8 +15,7 @@ // DISTRIBUTION A. Approved for public release; distribution unlimited. // OPSEC #4584. // -use std::borrow::Cow; -use std::fmt::Debug; +use std::{borrow::Cow, fmt::Debug}; /// Internal trait that connects a particular `Sequence` instance to generated C functions /// that allocate and deallocate memory.