@@ -55,12 +55,10 @@ struct Parameter {
55
55
56
56
impl Parameter {
57
57
fn is_variadic ( & self ) -> bool {
58
- match self . mode {
59
- ParameterMode :: VarArgs | ParameterMode :: VarKwargsUniform | ParameterMode :: VarKwargsUnpackedTypedDict => {
60
- true
61
- }
62
- _ => false ,
63
- }
58
+ matches ! (
59
+ self . mode,
60
+ ParameterMode :: VarArgs | ParameterMode :: VarKwargsUniform | ParameterMode :: VarKwargsUnpackedTypedDict
61
+ )
64
62
}
65
63
}
66
64
@@ -75,7 +73,7 @@ pub struct ArgumentsV3Validator {
75
73
}
76
74
77
75
impl BuildValidator for ArgumentsV3Validator {
78
- const EXPECTED_TYPE : & ' static str = "arguments-v2 " ;
76
+ const EXPECTED_TYPE : & ' static str = "arguments-v3 " ;
79
77
80
78
fn build (
81
79
schema : & Bound < ' _ , PyDict > ,
@@ -195,12 +193,12 @@ impl ArgumentsV3Validator {
195
193
let validate_by_alias = state. validate_by_alias_or ( self . validate_by_alias ) ;
196
194
let validate_by_name = state. validate_by_name_or ( self . validate_by_name ) ;
197
195
198
- for parameter in self . parameters . iter ( ) {
196
+ for parameter in & self . parameters {
199
197
let lookup_key = parameter
200
198
. lookup_key_collection
201
199
. select ( validate_by_alias, validate_by_name) ?;
202
200
// A value is present in the mapping:
203
- if let Some ( ( lookup_path, dict_value) ) = mapping. get_item ( & lookup_key) ? {
201
+ if let Some ( ( lookup_path, dict_value) ) = mapping. get_item ( lookup_key) ? {
204
202
match parameter. mode {
205
203
ParameterMode :: PositionalOnly | ParameterMode :: PositionalOrKeyword => {
206
204
match parameter. validator . validate ( py, dict_value. borrow_input ( ) , state) {
@@ -221,15 +219,15 @@ impl ArgumentsV3Validator {
221
219
match parameter. validator . validate ( py, v. unwrap ( ) . borrow_input ( ) , state) {
222
220
Ok ( tuple_value) => {
223
221
output_args. push ( tuple_value) ;
224
- return Ok ( ( ) ) ;
222
+ Ok ( ( ) )
225
223
}
226
224
Err ( ValError :: LineErrors ( line_errors) ) => {
227
225
errors. extend ( line_errors. into_iter ( ) . map ( |err| {
228
226
lookup_path. apply_error_loc ( err, self . loc_by_alias , & parameter. name )
229
227
} ) ) ;
230
- return Ok ( ( ) ) ;
228
+ Ok ( ( ) )
231
229
}
232
- Err ( err) => return Err ( err) ,
230
+ Err ( err) => Err ( err) ,
233
231
}
234
232
} ) ?;
235
233
}
@@ -241,7 +239,7 @@ impl ArgumentsV3Validator {
241
239
ParameterMode :: KeywordOnly => {
242
240
match parameter. validator . validate ( py, dict_value. borrow_input ( ) , state) {
243
241
Ok ( value) => {
244
- output_kwargs. set_item ( PyString :: new ( py, parameter. name . as_str ( ) ) . unbind ( ) , value) ?
242
+ output_kwargs. set_item ( PyString :: new ( py, parameter. name . as_str ( ) ) . unbind ( ) , value) ?;
245
243
}
246
244
Err ( ValError :: LineErrors ( line_errors) ) => {
247
245
errors. extend (
@@ -256,7 +254,7 @@ impl ArgumentsV3Validator {
256
254
ParameterMode :: VarKwargsUniform => match dict_value. borrow_input ( ) . as_kwargs ( py) {
257
255
// We will validate that keys are strings, and values match the validator:
258
256
Some ( value) => {
259
- for ( dict_key, dict_value) in value. into_iter ( ) {
257
+ for ( dict_key, dict_value) in value {
260
258
// Validate keys are strings:
261
259
match dict_key. validate_str ( true , false ) . map ( ValidationMatch :: into_inner) {
262
260
Ok ( _) => ( ) ,
@@ -346,9 +344,9 @@ impl ArgumentsV3Validator {
346
344
}
347
345
348
346
if !errors. is_empty ( ) {
349
- return Err ( ValError :: LineErrors ( errors) ) ;
347
+ Err ( ValError :: LineErrors ( errors) )
350
348
} else {
351
- return Ok ( ( PyTuple :: new ( py, output_args) ?, output_kwargs) . into_py_any ( py) ?) ;
349
+ Ok ( ( PyTuple :: new ( py, output_args) ?, output_kwargs) . into_py_any ( py) ?)
352
350
}
353
351
}
354
352
@@ -396,7 +394,7 @@ impl ArgumentsV3Validator {
396
394
parameter. mode,
397
395
ParameterMode :: PositionalOrKeyword | ParameterMode :: KeywordOnly
398
396
) {
399
- if let Some ( ( lookup_path, value) ) = kwargs. get_item ( & lookup_key) ? {
397
+ if let Some ( ( lookup_path, value) ) = kwargs. get_item ( lookup_key) ? {
400
398
used_kwargs. insert ( lookup_path. first_key ( ) ) ;
401
399
kw_value = Some ( ( lookup_path, value) ) ;
402
400
}
@@ -421,7 +419,7 @@ impl ArgumentsV3Validator {
421
419
( None , Some ( ( lookup_path, kw_value) ) ) => {
422
420
match parameter. validator . validate ( py, kw_value. borrow_input ( ) , state) {
423
421
Ok ( value) => {
424
- output_kwargs. set_item ( PyString :: new ( py, parameter. name . as_str ( ) ) . unbind ( ) , value) ?
422
+ output_kwargs. set_item ( PyString :: new ( py, parameter. name . as_str ( ) ) . unbind ( ) , value) ?;
425
423
}
426
424
Err ( ValError :: LineErrors ( line_errors) ) => {
427
425
errors. extend (
@@ -442,7 +440,7 @@ impl ArgumentsV3Validator {
442
440
parameter. mode,
443
441
ParameterMode :: PositionalOnly | ParameterMode :: PositionalOrKeyword
444
442
) {
445
- output_kwargs. set_item ( PyString :: new ( py, parameter. name . as_str ( ) ) . unbind ( ) , value) ?
443
+ output_kwargs. set_item ( PyString :: new ( py, parameter. name . as_str ( ) ) . unbind ( ) , value) ?;
446
444
} else {
447
445
output_args. push ( value) ;
448
446
}
@@ -601,9 +599,9 @@ impl ArgumentsV3Validator {
601
599
}
602
600
603
601
if !errors. is_empty ( ) {
604
- return Err ( ValError :: LineErrors ( errors) ) ;
602
+ Err ( ValError :: LineErrors ( errors) )
605
603
} else {
606
- return Ok ( ( PyTuple :: new ( py, output_args) ?, output_kwargs) . into_py_any ( py) ?) ;
604
+ Ok ( ( PyTuple :: new ( py, output_args) ?, output_kwargs) . into_py_any ( py) ?)
607
605
}
608
606
}
609
607
}
@@ -622,10 +620,10 @@ impl Validator for ArgumentsV3Validator {
622
620
623
621
// Validation from a dictionary, mapping parameter names to the values:
624
622
if let Ok ( dict) = args_dict {
625
- return self . validate_from_mapping ( py, input, dict, state) ;
623
+ self . validate_from_mapping ( py, input, dict, state)
626
624
} else {
627
625
let args = input. validate_args_v3 ( ) ?;
628
- return self . validate_from_argskwargs ( py, input, args, state) ;
626
+ self . validate_from_argskwargs ( py, input, args, state)
629
627
}
630
628
}
631
629
0 commit comments