diff --git a/construct_typed/dataclass_struct.py b/construct_typed/dataclass_struct.py index 78d2e59..d72ce5c 100644 --- a/construct_typed/dataclass_struct.py +++ b/construct_typed/dataclass_struct.py @@ -27,6 +27,8 @@ class DataclassMixin: methods exists and every name can be used. """ + __dataclass_fields__: t.ClassVar[dict[str, dataclasses.Field[t.Any]]] + def __getitem__(self, key: str) -> t.Any: return getattr(self, key) @@ -269,4 +271,4 @@ TBitStruct = DataclassBitStruct TContainerMixin = DataclassMixin TContainerBase = DataclassMixin TStructField = csfield -sfield = csfield \ No newline at end of file +sfield = csfield diff --git a/tests/test_typed.py b/tests/test_typed.py index 4dd9528..7d726a3 100644 --- a/tests/test_typed.py +++ b/tests/test_typed.py @@ -384,7 +384,7 @@ def test_tenum_no_enumbase() -> None: assert raises(lambda: cst.TEnum(cs.Byte, cls)) == TypeError -def test_tenum_asdict(): +def test_tenum_asdict() -> None: # see: https://github.com/timrid/construct-typing/issues/21 import construct_typed as cst import dataclasses @@ -498,7 +498,7 @@ def test_tenum_flags() -> None: assert raises(d.build, 2) == TypeError -def test_tenum_flags_asdict(): +def test_tenum_flags_asdict() -> None: import construct_typed as cst import dataclasses