This repository was archived by the owner on Dec 29, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +8
-17
lines changed Expand file tree Collapse file tree 2 files changed +8
-17
lines changed Original file line number Diff line number Diff line change @@ -275,25 +275,16 @@ impl InitializationOptions {
275
275
/// "rust", all first level keys of rust's value are converted to
276
276
/// snake_case, duplicated and unknown keys are reported
277
277
pub fn try_deserialize (
278
- val : & serde_json:: value:: Value ,
278
+ mut val : serde_json:: value:: Value ,
279
279
dups : & mut std:: collections:: HashMap < String , Vec < String > > ,
280
280
unknowns : & mut Vec < String > ,
281
281
) -> Result < InitializationOptions , ( ) > {
282
- let mut val = val. to_owned ( ) ;
283
- let mut set = None ;
284
- if let Some ( set1) = val. get_mut ( "settings" ) {
285
- set = Some ( set1. take ( ) ) ;
286
- }
287
- let mut ret: InitializationOptions = match serde_json:: from_value ( val) {
288
- Ok ( ret) => ret,
289
- _ => return Err ( ( ) ) ,
290
- } ;
291
- if let Some ( set) = set {
292
- if let Ok ( set) = ChangeConfigSettings :: try_deserialize ( & set, dups, unknowns) {
293
- ret. settings = Some ( set) ;
294
- }
295
- }
296
- Ok ( ret)
282
+ let settings = val
283
+ . get_mut ( "settings" )
284
+ . map ( |x| x. take ( ) )
285
+ . and_then ( |set| ChangeConfigSettings :: try_deserialize ( & set, dups, unknowns) . ok ( ) ) ;
286
+
287
+ Ok ( InitializationOptions { settings, ..serde_json:: from_value ( val) . map_err ( |_| ( ) ) ? } )
297
288
}
298
289
}
299
290
Original file line number Diff line number Diff line change @@ -133,7 +133,7 @@ impl BlockingRequestAction for InitializeRequest {
133
133
. initialization_options
134
134
. take ( )
135
135
. and_then ( |opt| {
136
- InitializationOptions :: try_deserialize ( & opt, & mut dups, & mut unknowns) . ok ( )
136
+ InitializationOptions :: try_deserialize ( opt, & mut dups, & mut unknowns) . ok ( )
137
137
} )
138
138
. unwrap_or_default ( ) ;
139
139
You can’t perform that action at this time.
0 commit comments