diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-06-09 18:15:22 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-06-17 09:06:59 -0700 |
| commit | 6895311e859e1859f9b3f0adc9f1fbb4d2891534 (patch) | |
| tree | abefb3b1f9caa3a3d60f86439b4e6550a54f7692 /src/libstd/collections | |
| parent | d444d0c357e85c90e73585520e2da74304c7265a (diff) | |
| download | rust-6895311e859e1859f9b3f0adc9f1fbb4d2891534.tar.gz rust-6895311e859e1859f9b3f0adc9f1fbb4d2891534.zip | |
std: Split the `std_misc` feature
Diffstat (limited to 'src/libstd/collections')
| -rw-r--r-- | src/libstd/collections/hash/map.rs | 25 | ||||
| -rw-r--r-- | src/libstd/collections/hash/set.rs | 14 | ||||
| -rw-r--r-- | src/libstd/collections/hash/state.rs | 4 | ||||
| -rw-r--r-- | src/libstd/collections/mod.rs | 2 |
4 files changed, 23 insertions, 22 deletions
diff --git a/src/libstd/collections/hash/map.rs b/src/libstd/collections/hash/map.rs index e12814bf77c..1dca3b77f38 100644 --- a/src/libstd/collections/hash/map.rs +++ b/src/libstd/collections/hash/map.rs @@ -43,8 +43,7 @@ use super::table::BucketState::{ use super::state::HashState; const INITIAL_LOG2_CAP: usize = 5; -#[unstable(feature = "std_misc")] -pub const INITIAL_CAPACITY: usize = 1 << INITIAL_LOG2_CAP; // 2^5 +const INITIAL_CAPACITY: usize = 1 << INITIAL_LOG2_CAP; // 2^5 /// The default behavior of HashMap implements a load factor of 90.9%. /// This behavior is characterized by the following condition: @@ -544,7 +543,7 @@ impl<K, V, S> HashMap<K, V, S> /// # Examples /// /// ``` - /// # #![feature(std_misc)] + /// # #![feature(hashmap_hasher)] /// use std::collections::HashMap; /// use std::collections::hash_map::RandomState; /// @@ -553,7 +552,7 @@ impl<K, V, S> HashMap<K, V, S> /// map.insert(1, 2); /// ``` #[inline] - #[unstable(feature = "std_misc", reason = "hasher stuff is unclear")] + #[unstable(feature = "hashmap_hasher", reason = "hasher stuff is unclear")] pub fn with_hash_state(hash_state: S) -> HashMap<K, V, S> { HashMap { hash_state: hash_state, @@ -573,7 +572,7 @@ impl<K, V, S> HashMap<K, V, S> /// # Examples /// /// ``` - /// # #![feature(std_misc)] + /// # #![feature(hashmap_hasher)] /// use std::collections::HashMap; /// use std::collections::hash_map::RandomState; /// @@ -582,7 +581,7 @@ impl<K, V, S> HashMap<K, V, S> /// map.insert(1, 2); /// ``` #[inline] - #[unstable(feature = "std_misc", reason = "hasher stuff is unclear")] + #[unstable(feature = "hashmap_hasher", reason = "hasher stuff is unclear")] pub fn with_capacity_and_hash_state(capacity: usize, hash_state: S) -> HashMap<K, V, S> { let resize_policy = DefaultResizePolicy::new(); @@ -980,7 +979,7 @@ impl<K, V, S> HashMap<K, V, S> /// # Examples /// /// ``` - /// # #![feature(std_misc)] + /// # #![feature(drain)] /// use std::collections::HashMap; /// /// let mut a = HashMap::new(); @@ -995,7 +994,7 @@ impl<K, V, S> HashMap<K, V, S> /// assert!(a.is_empty()); /// ``` #[inline] - #[unstable(feature = "std_misc", + #[unstable(feature = "drain", reason = "matches collection reform specification, waiting for dust to settle")] pub fn drain(&mut self) -> Drain<K, V> { fn last_two<A, B, C>((_, b, c): (A, B, C)) -> (B, C) { (b, c) } @@ -1308,7 +1307,7 @@ impl<'a, K, V> Clone for Values<'a, K, V> { } /// HashMap drain iterator. -#[unstable(feature = "std_misc", +#[unstable(feature = "drain", reason = "matches collection reform specification, waiting for dust to settle")] pub struct Drain<'a, K: 'a, V: 'a> { inner: iter::Map<table::Drain<'a, K, V>, fn((SafeHash, K, V)) -> (K, V)> @@ -1480,7 +1479,7 @@ impl<'a, K, V> ExactSizeIterator for Drain<'a, K, V> { } impl<'a, K, V> Entry<'a, K, V> { - #[unstable(feature = "std_misc", + #[unstable(feature = "entry", reason = "will soon be replaced by or_insert")] #[deprecated(since = "1.0", reason = "replaced with more ergonomic `or_insert` and `or_insert_with`")] @@ -1596,14 +1595,14 @@ impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S> /// `Hasher`, but the hashers created by two different `RandomState` /// instances are unlikely to produce the same result for the same values. #[derive(Clone)] -#[unstable(feature = "std_misc", +#[unstable(feature = "hashmap_hasher", reason = "hashing an hash maps may be altered")] pub struct RandomState { k0: u64, k1: u64, } -#[unstable(feature = "std_misc", +#[unstable(feature = "hashmap_hasher", reason = "hashing an hash maps may be altered")] impl RandomState { /// Constructs a new `RandomState` that is initialized with random keys. @@ -1615,7 +1614,7 @@ impl RandomState { } } -#[unstable(feature = "std_misc", +#[unstable(feature = "hashmap_hasher", reason = "hashing an hash maps may be altered")] impl HashState for RandomState { type Hasher = SipHasher; diff --git a/src/libstd/collections/hash/set.rs b/src/libstd/collections/hash/set.rs index c31a46ada32..ba50b156ab2 100644 --- a/src/libstd/collections/hash/set.rs +++ b/src/libstd/collections/hash/set.rs @@ -20,9 +20,11 @@ use iter::{Iterator, IntoIterator, ExactSizeIterator, FromIterator, Map, Chain, use ops::{BitOr, BitAnd, BitXor, Sub}; use option::Option::{Some, None, self}; -use super::map::{self, HashMap, Keys, INITIAL_CAPACITY, RandomState}; +use super::map::{self, HashMap, Keys, RandomState}; use super::state::HashState; +const INITIAL_CAPACITY: usize = 32; + // Future Optimization (FIXME!) // ============================= // @@ -152,7 +154,7 @@ impl<T, S> HashSet<T, S> /// # Examples /// /// ``` - /// # #![feature(std_misc)] + /// # #![feature(hashmap_hasher)] /// use std::collections::HashSet; /// use std::collections::hash_map::RandomState; /// @@ -161,7 +163,7 @@ impl<T, S> HashSet<T, S> /// set.insert(2); /// ``` #[inline] - #[unstable(feature = "std_misc", reason = "hasher stuff is unclear")] + #[unstable(feature = "hashmap_hasher", reason = "hasher stuff is unclear")] pub fn with_hash_state(hash_state: S) -> HashSet<T, S> { HashSet::with_capacity_and_hash_state(INITIAL_CAPACITY, hash_state) } @@ -177,7 +179,7 @@ impl<T, S> HashSet<T, S> /// # Examples /// /// ``` - /// # #![feature(std_misc)] + /// # #![feature(hashmap_hasher)] /// use std::collections::HashSet; /// use std::collections::hash_map::RandomState; /// @@ -186,7 +188,7 @@ impl<T, S> HashSet<T, S> /// set.insert(1); /// ``` #[inline] - #[unstable(feature = "std_misc", reason = "hasher stuff is unclear")] + #[unstable(feature = "hashmap_hasher", reason = "hasher stuff is unclear")] pub fn with_capacity_and_hash_state(capacity: usize, hash_state: S) -> HashSet<T, S> { HashSet { @@ -406,7 +408,7 @@ impl<T, S> HashSet<T, S> /// Clears the set, returning all elements in an iterator. #[inline] - #[unstable(feature = "std_misc", + #[unstable(feature = "drain", reason = "matches collection reform specification, waiting for dust to settle")] pub fn drain(&mut self) -> Drain<T> { fn first<A, B>((a, _): (A, B)) -> A { a } diff --git a/src/libstd/collections/hash/state.rs b/src/libstd/collections/hash/state.rs index 3a06d2d03bf..365e6268b3b 100644 --- a/src/libstd/collections/hash/state.rs +++ b/src/libstd/collections/hash/state.rs @@ -8,6 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +#![unstable(feature = "hashmap_hasher", reason = "hasher stuff is unclear")] + use clone::Clone; use default::Default; use hash; @@ -25,7 +27,6 @@ use marker; /// algorithm can implement the `Default` trait and create hash maps with the /// `DefaultState` structure. This state is 0-sized and will simply delegate /// to `Default` when asked to create a hasher. -#[unstable(feature = "std_misc", reason = "hasher stuff is unclear")] pub trait HashState { /// Type of the hasher that will be created. type Hasher: hash::Hasher; @@ -38,7 +39,6 @@ pub trait HashState { /// default trait. /// /// This struct has is 0-sized and does not need construction. -#[unstable(feature = "std_misc", reason = "hasher stuff is unclear")] pub struct DefaultState<H>(marker::PhantomData<H>); impl<H: Default + hash::Hasher> HashState for DefaultState<H> { diff --git a/src/libstd/collections/mod.rs b/src/libstd/collections/mod.rs index 4781f2b4754..3f0b223b997 100644 --- a/src/libstd/collections/mod.rs +++ b/src/libstd/collections/mod.rs @@ -410,7 +410,7 @@ pub mod hash_set { /// Experimental support for providing custom hash algorithms to a HashMap and /// HashSet. -#[unstable(feature = "std_misc", reason = "module was recently added")] +#[unstable(feature = "hashmap_hasher", reason = "module was recently added")] pub mod hash_state { pub use super::hash::state::*; } |
