@@ -398,12 +398,12 @@ impl<K, V: fmt::Debug> fmt::Debug for ValuesMut<'_, K, V> {
398398/// See its documentation for more.
399399///
400400/// [`into_keys`]: BTreeMap::into_keys
401- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
401+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
402402pub struct IntoKeys < K , V > {
403403 inner : IntoIter < K , V > ,
404404}
405405
406- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
406+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
407407impl < K : fmt:: Debug , V > fmt:: Debug for IntoKeys < K , V > {
408408 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
409409 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> {
416416/// See its documentation for more.
417417///
418418/// [`into_values`]: BTreeMap::into_values
419- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
419+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
420420pub struct IntoValues < K , V > {
421421 inner : IntoIter < K , V > ,
422422}
423423
424- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
424+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
425425impl < K , V : fmt:: Debug > fmt:: Debug for IntoValues < K , V > {
426426 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
427427 f. debug_list ( ) . entries ( self . inner . iter ( ) . map ( |( _, val) | val) ) . finish ( )
@@ -1242,7 +1242,6 @@ impl<K, V> BTreeMap<K, V> {
12421242 /// # Examples
12431243 ///
12441244 /// ```
1245- /// #![feature(map_into_keys_values)]
12461245 /// use std::collections::BTreeMap;
12471246 ///
12481247 /// let mut a = BTreeMap::new();
@@ -1253,7 +1252,7 @@ impl<K, V> BTreeMap<K, V> {
12531252 /// assert_eq!(keys, [1, 2]);
12541253 /// ```
12551254 #[ inline]
1256- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1255+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
12571256 pub fn into_keys ( self ) -> IntoKeys < K , V > {
12581257 IntoKeys { inner : self . into_iter ( ) }
12591258 }
@@ -1265,7 +1264,6 @@ impl<K, V> BTreeMap<K, V> {
12651264 /// # Examples
12661265 ///
12671266 /// ```
1268- /// #![feature(map_into_keys_values)]
12691267 /// use std::collections::BTreeMap;
12701268 ///
12711269 /// let mut a = BTreeMap::new();
@@ -1276,7 +1274,7 @@ impl<K, V> BTreeMap<K, V> {
12761274 /// assert_eq!(values, ["hello", "goodbye"]);
12771275 /// ```
12781276 #[ inline]
1279- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1277+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
12801278 pub fn into_values ( self ) -> IntoValues < K , V > {
12811279 IntoValues { inner : self . into_iter ( ) }
12821280 }
@@ -1776,7 +1774,7 @@ impl<'a, K, V> Range<'a, K, V> {
17761774 }
17771775}
17781776
1779- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1777+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
17801778impl < K , V > Iterator for IntoKeys < K , V > {
17811779 type Item = K ;
17821780
@@ -1801,24 +1799,24 @@ impl<K, V> Iterator for IntoKeys<K, V> {
18011799 }
18021800}
18031801
1804- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1802+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18051803impl < K , V > DoubleEndedIterator for IntoKeys < K , V > {
18061804 fn next_back ( & mut self ) -> Option < K > {
18071805 self . inner . next_back ( ) . map ( |( k, _) | k)
18081806 }
18091807}
18101808
1811- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1809+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18121810impl < K , V > ExactSizeIterator for IntoKeys < K , V > {
18131811 fn len ( & self ) -> usize {
18141812 self . inner . len ( )
18151813 }
18161814}
18171815
1818- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1816+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18191817impl < K , V > FusedIterator for IntoKeys < K , V > { }
18201818
1821- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1819+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18221820impl < K , V > Iterator for IntoValues < K , V > {
18231821 type Item = V ;
18241822
@@ -1835,21 +1833,21 @@ impl<K, V> Iterator for IntoValues<K, V> {
18351833 }
18361834}
18371835
1838- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1836+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18391837impl < K , V > DoubleEndedIterator for IntoValues < K , V > {
18401838 fn next_back ( & mut self ) -> Option < V > {
18411839 self . inner . next_back ( ) . map ( |( _, v) | v)
18421840 }
18431841}
18441842
1845- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1843+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18461844impl < K , V > ExactSizeIterator for IntoValues < K , V > {
18471845 fn len ( & self ) -> usize {
18481846 self . inner . len ( )
18491847 }
18501848}
18511849
1852- #[ unstable ( feature = "map_into_keys_values" , issue = "75294 " ) ]
1850+ #[ stable ( feature = "map_into_keys_values" , since = "1.53.0 " ) ]
18531851impl < K , V > FusedIterator for IntoValues < K , V > { }
18541852
18551853#[ stable( feature = "btree_range" , since = "1.17.0" ) ]
0 commit comments