@@ -285,10 +285,9 @@ impl<K: Eq + Hash, V, S: BuildHasher> LruCache<K, V, S, Count> {
285285 /// assert_eq!(cache.get_mut(&1), None);
286286 /// assert_eq!(cache.get_mut(&2), Some(&mut "c"));
287287 /// ```
288- pub fn get_mut < Q : ?Sized > ( & mut self , k : & Q ) -> Option < & mut V >
288+ pub fn get_mut < Q : Hash + Eq + ?Sized > ( & mut self , k : & Q ) -> Option < & mut V >
289289 where
290290 K : Borrow < Q > ,
291- Q : Hash + Eq ,
292291 {
293292 self . map . get_refresh ( k)
294293 }
@@ -367,18 +366,16 @@ impl<K: Eq + Hash, V, S: BuildHasher, M: CountableMeter<K, V>> LruCache<K, V, S,
367366 /// cache.insert(1, "a");
368367 /// assert!(cache.contains_key(&1));
369368 /// ```
370- pub fn contains_key < Q : ?Sized > ( & self , key : & Q ) -> bool
369+ pub fn contains_key < Q : Hash + Eq + ?Sized > ( & self , key : & Q ) -> bool
371370 where
372371 K : Borrow < Q > ,
373- Q : Hash + Eq ,
374372 {
375373 self . map . contains_key ( key)
376374 }
377375
378- pub fn get < Q : ?Sized > ( & mut self , k : & Q ) -> Option < & V >
376+ pub fn get < Q : Hash + Eq + ?Sized > ( & mut self , k : & Q ) -> Option < & V >
379377 where
380378 K : Borrow < Q > ,
381- Q : Hash + Eq ,
382379 {
383380 self . map . get_refresh ( k) . map ( |v| v as & V )
384381 }
@@ -429,10 +426,9 @@ impl<K: Eq + Hash, V, S: BuildHasher, M: CountableMeter<K, V>> LruCache<K, V, S,
429426 /// assert_eq!(cache.remove(&2), None);
430427 /// assert_eq!(cache.len(), 0);
431428 /// ```
432- pub fn remove < Q : ?Sized > ( & mut self , k : & Q ) -> Option < V >
429+ pub fn remove < Q : Hash + Eq + ?Sized > ( & mut self , k : & Q ) -> Option < V >
433430 where
434431 K : Borrow < Q > ,
435- Q : Hash + Eq ,
436432 {
437433 self . map . remove ( k) . map ( |v| {
438434 self . current_measure = self
0 commit comments