@@ -356,6 +356,30 @@ impl RandomState {
356356 use crate :: specialize:: CallHasher ;
357357 T :: get_hash ( & x, self )
358358 }
359+
360+ #[ inline]
361+ pub ( crate ) fn hash_as_u64 < T : Hash + ?Sized > ( & self , value : & T ) -> u64 {
362+ let mut hasher = AHasherU64 {
363+ buffer : self . k1 ,
364+ pad : self . k0 ,
365+ } ;
366+ value. hash ( & mut hasher) ;
367+ hasher. finish ( )
368+ }
369+
370+ #[ inline]
371+ pub ( crate ) fn hash_as_fixed_length < T : Hash + ?Sized > ( & self , value : & T ) -> u64 {
372+ let mut hasher = AHasherFixed ( self . build_hasher ( ) ) ;
373+ value. hash ( & mut hasher) ;
374+ hasher. finish ( )
375+ }
376+
377+ #[ inline]
378+ pub ( crate ) fn hash_as_str < T : Hash + ?Sized > ( & self , value : & T ) -> u64 {
379+ let mut hasher = AHasherStr ( self . build_hasher ( ) ) ;
380+ value. hash ( & mut hasher) ;
381+ hasher. finish ( )
382+ }
359383}
360384
361385/// Creates an instance of RandomState using keys obtained from the random number generator.
@@ -460,33 +484,6 @@ impl BuildHasher for RandomState {
460484 }
461485}
462486
463- #[ cfg( specialize) ]
464- impl RandomState {
465- #[ inline]
466- pub ( crate ) fn hash_as_u64 < T : Hash + ?Sized > ( & self , value : & T ) -> u64 {
467- let mut hasher = AHasherU64 {
468- buffer : self . k1 ,
469- pad : self . k0 ,
470- } ;
471- value. hash ( & mut hasher) ;
472- hasher. finish ( )
473- }
474-
475- #[ inline]
476- pub ( crate ) fn hash_as_fixed_length < T : Hash + ?Sized > ( & self , value : & T ) -> u64 {
477- let mut hasher = AHasherFixed ( self . build_hasher ( ) ) ;
478- value. hash ( & mut hasher) ;
479- hasher. finish ( )
480- }
481-
482- #[ inline]
483- pub ( crate ) fn hash_as_str < T : Hash + ?Sized > ( & self , value : & T ) -> u64 {
484- let mut hasher = AHasherStr ( self . build_hasher ( ) ) ;
485- value. hash ( & mut hasher) ;
486- hasher. finish ( )
487- }
488- }
489-
490487#[ cfg( test) ]
491488mod test {
492489 use super :: * ;
0 commit comments