File tree Expand file tree Collapse file tree 4 files changed +13
-14
lines changed Expand file tree Collapse file tree 4 files changed +13
-14
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ license = "Apache-2.0"
1010name = " sonic-rs"
1111readme = " README.md"
1212repository = " https://github.com/cloudwego/sonic-rs"
13- version = " 0.5.4 "
13+ version = " 0.5.5 "
1414
1515# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1616
Original file line number Diff line number Diff line change @@ -26,8 +26,8 @@ fn main() {
2626 let iter = unsafe { to_object_iter_unchecked ( & json) } ;
2727 for ret in iter {
2828 // deal with errors
29- if ret . is_err ( ) {
30- println ! ( "{}" , ret . unwrap_err ( ) ) ;
29+ if let Err ( e ) = ret {
30+ println ! ( "{}" , e ) ;
3131 return ;
3232 }
3333
Original file line number Diff line number Diff line change @@ -354,11 +354,6 @@ mod test {
354354 "Invalid UTF-8 characters in json at line 1 column 5\n \n \t \" \0 \0 \0 ��\" \n \t ....^..\n "
355355 ) ;
356356
357- #[ derive( Debug , Deserialize , Serialize , PartialEq ) ]
358- struct TestStruct {
359- char_ : char ,
360- }
361-
362357 // char's deserialize will iterator on the `str`
363358 let data = [ 34 , 255 , 34 ] ;
364359 let value: crate :: Result < char > = from_slice ( & data) ;
Original file line number Diff line number Diff line change @@ -154,9 +154,7 @@ impl serde::Serializer for Serializer {
154154 if value. is_finite ( ) {
155155 Ok ( unsafe { Value :: new_f64_unchecked ( value as f64 ) } )
156156 } else {
157- Err ( key_must_be_str_or_num ( Unexpected :: Other (
158- "NaN or Infinite f32" ,
159- ) ) )
157+ Ok ( Value :: new_null ( ) )
160158 }
161159 }
162160
@@ -165,9 +163,7 @@ impl serde::Serializer for Serializer {
165163 if value. is_finite ( ) {
166164 Ok ( unsafe { Value :: new_f64_unchecked ( value) } )
167165 } else {
168- Err ( key_must_be_str_or_num ( Unexpected :: Other (
169- "NaN or Infinite f64" ,
170- ) ) )
166+ Ok ( Value :: new_null ( ) )
171167 }
172168 }
173169
@@ -947,4 +943,12 @@ mod test {
947943
948944 assert_eq ! ( value[ "arr" ] [ 2 ] [ "app_name" ] . as_str( ) , Some ( "test" ) ) ;
949945 }
946+
947+ #[ test]
948+ fn test_inf_or_nan_to_value ( ) {
949+ assert_eq ! ( to_value( & f64 :: INFINITY ) . unwrap( ) , Value :: new_null( ) ) ;
950+ assert_eq ! ( to_value( & f64 :: NAN ) . unwrap( ) , Value :: new_null( ) ) ;
951+ assert_eq ! ( to_value( & f32 :: INFINITY ) . unwrap( ) , Value :: new_null( ) ) ;
952+ assert_eq ! ( to_value( & f32 :: NAN ) . unwrap( ) , Value :: new_null( ) ) ;
953+ }
950954}
You can’t perform that action at this time.
0 commit comments