From 3ebd4fe43fcdb6dd2bb518976ddcf5cdc7cfb3a4 Mon Sep 17 00:00:00 2001 From: Ritchie Vink Date: Thu, 3 Feb 2022 13:16:12 +0100 Subject: [PATCH] add BooleanArray::from_trusted_len_values_iter_unchecked --- src/array/boolean/from.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/array/boolean/from.rs b/src/array/boolean/from.rs index cf16d572787..4752e4e4355 100644 --- a/src/array/boolean/from.rs +++ b/src/array/boolean/from.rs @@ -18,6 +18,19 @@ impl BooleanArray { MutableBooleanArray::from_trusted_len_values_iter(iterator).into() } + /// Creates a new [`BooleanArray`] from an [`TrustedLen`] of `bool`. + /// Use this over [`BooleanArray::from_trusted_len_iter`] when the iterator is trusted len + /// but this crate does not mark it as such. + /// # Safety + /// The iterator must be [`TrustedLen`](https://doc.rust-lang.org/std/iter/trait.TrustedLen.html). + /// I.e. that `size_hint().1` correctly reports its length. + #[inline] + pub unsafe fn from_trusted_len_values_iter_unchecked>( + iterator: I, + ) -> Self { + MutableBooleanArray::from_trusted_len_iter_unchecked(iterator).into() + } + /// Creates a new [`BooleanArray`] from a slice of `bool`. #[inline] pub fn from_slice>(slice: P) -> Self {