Coverage Report

Created: 2025-11-28 06:44

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/map.rs
Line
Count
Source
1
use super::plumbing::*;
2
use super::*;
3
4
use std::fmt::{self, Debug};
5
use std::iter;
6
7
/// `Map` is an iterator that transforms the elements of an underlying iterator.
8
///
9
/// This struct is created by the [`map()`] method on [`ParallelIterator`]
10
///
11
/// [`map()`]: trait.ParallelIterator.html#method.map
12
/// [`ParallelIterator`]: trait.ParallelIterator.html
13
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
14
#[derive(Clone)]
15
pub struct Map<I: ParallelIterator, F> {
16
    base: I,
17
    map_op: F,
18
}
19
20
impl<I: ParallelIterator + Debug, F> Debug for Map<I, F> {
21
0
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
22
0
        f.debug_struct("Map").field("base", &self.base).finish()
23
0
    }
24
}
25
26
impl<I, F> Map<I, F>
27
where
28
    I: ParallelIterator,
29
{
30
    /// Creates a new `Map` iterator.
31
0
    pub(super) fn new(base: I, map_op: F) -> Self {
32
0
        Map { base, map_op }
33
0
    }
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::enumerate::Enumerate<rayon::iter::len::MaxLen<rayon::slice::chunks::ChunksMut<surrealdb_core::val::Value>>>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::par_bridge::IterBridge<std::fs::ReadDir>, sysinfo::unix::linux::process::refresh_procs::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::Map<rayon::slice::IterMut<alloc::vec::Vec<i_overlay::split::fragment::Fragment>>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::Map<_, _>>::new
34
}
35
36
impl<I, F, R> ParallelIterator for Map<I, F>
37
where
38
    I: ParallelIterator,
39
    F: Fn(I::Item) -> R + Sync + Send,
40
    R: Send,
41
{
42
    type Item = F::Output;
43
44
0
    fn drive_unindexed<C>(self, consumer: C) -> C::Result
45
0
    where
46
0
        C: UnindexedConsumer<Self::Item>,
47
    {
48
0
        let consumer1 = MapConsumer::new(consumer, &self.map_op);
49
0
        self.base.drive_unindexed(consumer1)
50
0
    }
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::enumerate::Enumerate<rayon::iter::len::MaxLen<rayon::slice::chunks::ChunksMut<surrealdb_core::val::Value>>>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::ParallelIterator>::drive_unindexed::<rayon::iter::collect::consumer::CollectConsumer<(usize, usize, rayon::slice::mergesort::MergesortResult)>>
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::enumerate::Enumerate<rayon::iter::len::MaxLen<rayon::slice::chunks::ChunksMut<surrealdb_core::val::Value>>>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::ParallelIterator>::drive_unindexed::<rayon::iter::extend::ListVecConsumer>
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::par_bridge::IterBridge<std::fs::ReadDir>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::ParallelIterator>::drive_unindexed::<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>>
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::par_bridge::IterBridge<std::fs::ReadDir>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::ParallelIterator>::drive_unindexed::<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>>
Unexecuted instantiation: <rayon::iter::map::Map<rayon::slice::IterMut<alloc::vec::Vec<i_overlay::split::fragment::Fragment>>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::ParallelIterator>::drive_unindexed::<rayon::iter::collect::consumer::CollectConsumer<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>>
Unexecuted instantiation: <rayon::iter::map::Map<rayon::slice::IterMut<alloc::vec::Vec<i_overlay::split::fragment::Fragment>>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::ParallelIterator>::drive_unindexed::<rayon::iter::extend::ListVecConsumer>
Unexecuted instantiation: <rayon::iter::map::Map<_, _> as rayon::iter::ParallelIterator>::drive_unindexed::<_>
51
52
0
    fn opt_len(&self) -> Option<usize> {
53
0
        self.base.opt_len()
54
0
    }
Unexecuted instantiation: <rayon::iter::map::Map<rayon::iter::enumerate::Enumerate<rayon::iter::len::MaxLen<rayon::slice::chunks::ChunksMut<surrealdb_core::val::Value>>>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::ParallelIterator>::opt_len
Unexecuted instantiation: <rayon::iter::map::Map<rayon::slice::IterMut<alloc::vec::Vec<i_overlay::split::fragment::Fragment>>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::ParallelIterator>::opt_len
Unexecuted instantiation: <rayon::iter::map::Map<_, _> as rayon::iter::ParallelIterator>::opt_len
55
}
56
57
impl<I, F, R> IndexedParallelIterator for Map<I, F>
58
where
59
    I: IndexedParallelIterator,
60
    F: Fn(I::Item) -> R + Sync + Send,
61
    R: Send,
62
{
63
0
    fn drive<C>(self, consumer: C) -> C::Result
64
0
    where
65
0
        C: Consumer<Self::Item>,
66
    {
67
0
        let consumer1 = MapConsumer::new(consumer, &self.map_op);
68
0
        self.base.drive(consumer1)
69
0
    }
70
71
0
    fn len(&self) -> usize {
72
0
        self.base.len()
73
0
    }
74
75
0
    fn with_producer<CB>(self, callback: CB) -> CB::Output
76
0
    where
77
0
        CB: ProducerCallback<Self::Item>,
78
    {
79
0
        return self.base.with_producer(Callback {
80
0
            callback,
81
0
            map_op: self.map_op,
82
0
        });
83
84
        struct Callback<CB, F> {
85
            callback: CB,
86
            map_op: F,
87
        }
88
89
        impl<T, F, R, CB> ProducerCallback<T> for Callback<CB, F>
90
        where
91
            CB: ProducerCallback<R>,
92
            F: Fn(T) -> R + Sync,
93
            R: Send,
94
        {
95
            type Output = CB::Output;
96
97
0
            fn callback<P>(self, base: P) -> CB::Output
98
0
            where
99
0
                P: Producer<Item = T>,
100
            {
101
0
                let producer = MapProducer {
102
0
                    base,
103
0
                    map_op: &self.map_op,
104
0
                };
105
0
                self.callback.callback(producer)
106
0
            }
107
        }
108
0
    }
109
}
110
111
/// ////////////////////////////////////////////////////////////////////////
112
113
struct MapProducer<'f, P, F> {
114
    base: P,
115
    map_op: &'f F,
116
}
117
118
impl<'f, P, F, R> Producer for MapProducer<'f, P, F>
119
where
120
    P: Producer,
121
    F: Fn(P::Item) -> R + Sync,
122
    R: Send,
123
{
124
    type Item = F::Output;
125
    type IntoIter = iter::Map<P::IntoIter, &'f F>;
126
127
0
    fn into_iter(self) -> Self::IntoIter {
128
0
        self.base.into_iter().map(self.map_op)
129
0
    }
130
131
0
    fn min_len(&self) -> usize {
132
0
        self.base.min_len()
133
0
    }
134
0
    fn max_len(&self) -> usize {
135
0
        self.base.max_len()
136
0
    }
137
138
0
    fn split_at(self, index: usize) -> (Self, Self) {
139
0
        let (left, right) = self.base.split_at(index);
140
0
        (
141
0
            MapProducer {
142
0
                base: left,
143
0
                map_op: self.map_op,
144
0
            },
145
0
            MapProducer {
146
0
                base: right,
147
0
                map_op: self.map_op,
148
0
            },
149
0
        )
150
0
    }
151
152
0
    fn fold_with<G>(self, folder: G) -> G
153
0
    where
154
0
        G: Folder<Self::Item>,
155
    {
156
0
        let folder1 = MapFolder {
157
0
            base: folder,
158
0
            map_op: self.map_op,
159
0
        };
160
0
        self.base.fold_with(folder1).base
161
0
    }
162
}
163
164
/// ////////////////////////////////////////////////////////////////////////
165
/// Consumer implementation
166
167
struct MapConsumer<'f, C, F> {
168
    base: C,
169
    map_op: &'f F,
170
}
171
172
impl<'f, C, F> MapConsumer<'f, C, F> {
173
0
    fn new(base: C, map_op: &'f F) -> Self {
174
0
        MapConsumer { base, map_op }
175
0
    }
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}>>::new
Unexecuted instantiation: <rayon::iter::map::MapConsumer<_, _>>::new
176
}
177
178
impl<'f, T, R, C, F> Consumer<T> for MapConsumer<'f, C, F>
179
where
180
    C: Consumer<F::Output>,
181
    F: Fn(T) -> R + Sync,
182
    R: Send,
183
{
184
    type Folder = MapFolder<'f, C::Folder, F>;
185
    type Reducer = C::Reducer;
186
    type Result = C::Result;
187
188
0
    fn split_at(self, index: usize) -> (Self, Self, Self::Reducer) {
189
0
        let (left, right, reducer) = self.base.split_at(index);
190
0
        (
191
0
            MapConsumer::new(left, self.map_op),
192
0
            MapConsumer::new(right, self.map_op),
193
0
            reducer,
194
0
        )
195
0
    }
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Consumer<(usize, &mut [surrealdb_core::val::Value])>>::split_at
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Consumer<(usize, &mut [surrealdb_core::val::Value])>>::split_at
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Consumer<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::split_at
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Consumer<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::split_at
Unexecuted instantiation: <rayon::iter::map::MapConsumer<_, _> as rayon::iter::plumbing::Consumer<_>>::split_at
196
197
0
    fn into_folder(self) -> Self::Folder {
198
0
        MapFolder {
199
0
            base: self.base.into_folder(),
200
0
            map_op: self.map_op,
201
0
        }
202
0
    }
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Consumer<(usize, &mut [surrealdb_core::val::Value])>>::into_folder
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Consumer<(usize, &mut [surrealdb_core::val::Value])>>::into_folder
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Consumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::into_folder
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Consumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::into_folder
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Consumer<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::into_folder
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Consumer<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::into_folder
Unexecuted instantiation: <rayon::iter::map::MapConsumer<_, _> as rayon::iter::plumbing::Consumer<_>>::into_folder
203
204
0
    fn full(&self) -> bool {
205
0
        self.base.full()
206
0
    }
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Consumer<(usize, &mut [surrealdb_core::val::Value])>>::full
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Consumer<(usize, &mut [surrealdb_core::val::Value])>>::full
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Consumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::full
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Consumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::full
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Consumer<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::full
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::extend::ListVecConsumer, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Consumer<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::full
Unexecuted instantiation: <rayon::iter::map::MapConsumer<_, _> as rayon::iter::plumbing::Consumer<_>>::full
207
}
208
209
impl<'f, T, R, C, F> UnindexedConsumer<T> for MapConsumer<'f, C, F>
210
where
211
    C: UnindexedConsumer<F::Output>,
212
    F: Fn(T) -> R + Sync,
213
    R: Send,
214
{
215
0
    fn split_off_left(&self) -> Self {
216
0
        MapConsumer::new(self.base.split_off_left(), self.map_op)
217
0
    }
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::UnindexedConsumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::split_off_left
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::UnindexedConsumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::split_off_left
Unexecuted instantiation: <rayon::iter::map::MapConsumer<_, _> as rayon::iter::plumbing::UnindexedConsumer<_>>::split_off_left
218
219
0
    fn to_reducer(&self) -> Self::Reducer {
220
0
        self.base.to_reducer()
221
0
    }
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::UnindexedConsumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::to_reducer
Unexecuted instantiation: <rayon::iter::map::MapConsumer<rayon::iter::flatten::FlattenConsumer<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::UnindexedConsumer<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::to_reducer
Unexecuted instantiation: <rayon::iter::map::MapConsumer<_, _> as rayon::iter::plumbing::UnindexedConsumer<_>>::to_reducer
222
}
223
224
struct MapFolder<'f, C, F> {
225
    base: C,
226
    map_op: &'f F,
227
}
228
229
impl<'f, T, R, C, F> Folder<T> for MapFolder<'f, C, F>
230
where
231
    C: Folder<F::Output>,
232
    F: Fn(T) -> R,
233
{
234
    type Result = C::Result;
235
236
0
    fn consume(self, item: T) -> Self {
237
0
        let mapped_item = (self.map_op)(item);
238
0
        MapFolder {
239
0
            base: self.base.consume(mapped_item),
240
0
            map_op: self.map_op,
241
0
        }
242
0
    }
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::flatten::FlattenFolder<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>, rayon::iter::collect::consumer::CollectResult<sysinfo::common::system::Process>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Folder<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::consume
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::flatten::FlattenFolder<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>, alloc::collections::linked_list::LinkedList<alloc::vec::Vec<sysinfo::common::system::Process>>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Folder<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::consume
Unexecuted instantiation: <rayon::iter::map::MapFolder<_, _> as rayon::iter::plumbing::Folder<_>>::consume
243
244
0
    fn consume_iter<I>(mut self, iter: I) -> Self
245
0
    where
246
0
        I: IntoIterator<Item = T>,
247
    {
248
0
        self.base = self.base.consume_iter(iter.into_iter().map(self.map_op));
249
0
        self
250
0
    }
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::extend::ListVecFolder<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Folder<(usize, &mut [surrealdb_core::val::Value])>>::consume_iter::<core::iter::adapters::zip::Zip<core::ops::range::Range<usize>, core::slice::iter::ChunksMut<surrealdb_core::val::Value>>>
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::collect::consumer::CollectResult<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Folder<(usize, &mut [surrealdb_core::val::Value])>>::consume_iter::<core::iter::adapters::zip::Zip<core::ops::range::Range<usize>, core::slice::iter::ChunksMut<surrealdb_core::val::Value>>>
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::extend::ListVecFolder<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Folder<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::consume_iter::<core::slice::iter::IterMut<alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::collect::consumer::CollectResult<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Folder<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::consume_iter::<core::slice::iter::IterMut<alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>
Unexecuted instantiation: <rayon::iter::map::MapFolder<_, _> as rayon::iter::plumbing::Folder<_>>::consume_iter::<_>
251
252
0
    fn complete(self) -> C::Result {
253
0
        self.base.complete()
254
0
    }
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::extend::ListVecFolder<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Folder<(usize, &mut [surrealdb_core::val::Value])>>::complete
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::collect::consumer::CollectResult<(usize, usize, rayon::slice::mergesort::MergesortResult)>, rayon::slice::mergesort::par_mergesort<surrealdb_core::val::Value, <ext_sort::buffer::LimitedBuffer<surrealdb_core::val::Value> as rayon::slice::ParallelSliceMut<surrealdb_core::val::Value>>::par_sort_by<<surrealdb_core::dbs::file::FileCollector>::sort_and_take_vec::{closure#0}::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}> as rayon::iter::plumbing::Folder<(usize, &mut [surrealdb_core::val::Value])>>::complete
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::flatten::FlattenFolder<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>, rayon::iter::collect::consumer::CollectResult<sysinfo::common::system::Process>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Folder<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::complete
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::flatten::FlattenFolder<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>, alloc::collections::linked_list::LinkedList<alloc::vec::Vec<sysinfo::common::system::Process>>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Folder<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::complete
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::extend::ListVecFolder<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Folder<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::complete
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::collect::consumer::CollectResult<<i_overlay::split::solver::SplitSolver>::parallel_split::TaskResult>, <i_overlay::split::solver::SplitSolver>::parallel_split::{closure#0}> as rayon::iter::plumbing::Folder<&mut alloc::vec::Vec<i_overlay::split::fragment::Fragment>>>::complete
Unexecuted instantiation: <rayon::iter::map::MapFolder<_, _> as rayon::iter::plumbing::Folder<_>>::complete
255
256
0
    fn full(&self) -> bool {
257
0
        self.base.full()
258
0
    }
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::flatten::FlattenFolder<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::collect::consumer::CollectConsumer<sysinfo::common::system::Process>, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>, rayon::iter::collect::consumer::CollectResult<sysinfo::common::system::Process>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Folder<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::full
Unexecuted instantiation: <rayon::iter::map::MapFolder<rayon::iter::flatten::FlattenFolder<rayon::iter::filter::FilterConsumer<rayon::iter::filter_map::FilterMapConsumer<rayon::iter::extend::ListVecConsumer, sysinfo::unix::linux::process::refresh_procs::{closure#2}>, sysinfo::unix::linux::process::refresh_procs::{closure#1}>, alloc::collections::linked_list::LinkedList<alloc::vec::Vec<sysinfo::common::system::Process>>>, sysinfo::unix::linux::process::refresh_procs::{closure#0}> as rayon::iter::plumbing::Folder<core::result::Result<std::fs::DirEntry, std::io::error::Error>>>::full
Unexecuted instantiation: <rayon::iter::map::MapFolder<_, _> as rayon::iter::plumbing::Folder<_>>::full
259
}