File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -77,6 +77,13 @@ impl serde::Serializer for Serializer {
77
77
Ok ( Value :: Number ( value. into ( ) ) )
78
78
}
79
79
80
+ serde_if_integer128 ! {
81
+ #[ cfg( feature = "arbitrary_precision" ) ]
82
+ fn serialize_i128( self , value: i128 ) -> Result <Value , Error > {
83
+ Ok ( Value :: Number ( Number :: from_string_unchecked( value. to_string( ) ) ) )
84
+ }
85
+ }
86
+
80
87
#[ inline]
81
88
fn serialize_u8 ( self , value : u8 ) -> Result < Value , Error > {
82
89
self . serialize_u64 ( value as u64 )
@@ -97,6 +104,13 @@ impl serde::Serializer for Serializer {
97
104
Ok ( Value :: Number ( value. into ( ) ) )
98
105
}
99
106
107
+ serde_if_integer128 ! {
108
+ #[ cfg( feature = "arbitrary_precision" ) ]
109
+ fn serialize_u128( self , value: u128 ) -> Result <Value , Error > {
110
+ Ok ( Value :: Number ( Number :: from_string_unchecked( value. to_string( ) ) ) )
111
+ }
112
+ }
113
+
100
114
#[ inline]
101
115
fn serialize_f32 ( self , value : f32 ) -> Result < Value , Error > {
102
116
self . serialize_f64 ( value as f64 )
Original file line number Diff line number Diff line change @@ -1909,6 +1909,13 @@ fn test_partialeq_number() {
1909
1909
) ;
1910
1910
}
1911
1911
1912
+ #[ test]
1913
+ #[ cfg( integer128) ]
1914
+ #[ cfg( feature = "arbitrary_precision" ) ]
1915
+ fn test_partialeq_integer128 ( ) {
1916
+ number_partialeq_ok ! ( i128 :: MIN i128 :: MAX u128 :: MIN u128 :: MAX )
1917
+ }
1918
+
1912
1919
#[ test]
1913
1920
fn test_partialeq_string ( ) {
1914
1921
let v = to_value ( "42" ) . unwrap ( ) ;
You can’t perform that action at this time.
0 commit comments