@@ -1699,52 +1699,44 @@ impl<K, V> Clone for Values<'_, K, V> {
1699
1699
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1700
1700
pub struct DrainFilter < ' a , K , V , F >
1701
1701
where
1702
- K : ' a + Ord , // This Ord bound should be removed before stabilization.
1702
+ K : ' a ,
1703
1703
V : ' a ,
1704
1704
F : ' a + FnMut ( & K , & mut V ) -> bool ,
1705
1705
{
1706
1706
pred : F ,
1707
1707
inner : DrainFilterInner < ' a , K , V > ,
1708
1708
}
1709
- pub ( super ) struct DrainFilterInner < ' a , K , V >
1710
- where
1711
- K : ' a + Ord ,
1712
- V : ' a ,
1713
- {
1709
+ pub ( super ) struct DrainFilterInner < ' a , K : ' a , V : ' a > {
1714
1710
length : & ' a mut usize ,
1715
1711
cur_leaf_edge : Option < Handle < NodeRef < marker:: Mut < ' a > , K , V , marker:: Leaf > , marker:: Edge > > ,
1716
1712
}
1717
1713
1718
1714
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1719
- impl < ' a , K , V , F > Drop for DrainFilter < ' a , K , V , F >
1715
+ impl < K , V , F > Drop for DrainFilter < ' _ , K , V , F >
1720
1716
where
1721
- K : ' a + Ord ,
1722
- V : ' a ,
1723
- F : ' a + FnMut ( & K , & mut V ) -> bool ,
1717
+ F : FnMut ( & K , & mut V ) -> bool ,
1724
1718
{
1725
1719
fn drop ( & mut self ) {
1726
1720
self . for_each ( drop) ;
1727
1721
}
1728
1722
}
1729
1723
1730
1724
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1731
- impl < ' a , K , V , F > fmt:: Debug for DrainFilter < ' a , K , V , F >
1725
+ impl < K , V , F > fmt:: Debug for DrainFilter < ' _ , K , V , F >
1732
1726
where
1733
- K : ' a + fmt:: Debug + Ord ,
1734
- V : ' a + fmt:: Debug ,
1735
- F : ' a + FnMut ( & K , & mut V ) -> bool ,
1727
+ K : fmt:: Debug ,
1728
+ V : fmt:: Debug ,
1729
+ F : FnMut ( & K , & mut V ) -> bool ,
1736
1730
{
1737
1731
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
1738
1732
f. debug_tuple ( "DrainFilter" ) . field ( & self . inner . peek ( ) ) . finish ( )
1739
1733
}
1740
1734
}
1741
1735
1742
1736
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1743
- impl < ' a , K , V , F > Iterator for DrainFilter < ' a , K , V , F >
1737
+ impl < K , V , F > Iterator for DrainFilter < ' _ , K , V , F >
1744
1738
where
1745
- K : ' a + Ord ,
1746
- V : ' a ,
1747
- F : ' a + FnMut ( & K , & mut V ) -> bool ,
1739
+ F : FnMut ( & K , & mut V ) -> bool ,
1748
1740
{
1749
1741
type Item = ( K , V ) ;
1750
1742
@@ -1757,11 +1749,7 @@ where
1757
1749
}
1758
1750
}
1759
1751
1760
- impl < ' a , K , V > DrainFilterInner < ' a , K , V >
1761
- where
1762
- K : ' a + Ord ,
1763
- V : ' a ,
1764
- {
1752
+ impl < ' a , K : ' a , V : ' a > DrainFilterInner < ' a , K , V > {
1765
1753
/// Allow Debug implementations to predict the next element.
1766
1754
pub ( super ) fn peek ( & self ) -> Option < ( & K , & V ) > {
1767
1755
let edge = self . cur_leaf_edge . as_ref ( ) ?;
@@ -1800,12 +1788,7 @@ where
1800
1788
}
1801
1789
1802
1790
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1803
- impl < K , V , F > FusedIterator for DrainFilter < ' _ , K , V , F >
1804
- where
1805
- K : Ord ,
1806
- F : FnMut ( & K , & mut V ) -> bool ,
1807
- {
1808
- }
1791
+ impl < K , V , F > FusedIterator for DrainFilter < ' _ , K , V , F > where F : FnMut ( & K , & mut V ) -> bool { }
1809
1792
1810
1793
#[ stable( feature = "btree_range" , since = "1.17.0" ) ]
1811
1794
impl < ' a , K , V > Iterator for Range < ' a , K , V > {
0 commit comments