Skip to content

Commit 4bd644c

Browse files
committed
Rename .*_results() -> .*_ok()
1 parent 46ec717 commit 4bd644c

File tree

2 files changed

+56
-36
lines changed

2 files changed

+56
-36
lines changed

src/adaptors/mod.rs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1068,27 +1068,30 @@ where
10681068
I::Item: Into<R>,
10691069
{}
10701070

1071-
/// An iterator adapter to apply a transformation within a nested `Result`.
1071+
#[deprecated(note="Use MapOk instead", since="0.10")]
1072+
pub type MapResults<I, F> = MapOk<I, F>;
1073+
1074+
/// An iterator adapter to apply a transformation within a nested `Result::Ok`.
10721075
///
1073-
/// See [`.map_results()`](../trait.Itertools.html#method.map_results) for more information.
1076+
/// See [`.map_ok()`](../trait.Itertools.html#method.map_ok) for more information.
10741077
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
1075-
pub struct MapResults<I, F> {
1078+
pub struct MapOk<I, F> {
10761079
iter: I,
10771080
f: F
10781081
}
10791082

1080-
/// Create a new `MapResults` iterator.
1081-
pub fn map_results<I, F, T, U, E>(iter: I, f: F) -> MapResults<I, F>
1083+
/// Create a new `MapOk` iterator.
1084+
pub fn map_ok<I, F, T, U, E>(iter: I, f: F) -> MapOk<I, F>
10821085
where I: Iterator<Item = Result<T, E>>,
10831086
F: FnMut(T) -> U,
10841087
{
1085-
MapResults {
1088+
MapOk {
10861089
iter: iter,
10871090
f: f,
10881091
}
10891092
}
10901093

1091-
impl<I, F, T, U, E> Iterator for MapResults<I, F>
1094+
impl<I, F, T, U, E> Iterator for MapOk<I, F>
10921095
where I: Iterator<Item = Result<T, E>>,
10931096
F: FnMut(T) -> U,
10941097
{
@@ -1117,27 +1120,27 @@ impl<I, F, T, U, E> Iterator for MapResults<I, F>
11171120
}
11181121
}
11191122

1120-
/// An iterator adapter to filter values within a nested `Result`.
1123+
/// An iterator adapter to filter values within a nested `Result::Ok`.
11211124
///
1122-
/// See [`.filter_results()`](../trait.Itertools.html#method.filter_results) for more information.
1125+
/// See [`.filter_ok()`](../trait.Itertools.html#method.filter_ok) for more information.
11231126
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
1124-
pub struct FilterResults<I, F> {
1127+
pub struct FilterOk<I, F> {
11251128
iter: I,
11261129
f: F
11271130
}
11281131

1129-
/// Create a new `FilterResults` iterator.
1130-
pub fn filter_results<I, F, T, E>(iter: I, f: F) -> FilterResults<I, F>
1132+
/// Create a new `FilterOk` iterator.
1133+
pub fn filter_ok<I, F, T, E>(iter: I, f: F) -> FilterOk<I, F>
11311134
where I: Iterator<Item = Result<T, E>>,
11321135
F: FnMut(&T) -> bool,
11331136
{
1134-
FilterResults {
1137+
FilterOk {
11351138
iter: iter,
11361139
f: f,
11371140
}
11381141
}
11391142

1140-
impl<I, F, T, E> Iterator for FilterResults<I, F>
1143+
impl<I, F, T, E> Iterator for FilterOk<I, F>
11411144
where I: Iterator<Item = Result<T, E>>,
11421145
F: FnMut(&T) -> bool,
11431146
{
@@ -1180,11 +1183,11 @@ impl<I, F, T, E> Iterator for FilterResults<I, F>
11801183
}
11811184
}
11821185

1183-
/// An iterator adapter to filter and apply a transformation on values within a nested `Result`.
1186+
/// An iterator adapter to filter and apply a transformation on values within a nested `Result::Ok`.
11841187
///
1185-
/// See [`.filter_map_results()`](../trait.Itertools.html#method.filter_map_results) for more information.
1188+
/// See [`.filter_map_ok()`](../trait.Itertools.html#method.filter_map_ok) for more information.
11861189
#[must_use = "iterator adaptors are lazy and do nothing unless consumed"]
1187-
pub struct FilterMapResults<I, F> {
1190+
pub struct FilterMapOk<I, F> {
11881191
iter: I,
11891192
f: F
11901193
}
@@ -1197,18 +1200,18 @@ fn transpose_result<T, E>(result: Result<Option<T>, E>) -> Option<Result<T, E>>
11971200
}
11981201
}
11991202

1200-
/// Create a new `FilterResults` iterator.
1201-
pub fn filter_map_results<I, F, T, U, E>(iter: I, f: F) -> FilterMapResults<I, F>
1203+
/// Create a new `FilterOk` iterator.
1204+
pub fn filter_map_ok<I, F, T, U, E>(iter: I, f: F) -> FilterMapOk<I, F>
12021205
where I: Iterator<Item = Result<T, E>>,
12031206
F: FnMut(T) -> Option<U>,
12041207
{
1205-
FilterMapResults {
1208+
FilterMapOk {
12061209
iter: iter,
12071210
f: f,
12081211
}
12091212
}
12101213

1211-
impl<I, F, T, U, E> Iterator for FilterMapResults<I, F>
1214+
impl<I, F, T, U, E> Iterator for FilterMapOk<I, F>
12121215
where I: Iterator<Item = Result<T, E>>,
12131216
F: FnMut(T) -> Option<U>,
12141217
{

src/lib.rs

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,13 @@ pub mod structs {
8282
DedupBy,
8383
Interleave,
8484
InterleaveShortest,
85-
FilterMapResults,
86-
FilterResults,
85+
FilterMapOk,
86+
FilterOk,
8787
Product,
8888
PutBack,
8989
Batching,
9090
MapInto,
91+
MapOk,
9192
MapResults,
9293
Merge,
9394
MergeBy,
@@ -696,6 +697,14 @@ pub trait Itertools : Iterator {
696697
adaptors::map_into(self)
697698
}
698699

700+
#[deprecated(note="Use .map_ok() instead", since="0.10")]
701+
fn map_results<F, T, U, E>(self, f: F) -> MapOk<Self, F>
702+
where Self: Iterator<Item = Result<T, E>> + Sized,
703+
F: FnMut(T) -> U,
704+
{
705+
self.map_ok(f)
706+
}
707+
699708
/// Return an iterator adaptor that applies the provided closure
700709
/// to every `Result::Ok` value. `Result::Err` values are
701710
/// unchanged.
@@ -704,14 +713,14 @@ pub trait Itertools : Iterator {
704713
/// use itertools::Itertools;
705714
///
706715
/// let input = vec![Ok(41), Err(false), Ok(11)];
707-
/// let it = input.into_iter().map_results(|i| i + 1);
716+
/// let it = input.into_iter().map_ok(|i| i + 1);
708717
/// itertools::assert_equal(it, vec![Ok(42), Err(false), Ok(12)]);
709718
/// ```
710-
fn map_results<F, T, U, E>(self, f: F) -> MapResults<Self, F>
719+
fn map_ok<F, T, U, E>(self, f: F) -> MapOk<Self, F>
711720
where Self: Iterator<Item = Result<T, E>> + Sized,
712721
F: FnMut(T) -> U,
713722
{
714-
adaptors::map_results(self, f)
723+
adaptors::map_ok(self, f)
715724
}
716725

717726
/// Return an iterator adaptor that filters every `Result::Ok`
@@ -722,14 +731,14 @@ pub trait Itertools : Iterator {
722731
/// use itertools::Itertools;
723732
///
724733
/// let input = vec![Ok(22), Err(false), Ok(11)];
725-
/// let it = input.into_iter().filter_results(|&i| i > 20);
734+
/// let it = input.into_iter().filter_ok(|&i| i > 20);
726735
/// itertools::assert_equal(it, vec![Ok(22), Err(false)]);
727736
/// ```
728-
fn filter_results<F, T, E>(self, f: F) -> FilterResults<Self, F>
737+
fn filter_ok<F, T, E>(self, f: F) -> FilterOk<Self, F>
729738
where Self: Iterator<Item = Result<T, E>> + Sized,
730739
F: FnMut(&T) -> bool,
731740
{
732-
adaptors::filter_results(self, f)
741+
adaptors::filter_ok(self, f)
733742
}
734743

735744
/// Return an iterator adaptor that filters and transforms every
@@ -740,14 +749,14 @@ pub trait Itertools : Iterator {
740749
/// use itertools::Itertools;
741750
///
742751
/// let input = vec![Ok(22), Err(false), Ok(11)];
743-
/// let it = input.into_iter().filter_map_results(|i| if i > 20 { Some(i * 2) } else { None });
752+
/// let it = input.into_iter().filter_map_ok(|i| if i > 20 { Some(i * 2) } else { None });
744753
/// itertools::assert_equal(it, vec![Ok(44), Err(false)]);
745754
/// ```
746-
fn filter_map_results<F, T, U, E>(self, f: F) -> FilterMapResults<Self, F>
755+
fn filter_map_ok<F, T, U, E>(self, f: F) -> FilterMapOk<Self, F>
747756
where Self: Iterator<Item = Result<T, E>> + Sized,
748757
F: FnMut(T) -> Option<U>,
749758
{
750-
adaptors::filter_map_results(self, f)
759+
adaptors::filter_map_ok(self, f)
751760
}
752761

753762
/// Return an iterator adaptor that merges the two base iterators in
@@ -1699,6 +1708,14 @@ pub trait Itertools : Iterator {
16991708
format::new_format(self, sep, format)
17001709
}
17011710

1711+
#[deprecated(note="Use .fold_ok() instead", since="0.10")]
1712+
fn fold_results<A, E, B, F>(&mut self, mut start: B, mut f: F) -> Result<B, E>
1713+
where Self: Iterator<Item = Result<A, E>>,
1714+
F: FnMut(B, A) -> B
1715+
{
1716+
self.fold_ok(start, f)
1717+
}
1718+
17021719
/// Fold `Result` values from an iterator.
17031720
///
17041721
/// Only `Ok` values are folded. If no error is encountered, the folded
@@ -1731,17 +1748,17 @@ pub trait Itertools : Iterator {
17311748
/// assert_eq!(
17321749
/// values.iter()
17331750
/// .map(Ok::<_, ()>)
1734-
/// .fold_results(0, Add::add),
1751+
/// .fold_ok(0, Add::add),
17351752
/// Ok(3)
17361753
/// );
17371754
/// assert!(
17381755
/// values.iter()
17391756
/// .map(|&x| if x >= 0 { Ok(x) } else { Err("Negative number") })
1740-
/// .fold_results(0, Add::add)
1757+
/// .fold_ok(0, Add::add)
17411758
/// .is_err()
17421759
/// );
17431760
/// ```
1744-
fn fold_results<A, E, B, F>(&mut self, mut start: B, mut f: F) -> Result<B, E>
1761+
fn fold_ok<A, E, B, F>(&mut self, mut start: B, mut f: F) -> Result<B, E>
17451762
where Self: Iterator<Item = Result<A, E>>,
17461763
F: FnMut(B, A) -> B
17471764
{
@@ -1760,7 +1777,7 @@ pub trait Itertools : Iterator {
17601777
/// value is returned inside `Some`. Otherwise, the operation terminates
17611778
/// and returns `None`. No iterator elements are consumed after the `None`.
17621779
///
1763-
/// This is the `Option` equivalent to `fold_results`.
1780+
/// This is the `Option` equivalent to `fold_ok`.
17641781
///
17651782
/// ```
17661783
/// use std::ops::Add;

0 commit comments

Comments
 (0)