Adapt seq macro to not derail rustfmt

This commit is contained in:
David Tolnay
2022-01-20 19:25:06 -08:00
parent 21c1ab6c50
commit 343c060fc1
4 changed files with 43 additions and 48 deletions
+8 -13
View File
@@ -67,25 +67,20 @@ macro_rules! hashmap {
}
macro_rules! seq_impl {
(seq $first:expr,) => {
seq_impl!(seq $first)
};
($first:expr,) => {
seq_impl!($first)
};
(seq $first:expr) => {
(.. $first:expr $(,)?) => {
$first.into_iter()
};
($first:expr) => {
(.. $first:expr, $($elem:tt)*) => {
$first.into_iter().chain(seq!($($elem)*))
};
($first:expr $(,)?) => {
Some($first).into_iter()
};
(seq $first:expr , $( $elem: tt)*) => {
$first.into_iter().chain(seq!( $($elem)* ))
};
($first:expr , $($elem: tt)*) => {
Some($first).into_iter().chain(seq!( $($elem)* ))
($first:expr, $($elem:tt)*) => {
Some($first).into_iter().chain(seq!($($elem)*))
}
}
macro_rules! seq {
($($tt: tt)*) => {
seq_impl!($($tt)*).collect::<Vec<_>>()