@@ -143,7 +143,7 @@ impl BuildValidator for ArgumentsValidator {
143
143
144
144
let py_var_kwargs_mode: Bound < PyString > = schema
145
145
. get_as ( intern ! ( py, "var_kwargs_mode" ) ) ?
146
- . unwrap_or_else ( || PyString :: new_bound ( py, "single " ) ) ;
146
+ . unwrap_or_else ( || PyString :: new_bound ( py, "uniform " ) ) ;
147
147
148
148
let var_kwargs_mode = VarKwargsMode :: from_str ( py_var_kwargs_mode. to_str ( ) ?) ?;
149
149
let var_kwargs_validator = match schema. get_item ( intern ! ( py, "var_kwargs_schema" ) ) ? {
@@ -293,11 +293,12 @@ impl Validator for ArgumentsValidator {
293
293
}
294
294
}
295
295
}
296
+
297
+ let remaining_kwargs = PyDict :: new_bound ( py) ;
298
+
296
299
// if there are kwargs check any that haven't been processed yet
297
300
if let Some ( kwargs) = args. kwargs ( ) {
298
301
if kwargs. len ( ) > used_kwargs. len ( ) {
299
- let remaining_kwargs = PyDict :: new_bound ( py) ;
300
-
301
302
for result in kwargs. iter ( ) {
302
303
let ( raw_key, value) = result?;
303
304
let either_str = match raw_key
@@ -349,24 +350,24 @@ impl Validator for ArgumentsValidator {
349
350
}
350
351
}
351
352
}
353
+ }
354
+ }
352
355
353
- if self . var_kwargs_mode == VarKwargsMode :: UnpackedTypedDict {
354
- // `var_kwargs_validator` is guaranteed to be `Some`:
355
- match self
356
- . var_kwargs_validator
357
- . as_ref ( )
358
- . unwrap ( )
359
- . validate ( py, remaining_kwargs. as_any ( ) , state)
360
- {
361
- Ok ( value) => {
362
- output_kwargs. update ( value. downcast_bound :: < PyDict > ( py) . unwrap ( ) . as_mapping ( ) ) ?;
363
- }
364
- Err ( ValError :: LineErrors ( line_errors) ) => {
365
- errors. extend ( line_errors) ;
366
- }
367
- Err ( err) => return Err ( err) ,
368
- }
356
+ if self . var_kwargs_mode == VarKwargsMode :: UnpackedTypedDict {
357
+ // `var_kwargs_validator` is guaranteed to be `Some`:
358
+ match self
359
+ . var_kwargs_validator
360
+ . as_ref ( )
361
+ . unwrap ( )
362
+ . validate ( py, remaining_kwargs. as_any ( ) , state)
363
+ {
364
+ Ok ( value) => {
365
+ output_kwargs. update ( value. downcast_bound :: < PyDict > ( py) . unwrap ( ) . as_mapping ( ) ) ?;
366
+ }
367
+ Err ( ValError :: LineErrors ( line_errors) ) => {
368
+ errors. extend ( line_errors) ;
369
369
}
370
+ Err ( err) => return Err ( err) ,
370
371
}
371
372
}
372
373
0 commit comments