@@ -398,12 +398,12 @@ impl<K, V: fmt::Debug> fmt::Debug for ValuesMut<'_, K, V> {
398
398
/// See its documentation for more.
399
399
///
400
400
/// [`into_keys`]: BTreeMap::into_keys
401
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
401
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
402
402
pub struct IntoKeys < K , V > {
403
403
inner : IntoIter < K , V > ,
404
404
}
405
405
406
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
406
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
407
407
impl < K : fmt:: Debug , V > fmt:: Debug for IntoKeys < K , V > {
408
408
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
409
409
f. debug_list ( ) . entries ( self . inner . iter ( ) . map ( |( key, _) | key) ) . finish ( )
@@ -416,12 +416,12 @@ impl<K: fmt::Debug, V> fmt::Debug for IntoKeys<K, V> {
416
416
/// See its documentation for more.
417
417
///
418
418
/// [`into_values`]: BTreeMap::into_values
419
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
419
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
420
420
pub struct IntoValues < K , V > {
421
421
inner : IntoIter < K , V > ,
422
422
}
423
423
424
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
424
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
425
425
impl < K , V : fmt:: Debug > fmt:: Debug for IntoValues < K , V > {
426
426
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
427
427
f. debug_list ( ) . entries ( self . inner . iter ( ) . map ( |( _, val) | val) ) . finish ( )
@@ -1242,7 +1242,6 @@ impl<K, V> BTreeMap<K, V> {
1242
1242
/// # Examples
1243
1243
///
1244
1244
/// ```
1245
- /// #![feature(map_into_keys_values)]
1246
1245
/// use std::collections::BTreeMap;
1247
1246
///
1248
1247
/// let mut a = BTreeMap::new();
@@ -1253,7 +1252,7 @@ impl<K, V> BTreeMap<K, V> {
1253
1252
/// assert_eq!(keys, [1, 2]);
1254
1253
/// ```
1255
1254
#[ inline]
1256
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1255
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1257
1256
pub fn into_keys ( self ) -> IntoKeys < K , V > {
1258
1257
IntoKeys { inner : self . into_iter ( ) }
1259
1258
}
@@ -1265,7 +1264,6 @@ impl<K, V> BTreeMap<K, V> {
1265
1264
/// # Examples
1266
1265
///
1267
1266
/// ```
1268
- /// #![feature(map_into_keys_values)]
1269
1267
/// use std::collections::BTreeMap;
1270
1268
///
1271
1269
/// let mut a = BTreeMap::new();
@@ -1276,7 +1274,7 @@ impl<K, V> BTreeMap<K, V> {
1276
1274
/// assert_eq!(values, ["hello", "goodbye"]);
1277
1275
/// ```
1278
1276
#[ inline]
1279
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1277
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1280
1278
pub fn into_values ( self ) -> IntoValues < K , V > {
1281
1279
IntoValues { inner : self . into_iter ( ) }
1282
1280
}
@@ -1776,7 +1774,7 @@ impl<'a, K, V> Range<'a, K, V> {
1776
1774
}
1777
1775
}
1778
1776
1779
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1777
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1780
1778
impl < K , V > Iterator for IntoKeys < K , V > {
1781
1779
type Item = K ;
1782
1780
@@ -1801,24 +1799,24 @@ impl<K, V> Iterator for IntoKeys<K, V> {
1801
1799
}
1802
1800
}
1803
1801
1804
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1802
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1805
1803
impl < K , V > DoubleEndedIterator for IntoKeys < K , V > {
1806
1804
fn next_back ( & mut self ) -> Option < K > {
1807
1805
self . inner . next_back ( ) . map ( |( k, _) | k)
1808
1806
}
1809
1807
}
1810
1808
1811
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1809
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1812
1810
impl < K , V > ExactSizeIterator for IntoKeys < K , V > {
1813
1811
fn len ( & self ) -> usize {
1814
1812
self . inner . len ( )
1815
1813
}
1816
1814
}
1817
1815
1818
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1816
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1819
1817
impl < K , V > FusedIterator for IntoKeys < K , V > { }
1820
1818
1821
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1819
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1822
1820
impl < K , V > Iterator for IntoValues < K , V > {
1823
1821
type Item = V ;
1824
1822
@@ -1835,21 +1833,21 @@ impl<K, V> Iterator for IntoValues<K, V> {
1835
1833
}
1836
1834
}
1837
1835
1838
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1836
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1839
1837
impl < K , V > DoubleEndedIterator for IntoValues < K , V > {
1840
1838
fn next_back ( & mut self ) -> Option < V > {
1841
1839
self . inner . next_back ( ) . map ( |( _, v) | v)
1842
1840
}
1843
1841
}
1844
1842
1845
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1843
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1846
1844
impl < K , V > ExactSizeIterator for IntoValues < K , V > {
1847
1845
fn len ( & self ) -> usize {
1848
1846
self . inner . len ( )
1849
1847
}
1850
1848
}
1851
1849
1852
- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1850
+ #[ stable ( feature = "map_into_keys_values" , since = "1.54.0 " ) ]
1853
1851
impl < K , V > FusedIterator for IntoValues < K , V > { }
1854
1852
1855
1853
#[ stable( feature = "btree_range" , since = "1.17.0" ) ]
0 commit comments