@@ -161,7 +161,9 @@ use serde::{Deserialize, Deserializer, Serialize};
161
161
162
162
/// deserialize Option<f64> from string or float
163
163
pub ( crate ) fn deserialize_option_f64 < ' de , D > ( deserializer : D ) -> Result < Option < f64 > , D :: Error >
164
- where D : Deserializer < ' de > {
164
+ where
165
+ D : Deserializer < ' de > ,
166
+ {
165
167
struct StringOrFloatVisitor ;
166
168
167
169
impl < ' de > Visitor < ' de > for StringOrFloatVisitor {
@@ -172,41 +174,46 @@ where D: Deserializer<'de> {
172
174
}
173
175
174
176
fn visit_str < E > ( self , value : & str ) -> Result < Self :: Value , E >
175
- where E : de:: Error {
176
- value. parse :: < f64 > ( ) . map ( Some ) . map_err ( |_err| {
177
- de:: Error :: custom ( format ! ( "Failed to parse f64 from string: {:?}" , value) )
178
- } )
179
- }
180
-
181
- fn visit_string < E > ( self , value : String ) -> Result < Self :: Value , E >
182
- where E : de:: Error {
177
+ where
178
+ E : de:: Error ,
179
+ {
183
180
value. parse :: < f64 > ( ) . map ( Some ) . map_err ( |_err| {
184
181
de:: Error :: custom ( format ! ( "Failed to parse f64 from string: {:?}" , value) )
185
182
} )
186
183
}
187
184
188
185
fn visit_f64 < E > ( self , value : f64 ) -> Result < Self :: Value , E >
189
- where E : de:: Error {
186
+ where
187
+ E : de:: Error ,
188
+ {
190
189
Ok ( Some ( value) )
191
190
}
192
191
193
192
fn visit_i64 < E > ( self , value : i64 ) -> Result < Self :: Value , E >
194
- where E : de:: Error {
193
+ where
194
+ E : de:: Error ,
195
+ {
195
196
Ok ( Some ( value as f64 ) )
196
197
}
197
198
198
199
fn visit_u64 < E > ( self , value : u64 ) -> Result < Self :: Value , E >
199
- where E : de:: Error {
200
+ where
201
+ E : de:: Error ,
202
+ {
200
203
Ok ( Some ( value as f64 ) )
201
204
}
202
205
203
206
fn visit_none < E > ( self ) -> Result < Self :: Value , E >
204
- where E : de:: Error {
207
+ where
208
+ E : de:: Error ,
209
+ {
205
210
Ok ( None )
206
211
}
207
212
208
213
fn visit_unit < E > ( self ) -> Result < Self :: Value , E >
209
- where E : de:: Error {
214
+ where
215
+ E : de:: Error ,
216
+ {
210
217
Ok ( None )
211
218
}
212
219
}
@@ -216,7 +223,9 @@ where D: Deserializer<'de> {
216
223
217
224
/// deserialize f64 from string or float
218
225
pub ( crate ) fn deserialize_f64 < ' de , D > ( deserializer : D ) -> Result < f64 , D :: Error >
219
- where D : Deserializer < ' de > {
226
+ where
227
+ D : Deserializer < ' de > ,
228
+ {
220
229
struct StringOrFloatVisitor ;
221
230
222
231
impl < ' de > Visitor < ' de > for StringOrFloatVisitor {
@@ -227,31 +236,32 @@ where D: Deserializer<'de> {
227
236
}
228
237
229
238
fn visit_str < E > ( self , value : & str ) -> Result < Self :: Value , E >
230
- where E : de:: Error {
231
- value. parse :: < f64 > ( ) . map_err ( |_err| {
232
- de:: Error :: custom ( format ! ( "Failed to parse f64 from string: {:?}" , value) )
233
- } )
234
- }
235
-
236
- fn visit_string < E > ( self , value : String ) -> Result < Self :: Value , E >
237
- where E : de:: Error {
239
+ where
240
+ E : de:: Error ,
241
+ {
238
242
value. parse :: < f64 > ( ) . map_err ( |_err| {
239
243
de:: Error :: custom ( format ! ( "Failed to parse f64 from string: {:?}" , value) )
240
244
} )
241
245
}
242
246
243
247
fn visit_f64 < E > ( self , value : f64 ) -> Result < Self :: Value , E >
244
- where E : de:: Error {
248
+ where
249
+ E : de:: Error ,
250
+ {
245
251
Ok ( value)
246
252
}
247
253
248
254
fn visit_i64 < E > ( self , value : i64 ) -> Result < Self :: Value , E >
249
- where E : de:: Error {
255
+ where
256
+ E : de:: Error ,
257
+ {
250
258
Ok ( value as f64 )
251
259
}
252
260
253
261
fn visit_u64 < E > ( self , value : u64 ) -> Result < Self :: Value , E >
254
- where E : de:: Error {
262
+ where
263
+ E : de:: Error ,
264
+ {
255
265
Ok ( value as f64 )
256
266
}
257
267
}
0 commit comments