@@ -248,16 +248,16 @@ impl<K: Hash + Eq, V, S: HashState> LinkedHashMap<K, V, S> {
248
248
/// map.insert(2, "b");
249
249
/// map.insert(3, "d");
250
250
///
251
- /// assert_eq!(map.get_refresh(&2), Some(&"b"));
251
+ /// assert_eq!(map.get_refresh(&2), Some(&mut "b"));
252
252
///
253
253
/// assert_eq!((&2, &"b"), map.iter().rev().next().unwrap());
254
254
/// ```
255
- pub fn get_refresh < Q : ?Sized > ( & mut self , k : & Q ) -> Option < & V > where K : Borrow < Q > , Q : Eq + Hash {
255
+ pub fn get_refresh < Q : ?Sized > ( & mut self , k : & Q ) -> Option < & mut V > where K : Borrow < Q > , Q : Eq + Hash {
256
256
let ( value, node_ptr_opt) = match self . map . get_mut ( Qey :: from_ref ( k) ) {
257
257
None => ( None , None ) ,
258
258
Some ( node) => {
259
259
let node_ptr: * mut LinkedHashMapEntry < K , V > = & mut * * node;
260
- ( Some ( unsafe { & ( * node_ptr) . value } ) , Some ( node_ptr) )
260
+ ( Some ( unsafe { & mut ( * node_ptr) . value } ) , Some ( node_ptr) )
261
261
}
262
262
} ;
263
263
match node_ptr_opt {
@@ -842,7 +842,7 @@ mod tests {
842
842
assert_eq ! ( format!( "{:?}" , map) , "{1: 10, 3: 30, 2: 22}" ) ;
843
843
map. get ( & 3 ) ;
844
844
assert_eq ! ( format!( "{:?}" , map) , "{1: 10, 3: 30, 2: 22}" ) ;
845
- map. get_refresh ( & 3 ) ;
845
+ map. get_refresh ( & mut 3 ) ;
846
846
assert_eq ! ( format!( "{:?}" , map) , "{1: 10, 2: 22, 3: 30}" ) ;
847
847
map. clear ( ) ;
848
848
assert_eq ! ( format!( "{:?}" , map) , "{}" ) ;
@@ -994,10 +994,10 @@ mod tests {
994
994
assert_eq ! ( map. get( & Foo ( Bar ( 1 ) ) ) , Some ( & "a" ) ) ;
995
995
assert_eq ! ( map. get( & Foo ( Bar ( 2 ) ) ) , Some ( & "b" ) ) ;
996
996
997
- assert_eq ! ( map. get_refresh( & Bar ( 1 ) ) , Some ( & "a" ) ) ;
998
- assert_eq ! ( map. get_refresh( & Bar ( 2 ) ) , Some ( & "b" ) ) ;
999
- assert_eq ! ( map. get_refresh( & Foo ( Bar ( 1 ) ) ) , Some ( & "a" ) ) ;
1000
- assert_eq ! ( map. get_refresh( & Foo ( Bar ( 2 ) ) ) , Some ( & "b" ) ) ;
997
+ assert_eq ! ( map. get_refresh( & Bar ( 1 ) ) , Some ( & mut "a" ) ) ;
998
+ assert_eq ! ( map. get_refresh( & Bar ( 2 ) ) , Some ( & mut "b" ) ) ;
999
+ assert_eq ! ( map. get_refresh( & Foo ( Bar ( 1 ) ) ) , Some ( & mut "a" ) ) ;
1000
+ assert_eq ! ( map. get_refresh( & Foo ( Bar ( 2 ) ) ) , Some ( & mut "b" ) ) ;
1001
1001
1002
1002
assert_eq ! ( map. get_mut( & Bar ( 1 ) ) , Some ( & mut "a" ) ) ;
1003
1003
assert_eq ! ( map. get_mut( & Bar ( 2 ) ) , Some ( & mut "b" ) ) ;
0 commit comments