@@ -2718,7 +2718,8 @@ class CustomerModel:
2718
2718
"eq_default" : True ,
2719
2719
"order_default" : False ,
2720
2720
"kw_only_default" : True ,
2721
- "field_descriptors" : (),
2721
+ "field_specifiers" : (),
2722
+ "kwargs" : {},
2722
2723
}
2723
2724
)
2724
2725
self .assertIs (
@@ -2730,7 +2731,12 @@ def test_base_class(self):
2730
2731
class ModelBase :
2731
2732
def __init_subclass__ (cls , * , frozen : bool = False ): ...
2732
2733
2733
- Decorated = dataclass_transform (eq_default = True , order_default = True )(ModelBase )
2734
+ Decorated = dataclass_transform (
2735
+ eq_default = True ,
2736
+ order_default = True ,
2737
+ # Arbitrary unrecognized kwargs are accepted at runtime.
2738
+ make_everything_awesome = True ,
2739
+ )(ModelBase )
2734
2740
2735
2741
class CustomerModel (Decorated , frozen = True ):
2736
2742
id : int
@@ -2742,7 +2748,8 @@ class CustomerModel(Decorated, frozen=True):
2742
2748
"eq_default" : True ,
2743
2749
"order_default" : True ,
2744
2750
"kw_only_default" : False ,
2745
- "field_descriptors" : (),
2751
+ "field_specifiers" : (),
2752
+ "kwargs" : {"make_everything_awesome" : True },
2746
2753
}
2747
2754
)
2748
2755
self .assertIsSubclass (CustomerModel , Decorated )
@@ -2757,7 +2764,7 @@ def __new__(
2757
2764
return super ().__new__ (cls , name , bases , namespace )
2758
2765
2759
2766
Decorated = dataclass_transform (
2760
- order_default = True , field_descriptors = (Field ,)
2767
+ order_default = True , field_specifiers = (Field ,)
2761
2768
)(ModelMeta )
2762
2769
2763
2770
class ModelBase (metaclass = Decorated ): ...
@@ -2772,7 +2779,8 @@ class CustomerModel(ModelBase, init=False):
2772
2779
"eq_default" : True ,
2773
2780
"order_default" : True ,
2774
2781
"kw_only_default" : False ,
2775
- "field_descriptors" : (Field ,),
2782
+ "field_specifiers" : (Field ,),
2783
+ "kwargs" : {},
2776
2784
}
2777
2785
)
2778
2786
self .assertIsInstance (CustomerModel , Decorated )
0 commit comments