@@ -30,11 +30,12 @@ use serde_json::{
3030 from_reader, from_slice, from_str, from_value, json, to_string, to_string_pretty, to_value,
3131 to_vec, Deserializer , Number , Value ,
3232} ;
33- use std:: collections:: hash_map:: DefaultHasher ;
3433use std:: collections:: BTreeMap ;
3534#[ cfg( feature = "raw_value" ) ]
3635use std:: collections:: HashMap ;
3736use std:: fmt:: { self , Debug } ;
37+ use std:: hash:: BuildHasher ;
38+ #[ cfg( feature = "raw_value" ) ]
3839use std:: hash:: { Hash , Hasher } ;
3940use std:: io;
4041use std:: iter;
@@ -2490,19 +2491,15 @@ fn test_value_into_deserializer() {
24902491
24912492#[ test]
24922493fn hash_positive_and_negative_zero ( ) {
2493- fn hash ( obj : impl Hash ) -> u64 {
2494- let mut hasher = DefaultHasher :: new ( ) ;
2495- obj. hash ( & mut hasher) ;
2496- hasher. finish ( )
2497- }
2494+ let rand = std:: hash:: RandomState :: new ( ) ;
24982495
24992496 let k1 = serde_json:: from_str :: < Number > ( "0.0" ) . unwrap ( ) ;
25002497 let k2 = serde_json:: from_str :: < Number > ( "-0.0" ) . unwrap ( ) ;
25012498 if cfg ! ( feature = "arbitrary_precision" ) {
25022499 assert_ne ! ( k1, k2) ;
2503- assert_ne ! ( hash ( k1) , hash ( k2) ) ;
2500+ assert_ne ! ( rand . hash_one ( k1) , rand . hash_one ( k2) ) ;
25042501 } else {
25052502 assert_eq ! ( k1, k2) ;
2506- assert_eq ! ( hash ( k1) , hash ( k2) ) ;
2503+ assert_eq ! ( rand . hash_one ( k1) , rand . hash_one ( k2) ) ;
25072504 }
25082505}
0 commit comments