@@ -1571,7 +1571,7 @@ impl<K, V, S> HashMap<K, V, S>
15711571 /// so that the map now contains keys which compare equal, search may start
15721572 /// acting erratically, with two keys randomly masking each other. Implementations
15731573 /// are free to assume this doesn't happen (within the limits of memory-safety).
1574- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1574+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
15751575 pub fn raw_entry_mut ( & mut self ) -> RawEntryBuilderMut < K , V , S > {
15761576 self . reserve ( 1 ) ;
15771577 RawEntryBuilderMut { map : self }
@@ -1592,7 +1592,7 @@ impl<K, V, S> HashMap<K, V, S>
15921592 /// `get` should be preferred.
15931593 ///
15941594 /// Immutable raw entries have very limited use; you might instead want `raw_entry_mut`.
1595- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1595+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
15961596 pub fn raw_entry ( & self ) -> RawEntryBuilder < K , V , S > {
15971597 RawEntryBuilder { map : self }
15981598 }
@@ -1844,7 +1844,7 @@ impl<'a, K, V> InternalEntry<K, V, &'a mut RawTable<K, V>> {
18441844///
18451845/// [`HashMap::raw_entry_mut`]: struct.HashMap.html#method.raw_entry_mut
18461846
1847- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1847+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
18481848pub struct RawEntryBuilderMut < ' a , K : ' a , V : ' a , S : ' a > {
18491849 map : & ' a mut HashMap < K , V , S > ,
18501850}
@@ -1858,7 +1858,7 @@ pub struct RawEntryBuilderMut<'a, K: 'a, V: 'a, S: 'a> {
18581858/// [`HashMap`]: struct.HashMap.html
18591859/// [`Entry`]: enum.Entry.html
18601860/// [`raw_entry`]: struct.HashMap.html#method.raw_entry
1861- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1861+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
18621862pub enum RawEntryMut < ' a , K : ' a , V : ' a , S : ' a > {
18631863 /// An occupied entry.
18641864 Occupied ( RawOccupiedEntryMut < ' a , K , V > ) ,
@@ -1870,7 +1870,7 @@ pub enum RawEntryMut<'a, K: 'a, V: 'a, S: 'a> {
18701870/// It is part of the [`RawEntryMut`] enum.
18711871///
18721872/// [`RawEntryMut`]: enum.RawEntryMut.html
1873- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1873+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
18741874pub struct RawOccupiedEntryMut < ' a , K : ' a , V : ' a > {
18751875 elem : FullBucket < K , V , & ' a mut RawTable < K , V > > ,
18761876}
@@ -1879,7 +1879,7 @@ pub struct RawOccupiedEntryMut<'a, K: 'a, V: 'a> {
18791879/// It is part of the [`RawEntryMut`] enum.
18801880///
18811881/// [`RawEntryMut`]: enum.RawEntryMut.html
1882- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1882+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
18831883pub struct RawVacantEntryMut < ' a , K : ' a , V : ' a , S : ' a > {
18841884 elem : VacantEntryState < K , V , & ' a mut RawTable < K , V > > ,
18851885 hash_builder : & ' a S ,
@@ -1890,7 +1890,7 @@ pub struct RawVacantEntryMut<'a, K: 'a, V: 'a, S: 'a> {
18901890/// See the [`HashMap::raw_entry`] docs for usage examples.
18911891///
18921892/// [`HashMap::raw_entry`]: struct.HashMap.html#method.raw_entry
1893- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1893+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
18941894pub struct RawEntryBuilder < ' a , K : ' a , V : ' a , S : ' a > {
18951895 map : & ' a HashMap < K , V , S > ,
18961896}
@@ -1900,7 +1900,7 @@ impl<'a, K, V, S> RawEntryBuilderMut<'a, K, V, S>
19001900 K : Eq + Hash ,
19011901{
19021902 /// Create a `RawEntryMut` from the given key.
1903- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1903+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
19041904 pub fn from_key < Q : ?Sized > ( self , k : & Q ) -> RawEntryMut < ' a , K , V , S >
19051905 where K : Borrow < Q > ,
19061906 Q : Hash + Eq
@@ -1911,7 +1911,7 @@ impl<'a, K, V, S> RawEntryBuilderMut<'a, K, V, S>
19111911 }
19121912
19131913 /// Create a `RawEntryMut` from the given key and its hash.
1914- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1914+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
19151915 pub fn from_key_hashed_nocheck < Q : ?Sized > ( self , hash : u64 , k : & Q ) -> RawEntryMut < ' a , K , V , S >
19161916 where K : Borrow < Q > ,
19171917 Q : Eq
@@ -1941,7 +1941,7 @@ impl<'a, K, V, S> RawEntryBuilderMut<'a, K, V, S>
19411941 }
19421942 }
19431943 /// Create a `RawEntryMut` from the given hash.
1944- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1944+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
19451945 pub fn from_hash < F > ( self , hash : u64 , is_match : F ) -> RawEntryMut < ' a , K , V , S >
19461946 where for < ' b > F : FnMut ( & ' b K ) -> bool ,
19471947 {
@@ -1951,7 +1951,7 @@ impl<'a, K, V, S> RawEntryBuilderMut<'a, K, V, S>
19511951 /// Search possible locations for an element with hash `hash` until `is_match` returns true for
19521952 /// one of them. There is no guarantee that all keys passed to `is_match` will have the provided
19531953 /// hash.
1954- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1954+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
19551955 pub fn search_bucket < F > ( self , hash : u64 , is_match : F ) -> RawEntryMut < ' a , K , V , S >
19561956 where for < ' b > F : FnMut ( & ' b K ) -> bool ,
19571957 {
@@ -1963,7 +1963,7 @@ impl<'a, K, V, S> RawEntryBuilder<'a, K, V, S>
19631963 where S : BuildHasher ,
19641964{
19651965 /// Access an entry by key.
1966- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1966+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
19671967 pub fn from_key < Q : ?Sized > ( self , k : & Q ) -> Option < ( & ' a K , & ' a V ) >
19681968 where K : Borrow < Q > ,
19691969 Q : Hash + Eq
@@ -1974,7 +1974,7 @@ impl<'a, K, V, S> RawEntryBuilder<'a, K, V, S>
19741974 }
19751975
19761976 /// Access an entry by a key and its hash.
1977- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
1977+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
19781978 pub fn from_key_hashed_nocheck < Q : ?Sized > ( self , hash : u64 , k : & Q ) -> Option < ( & ' a K , & ' a V ) >
19791979 where K : Borrow < Q > ,
19801980 Q : Hash + Eq
@@ -1997,7 +1997,7 @@ impl<'a, K, V, S> RawEntryBuilder<'a, K, V, S>
19971997 }
19981998
19991999 /// Access an entry by hash.
2000- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2000+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
20012001 pub fn from_hash < F > ( self , hash : u64 , is_match : F ) -> Option < ( & ' a K , & ' a V ) >
20022002 where F : FnMut ( & K ) -> bool
20032003 {
@@ -2007,7 +2007,7 @@ impl<'a, K, V, S> RawEntryBuilder<'a, K, V, S>
20072007 /// Search possible locations for an element with hash `hash` until `is_match` returns true for
20082008 /// one of them. There is no guarantee that all keys passed to `is_match` will have the provided
20092009 /// hash.
2010- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2010+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
20112011 pub fn search_bucket < F > ( self , hash : u64 , is_match : F ) -> Option < ( & ' a K , & ' a V ) >
20122012 where F : FnMut ( & K ) -> bool
20132013 {
@@ -2033,7 +2033,7 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> {
20332033 /// *map.raw_entry_mut().from_key("poneyland").or_insert("poneyland", 10).1 *= 2;
20342034 /// assert_eq!(map["poneyland"], 6);
20352035 /// ```
2036- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2036+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
20372037 pub fn or_insert ( self , default_key : K , default_val : V ) -> ( & ' a mut K , & ' a mut V )
20382038 where K : Hash ,
20392039 S : BuildHasher ,
@@ -2061,7 +2061,7 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> {
20612061 ///
20622062 /// assert_eq!(map["poneyland"], "hoho".to_string());
20632063 /// ```
2064- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2064+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
20652065 pub fn or_insert_with < F > ( self , default : F ) -> ( & ' a mut K , & ' a mut V )
20662066 where F : FnOnce ( ) -> ( K , V ) ,
20672067 K : Hash ,
@@ -2099,7 +2099,7 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> {
20992099 /// .or_insert("poneyland", 0);
21002100 /// assert_eq!(map["poneyland"], 43);
21012101 /// ```
2102- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2102+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21032103 pub fn and_modify < F > ( self , f : F ) -> Self
21042104 where F : FnOnce ( & mut K , & mut V )
21052105 {
@@ -2118,82 +2118,82 @@ impl<'a, K, V, S> RawEntryMut<'a, K, V, S> {
21182118
21192119impl < ' a , K , V > RawOccupiedEntryMut < ' a , K , V > {
21202120 /// Gets a reference to the key in the entry.
2121- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2121+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21222122 pub fn key ( & self ) -> & K {
21232123 self . elem . read ( ) . 0
21242124 }
21252125
21262126 /// Gets a mutable reference to the key in the entry.
2127- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2127+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21282128 pub fn key_mut ( & mut self ) -> & mut K {
21292129 self . elem . read_mut ( ) . 0
21302130 }
21312131
21322132 /// Converts the entry into a mutable reference to the key in the entry
21332133 /// with a lifetime bound to the map itself.
2134- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2134+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21352135 pub fn into_key ( self ) -> & ' a mut K {
21362136 self . elem . into_mut_refs ( ) . 0
21372137 }
21382138
21392139 /// Gets a reference to the value in the entry.
2140- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2140+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21412141 pub fn get ( & self ) -> & V {
21422142 self . elem . read ( ) . 1
21432143 }
21442144
21452145 /// Converts the OccupiedEntry into a mutable reference to the value in the entry
21462146 /// with a lifetime bound to the map itself.
2147- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2147+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21482148 pub fn into_mut ( self ) -> & ' a mut V {
21492149 self . elem . into_mut_refs ( ) . 1
21502150 }
21512151
21522152 /// Gets a mutable reference to the value in the entry.
2153- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2153+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21542154 pub fn get_mut ( & mut self ) -> & mut V {
21552155 self . elem . read_mut ( ) . 1
21562156 }
21572157
21582158 /// Gets a reference to the key and value in the entry.
2159- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2159+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21602160 pub fn get_key_value ( & mut self ) -> ( & K , & V ) {
21612161 self . elem . read ( )
21622162 }
21632163
21642164 /// Gets a mutable reference to the key and value in the entry.
2165- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2165+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21662166 pub fn get_key_value_mut ( & mut self ) -> ( & mut K , & mut V ) {
21672167 self . elem . read_mut ( )
21682168 }
21692169
21702170 /// Converts the OccupiedEntry into a mutable reference to the key and value in the entry
21712171 /// with a lifetime bound to the map itself.
2172- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2172+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21732173 pub fn into_key_value ( self ) -> ( & ' a mut K , & ' a mut V ) {
21742174 self . elem . into_mut_refs ( )
21752175 }
21762176
21772177 /// Sets the value of the entry, and returns the entry's old value.
2178- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2178+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21792179 pub fn insert ( & mut self , value : V ) -> V {
21802180 mem:: replace ( self . get_mut ( ) , value)
21812181 }
21822182
21832183 /// Sets the value of the entry, and returns the entry's old value.
2184- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2184+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21852185 pub fn insert_key ( & mut self , key : K ) -> K {
21862186 mem:: replace ( self . key_mut ( ) , key)
21872187 }
21882188
21892189 /// Takes the value out of the entry, and returns it.
2190- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2190+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21912191 pub fn remove ( self ) -> V {
21922192 pop_internal ( self . elem ) . 1
21932193 }
21942194
21952195 /// Take the ownership of the key and value from the map.
2196- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2196+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
21972197 pub fn remove_entry ( self ) -> ( K , V ) {
21982198 let ( k, v, _) = pop_internal ( self . elem ) ;
21992199 ( k, v)
@@ -2203,7 +2203,7 @@ impl<'a, K, V> RawOccupiedEntryMut<'a, K, V> {
22032203impl < ' a , K , V , S > RawVacantEntryMut < ' a , K , V , S > {
22042204 /// Sets the value of the entry with the VacantEntry's key,
22052205 /// and returns a mutable reference to it.
2206- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2206+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22072207 pub fn insert ( self , key : K , value : V ) -> ( & ' a mut K , & ' a mut V )
22082208 where K : Hash ,
22092209 S : BuildHasher ,
@@ -2215,7 +2215,7 @@ impl<'a, K, V, S> RawVacantEntryMut<'a, K, V, S> {
22152215
22162216 /// Sets the value of the entry with the VacantEntry's key,
22172217 /// and returns a mutable reference to it.
2218- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2218+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22192219 pub fn insert_hashed_nocheck ( self , hash : u64 , key : K , value : V ) -> ( & ' a mut K , & ' a mut V ) {
22202220 let hash = SafeHash :: new ( hash) ;
22212221 let b = match self . elem {
@@ -2236,15 +2236,15 @@ impl<'a, K, V, S> RawVacantEntryMut<'a, K, V, S> {
22362236 }
22372237}
22382238
2239- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2239+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22402240impl < ' a , K , V , S > Debug for RawEntryBuilderMut < ' a , K , V , S > {
22412241 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
22422242 f. debug_struct ( "RawEntryBuilder" )
22432243 . finish ( )
22442244 }
22452245}
22462246
2247- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2247+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22482248impl < ' a , K : Debug , V : Debug , S > Debug for RawEntryMut < ' a , K , V , S > {
22492249 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
22502250 match * self {
@@ -2262,7 +2262,7 @@ impl<'a, K: Debug, V: Debug, S> Debug for RawEntryMut<'a, K, V, S> {
22622262 }
22632263}
22642264
2265- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2265+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22662266impl < ' a , K : Debug , V : Debug > Debug for RawOccupiedEntryMut < ' a , K , V > {
22672267 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
22682268 f. debug_struct ( "RawOccupiedEntryMut" )
@@ -2272,15 +2272,15 @@ impl<'a, K: Debug, V: Debug> Debug for RawOccupiedEntryMut<'a, K, V> {
22722272 }
22732273}
22742274
2275- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2275+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22762276impl < ' a , K , V , S > Debug for RawVacantEntryMut < ' a , K , V , S > {
22772277 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
22782278 f. debug_struct ( "RawVacantEntryMut" )
22792279 . finish ( )
22802280 }
22812281}
22822282
2283- #[ unstable( feature = "hash_raw_entry" , issue = "54043 " ) ]
2283+ #[ unstable( feature = "hash_raw_entry" , issue = "56167 " ) ]
22842284impl < ' a , K , V , S > Debug for RawEntryBuilder < ' a , K , V , S > {
22852285 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
22862286 f. debug_struct ( "RawEntryBuilder" )
0 commit comments