From 560d55eef4e024a8ce739f52edd3a569fd921d62 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 12 Oct 2021 12:02:30 -0700 Subject: [PATCH 1/2] Add FromIterator impl for ZeroVec --- utils/zerovec/src/zerovec/mod.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/utils/zerovec/src/zerovec/mod.rs b/utils/zerovec/src/zerovec/mod.rs index 769469d627a..1e9dab30c1c 100644 --- a/utils/zerovec/src/zerovec/mod.rs +++ b/utils/zerovec/src/zerovec/mod.rs @@ -8,6 +8,7 @@ mod serde; use crate::ule::*; use alloc::vec::Vec; use core::fmt; +use core::iter::FromIterator; /// A zero-copy vector for fixed-width types. /// @@ -534,6 +535,14 @@ where } } +impl FromIterator for ZeroVec<'_, T> { + fn from_iter(iter: I) -> Self + where + I: IntoIterator { + ZeroVec::Owned(iter.into_iter().map(|t| t.as_unaligned()).collect()) + } + +} #[cfg(test)] mod tests { use super::*; From 2c376ed4400412446107d2df5a8744cd4faead91 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 12 Oct 2021 12:15:06 -0700 Subject: [PATCH 2/2] fmt --- utils/zerovec/src/zerovec/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/zerovec/src/zerovec/mod.rs b/utils/zerovec/src/zerovec/mod.rs index 1e9dab30c1c..b5d39517227 100644 --- a/utils/zerovec/src/zerovec/mod.rs +++ b/utils/zerovec/src/zerovec/mod.rs @@ -538,10 +538,10 @@ where impl FromIterator for ZeroVec<'_, T> { fn from_iter(iter: I) -> Self where - I: IntoIterator { - ZeroVec::Owned(iter.into_iter().map(|t| t.as_unaligned()).collect()) + I: IntoIterator, + { + ZeroVec::Owned(iter.into_iter().map(|t| t.as_unaligned()).collect()) } - } #[cfg(test)] mod tests {