Stabilize map_first_last

This commit is contained in:
est31 2022-09-12 17:09:08 +02:00
parent d45feb3ad2
commit 2c72ea7748
5 changed files with 10 additions and 23 deletions

View File

@ -32,7 +32,6 @@
#![feature(exhaustive_patterns)] #![feature(exhaustive_patterns)]
#![feature(get_mut_unchecked)] #![feature(get_mut_unchecked)]
#![feature(if_let_guard)] #![feature(if_let_guard)]
#![feature(map_first_last)]
#![feature(negative_impls)] #![feature(negative_impls)]
#![feature(never_type)] #![feature(never_type)]
#![feature(extern_types)] #![feature(extern_types)]

View File

@ -3,7 +3,6 @@
#![cfg(not(target_os = "android"))] #![cfg(not(target_os = "android"))]
#![feature(btree_drain_filter)] #![feature(btree_drain_filter)]
#![feature(iter_next_chunk)] #![feature(iter_next_chunk)]
#![feature(map_first_last)]
#![feature(repr_simd)] #![feature(repr_simd)]
#![feature(slice_partition_dedup)] #![feature(slice_partition_dedup)]
#![feature(test)] #![feature(test)]

View File

@ -703,7 +703,6 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// Basic usage: /// Basic usage:
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeMap; /// use std::collections::BTreeMap;
/// ///
/// let mut map = BTreeMap::new(); /// let mut map = BTreeMap::new();
@ -712,7 +711,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// map.insert(2, "a"); /// map.insert(2, "a");
/// assert_eq!(map.first_key_value(), Some((&1, &"b"))); /// assert_eq!(map.first_key_value(), Some((&1, &"b")));
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn first_key_value(&self) -> Option<(&K, &V)> pub fn first_key_value(&self) -> Option<(&K, &V)>
where where
K: Ord, K: Ord,
@ -727,7 +726,6 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// # Examples /// # Examples
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeMap; /// use std::collections::BTreeMap;
/// ///
/// let mut map = BTreeMap::new(); /// let mut map = BTreeMap::new();
@ -741,7 +739,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// assert_eq!(*map.get(&1).unwrap(), "first"); /// assert_eq!(*map.get(&1).unwrap(), "first");
/// assert_eq!(*map.get(&2).unwrap(), "b"); /// assert_eq!(*map.get(&2).unwrap(), "b");
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>> pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where where
K: Ord, K: Ord,
@ -765,7 +763,6 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// Draining elements in ascending order, while keeping a usable map each iteration. /// Draining elements in ascending order, while keeping a usable map each iteration.
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeMap; /// use std::collections::BTreeMap;
/// ///
/// let mut map = BTreeMap::new(); /// let mut map = BTreeMap::new();
@ -776,7 +773,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// } /// }
/// assert!(map.is_empty()); /// assert!(map.is_empty());
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn pop_first(&mut self) -> Option<(K, V)> pub fn pop_first(&mut self) -> Option<(K, V)>
where where
K: Ord, K: Ord,
@ -792,7 +789,6 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// Basic usage: /// Basic usage:
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeMap; /// use std::collections::BTreeMap;
/// ///
/// let mut map = BTreeMap::new(); /// let mut map = BTreeMap::new();
@ -800,7 +796,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// map.insert(2, "a"); /// map.insert(2, "a");
/// assert_eq!(map.last_key_value(), Some((&2, &"a"))); /// assert_eq!(map.last_key_value(), Some((&2, &"a")));
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn last_key_value(&self) -> Option<(&K, &V)> pub fn last_key_value(&self) -> Option<(&K, &V)>
where where
K: Ord, K: Ord,
@ -815,7 +811,6 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// # Examples /// # Examples
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeMap; /// use std::collections::BTreeMap;
/// ///
/// let mut map = BTreeMap::new(); /// let mut map = BTreeMap::new();
@ -829,7 +824,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// assert_eq!(*map.get(&1).unwrap(), "a"); /// assert_eq!(*map.get(&1).unwrap(), "a");
/// assert_eq!(*map.get(&2).unwrap(), "last"); /// assert_eq!(*map.get(&2).unwrap(), "last");
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>> pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where where
K: Ord, K: Ord,
@ -853,7 +848,6 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// Draining elements in descending order, while keeping a usable map each iteration. /// Draining elements in descending order, while keeping a usable map each iteration.
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeMap; /// use std::collections::BTreeMap;
/// ///
/// let mut map = BTreeMap::new(); /// let mut map = BTreeMap::new();
@ -864,7 +858,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {
/// } /// }
/// assert!(map.is_empty()); /// assert!(map.is_empty());
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn pop_last(&mut self) -> Option<(K, V)> pub fn pop_last(&mut self) -> Option<(K, V)>
where where
K: Ord, K: Ord,

View File

@ -786,7 +786,6 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// Basic usage: /// Basic usage:
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeSet; /// use std::collections::BTreeSet;
/// ///
/// let mut set = BTreeSet::new(); /// let mut set = BTreeSet::new();
@ -797,7 +796,7 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// assert_eq!(set.first(), Some(&1)); /// assert_eq!(set.first(), Some(&1));
/// ``` /// ```
#[must_use] #[must_use]
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn first(&self) -> Option<&T> pub fn first(&self) -> Option<&T>
where where
T: Ord, T: Ord,
@ -813,7 +812,6 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// Basic usage: /// Basic usage:
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeSet; /// use std::collections::BTreeSet;
/// ///
/// let mut set = BTreeSet::new(); /// let mut set = BTreeSet::new();
@ -824,7 +822,7 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// assert_eq!(set.last(), Some(&2)); /// assert_eq!(set.last(), Some(&2));
/// ``` /// ```
#[must_use] #[must_use]
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn last(&self) -> Option<&T> pub fn last(&self) -> Option<&T>
where where
T: Ord, T: Ord,
@ -838,7 +836,6 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// # Examples /// # Examples
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeSet; /// use std::collections::BTreeSet;
/// ///
/// let mut set = BTreeSet::new(); /// let mut set = BTreeSet::new();
@ -849,7 +846,7 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// } /// }
/// assert!(set.is_empty()); /// assert!(set.is_empty());
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn pop_first(&mut self) -> Option<T> pub fn pop_first(&mut self) -> Option<T>
where where
T: Ord, T: Ord,
@ -863,7 +860,6 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// # Examples /// # Examples
/// ///
/// ``` /// ```
/// #![feature(map_first_last)]
/// use std::collections::BTreeSet; /// use std::collections::BTreeSet;
/// ///
/// let mut set = BTreeSet::new(); /// let mut set = BTreeSet::new();
@ -874,7 +870,7 @@ impl<T, A: Allocator + Clone> BTreeSet<T, A> {
/// } /// }
/// assert!(set.is_empty()); /// assert!(set.is_empty());
/// ``` /// ```
#[unstable(feature = "map_first_last", issue = "62924")] #[stable(feature = "map_first_last", since = "CURRENT_RUSTC_VERSION")]
pub fn pop_last(&mut self) -> Option<T> pub fn pop_last(&mut self) -> Option<T>
where where
T: Ord, T: Ord,

View File

@ -1,5 +1,4 @@
#![feature(rustc_private)] #![feature(rustc_private)]
#![feature(map_first_last)]
#![feature(map_try_insert)] #![feature(map_try_insert)]
#![feature(never_type)] #![feature(never_type)]
#![feature(try_blocks)] #![feature(try_blocks)]