@@ -454,7 +454,8 @@ impl BuildValidator for DataclassValidator {
454
454
) ?) ?,
455
455
name,
456
456
frozen : schema. get_as ( intern ! ( py, "frozen" ) ) ?. unwrap_or ( false ) ,
457
- slots : matches ! ( class. hasattr( intern!( class. py( ) , "__slots__" ) ) , Ok ( true ) ) | schema. get_as ( intern ! ( py, "slots" ) ) ?. unwrap_or ( false ) ,
457
+ slots : matches ! ( class. hasattr( intern!( class. py( ) , "__slots__" ) ) , Ok ( true ) )
458
+ | schema. get_as ( intern ! ( py, "slots" ) ) ?. unwrap_or ( false ) ,
458
459
}
459
460
. into ( ) )
460
461
}
@@ -480,17 +481,29 @@ impl Validator for DataclassValidator {
480
481
if self . revalidate . should_revalidate ( input, class) {
481
482
let mut validator_input = PyDict :: new ( py) ;
482
483
if self . slots {
483
- let slots = input. input_get_attr ( intern ! ( py, "__slots__" ) ) . unwrap ( ) ?. downcast :: < PyTuple > ( ) ?;
484
+ let slots = input
485
+ . input_get_attr ( intern ! ( py, "__slots__" ) )
486
+ . unwrap ( ) ?
487
+ . downcast :: < PyTuple > ( ) ?;
484
488
for key in slots. iter ( ) {
485
489
let key: & PyString = key. downcast ( ) ?;
486
490
validator_input. set_item ( key, input. input_get_attr ( key) . unwrap ( ) ?) ?;
487
491
}
488
492
} else {
489
- validator_input = input. input_get_attr ( intern ! ( py, "__dict__" ) ) . unwrap ( ) ?. downcast :: < PyDict > ( ) ?;
493
+ validator_input = input
494
+ . input_get_attr ( intern ! ( py, "__dict__" ) )
495
+ . unwrap ( ) ?
496
+ . downcast :: < PyDict > ( ) ?;
490
497
}
491
498
let val_output = self
492
499
. validator
493
- . validate ( py, validator_input. downcast :: < PyAny > ( ) ?, extra, definitions, recursion_guard) ?;
500
+ . validate (
501
+ py,
502
+ validator_input. downcast :: < PyAny > ( ) ?,
503
+ extra,
504
+ definitions,
505
+ recursion_guard
506
+ ) ?;
494
507
let dc = create_class ( self . class . as_ref ( py) ) ?;
495
508
self . set_dict_call ( py, dc. as_ref ( py) , val_output, input) ?;
496
509
Ok ( dc)
@@ -532,7 +545,10 @@ impl Validator for DataclassValidator {
532
545
let dict_py_str = intern ! ( py, "__dict__" ) ;
533
546
534
547
if self . slots {
535
- let slots = obj. input_get_attr ( intern ! ( py, "__slots__" ) ) . unwrap ( ) ?. downcast :: < PyTuple > ( ) ?;
548
+ let slots = obj
549
+ . input_get_attr ( intern ! ( py, "__slots__" ) )
550
+ . unwrap ( ) ?
551
+ . downcast :: < PyTuple > ( ) ?;
536
552
for key in slots. iter ( ) {
537
553
let key: & PyString = key. downcast ( ) ?;
538
554
dict. set_item ( key, obj. input_get_attr ( key) . unwrap ( ) ?) ?;
0 commit comments