@@ -1727,52 +1727,44 @@ impl<K, V> Clone for Values<'_, K, V> {
1727
1727
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1728
1728
pub struct DrainFilter < ' a , K , V , F >
1729
1729
where
1730
- K : ' a + Ord , // This Ord bound should be removed before stabilization.
1730
+ K : ' a ,
1731
1731
V : ' a ,
1732
1732
F : ' a + FnMut ( & K , & mut V ) -> bool ,
1733
1733
{
1734
1734
pred : F ,
1735
1735
inner : DrainFilterInner < ' a , K , V > ,
1736
1736
}
1737
- pub ( super ) struct DrainFilterInner < ' a , K , V >
1738
- where
1739
- K : ' a + Ord ,
1740
- V : ' a ,
1741
- {
1737
+ pub ( super ) struct DrainFilterInner < ' a , K : ' a , V : ' a > {
1742
1738
length : & ' a mut usize ,
1743
1739
cur_leaf_edge : Option < Handle < NodeRef < marker:: Mut < ' a > , K , V , marker:: Leaf > , marker:: Edge > > ,
1744
1740
}
1745
1741
1746
1742
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1747
- impl < ' a , K , V , F > Drop for DrainFilter < ' a , K , V , F >
1743
+ impl < K , V , F > Drop for DrainFilter < ' _ , K , V , F >
1748
1744
where
1749
- K : ' a + Ord ,
1750
- V : ' a ,
1751
- F : ' a + FnMut ( & K , & mut V ) -> bool ,
1745
+ F : FnMut ( & K , & mut V ) -> bool ,
1752
1746
{
1753
1747
fn drop ( & mut self ) {
1754
1748
self . for_each ( drop) ;
1755
1749
}
1756
1750
}
1757
1751
1758
1752
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1759
- impl < ' a , K , V , F > fmt:: Debug for DrainFilter < ' a , K , V , F >
1753
+ impl < K , V , F > fmt:: Debug for DrainFilter < ' _ , K , V , F >
1760
1754
where
1761
- K : ' a + fmt:: Debug + Ord ,
1762
- V : ' a + fmt:: Debug ,
1763
- F : ' a + FnMut ( & K , & mut V ) -> bool ,
1755
+ K : fmt:: Debug ,
1756
+ V : fmt:: Debug ,
1757
+ F : FnMut ( & K , & mut V ) -> bool ,
1764
1758
{
1765
1759
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
1766
1760
f. debug_tuple ( "DrainFilter" ) . field ( & self . inner . peek ( ) ) . finish ( )
1767
1761
}
1768
1762
}
1769
1763
1770
1764
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1771
- impl < ' a , K , V , F > Iterator for DrainFilter < ' a , K , V , F >
1765
+ impl < K , V , F > Iterator for DrainFilter < ' _ , K , V , F >
1772
1766
where
1773
- K : ' a + Ord ,
1774
- V : ' a ,
1775
- F : ' a + FnMut ( & K , & mut V ) -> bool ,
1767
+ F : FnMut ( & K , & mut V ) -> bool ,
1776
1768
{
1777
1769
type Item = ( K , V ) ;
1778
1770
@@ -1785,11 +1777,7 @@ where
1785
1777
}
1786
1778
}
1787
1779
1788
- impl < ' a , K , V > DrainFilterInner < ' a , K , V >
1789
- where
1790
- K : ' a + Ord ,
1791
- V : ' a ,
1792
- {
1780
+ impl < ' a , K : ' a , V : ' a > DrainFilterInner < ' a , K , V > {
1793
1781
/// Allow Debug implementations to predict the next element.
1794
1782
pub ( super ) fn peek ( & self ) -> Option < ( & K , & V ) > {
1795
1783
let edge = self . cur_leaf_edge . as_ref ( ) ?;
@@ -1828,12 +1816,7 @@ where
1828
1816
}
1829
1817
1830
1818
#[ unstable( feature = "btree_drain_filter" , issue = "70530" ) ]
1831
- impl < K , V , F > FusedIterator for DrainFilter < ' _ , K , V , F >
1832
- where
1833
- K : Ord ,
1834
- F : FnMut ( & K , & mut V ) -> bool ,
1835
- {
1836
- }
1819
+ impl < K , V , F > FusedIterator for DrainFilter < ' _ , K , V , F > where F : FnMut ( & K , & mut V ) -> bool { }
1837
1820
1838
1821
#[ stable( feature = "btree_range" , since = "1.17.0" ) ]
1839
1822
impl < ' a , K , V > Iterator for Range < ' a , K , V > {
0 commit comments