@@ -26,6 +26,7 @@ mod any;
26
26
mod chain;
27
27
mod cmp;
28
28
mod enumerate;
29
+ mod eq;
29
30
mod filter;
30
31
mod filter_map;
31
32
mod find;
@@ -60,6 +61,7 @@ use all::AllFuture;
60
61
use any:: AnyFuture ;
61
62
use cmp:: CmpFuture ;
62
63
use enumerate:: Enumerate ;
64
+ use eq:: EqFuture ;
63
65
use filter_map:: FilterMap ;
64
66
use find:: FindFuture ;
65
67
use find_map:: FindMapFuture ;
@@ -1622,6 +1624,42 @@ extension_trait! {
1622
1624
GeFuture :: new( self , other)
1623
1625
}
1624
1626
1627
+ #[ doc = r#"
1628
+ Determines if the elements of this `Stream` are lexicographically
1629
+ equal to those of another.
1630
+
1631
+ # Examples
1632
+
1633
+ ```
1634
+ # fn main() { async_std::task::block_on(async {
1635
+ #
1636
+ use async_std::prelude::*;
1637
+ use std::collections::VecDeque;
1638
+
1639
+ let single: VecDeque<isize> = vec![1].into_iter().collect();
1640
+ let single_eq: VecDeque<isize> = vec![10].into_iter().collect();
1641
+ let multi: VecDeque<isize> = vec![1,2].into_iter().collect();
1642
+ let multi_eq: VecDeque<isize> = vec![1,5].into_iter().collect();
1643
+ assert_eq!(single.clone().eq(single.clone()).await, true);
1644
+ assert_eq!(single_eq.clone().eq(single.clone()).await, false);
1645
+ assert_eq!(multi.clone().eq(single_eq.clone()).await, false);
1646
+ assert_eq!(multi_eq.clone().eq(multi.clone()).await, false);
1647
+ #
1648
+ # }) }
1649
+ ```
1650
+ "# ]
1651
+ fn eq<S >(
1652
+ self ,
1653
+ other: S
1654
+ ) -> impl Future <Output = bool > [ EqFuture <Self , S >]
1655
+ where
1656
+ Self : Sized + Stream ,
1657
+ S : Sized + Stream ,
1658
+ <Self as Stream >:: Item : PartialEq <S :: Item >,
1659
+ {
1660
+ EqFuture :: new( self , other)
1661
+ }
1662
+
1625
1663
#[ doc = r#"
1626
1664
Determines if the elements of this `Stream` are lexicographically
1627
1665
greater than those of another.
0 commit comments