diff --git a/src/pyoload/__init__.py b/src/pyoload/__init__.py index 19c2d11..294af50 100644 --- a/src/pyoload/__init__.py +++ b/src/pyoload/__init__.py @@ -881,8 +881,6 @@ def annotate_class(cls: Any, recur: bool = True): if isinstance(cls, bool): return partial(annotate_class, recur=cls) - if not hasattr(cls, "__annotations__"): - cls.__annotations__ = {} recur = not hasattr(cls, "__pyod_norecur__") and recur setter = cls.__setattr__ if recur: diff --git a/src/tests/logs.yaml b/src/tests/logs.yaml index 00bd303..56632a1 100644 --- a/src/tests/logs.yaml +++ b/src/tests/logs.yaml @@ -1,7 +1,7 @@ -type_match vs isinstance on int:True 1.5289682ms -type_match vs isinstance on int:False 1.9831642ms -type_match on dict[str, int]*50:True 267.711404ms -type_match on dict[str, int]*50:False 17.3794271ms -Cast str->int: 10.582962299999998ms -Cast complex->int | str: 0.50979833ms -Cast dict[int,list[str]*10]*10->dict[str,tuple[float]]: 12.46998271ms +type_match vs isinstance on int:True 2.4428162ms +type_match vs isinstance on int:False 2.7615315ms +type_match on dict[str, int]*50:True 265.3169892ms +type_match on dict[str, int]*50:False 17.7801438ms +Cast str->int: 10.9715787ms +Cast complex->int | str: 0.5133042ms +Cast dict[int,list[str]*10]*10->dict[str,tuple[float]]: 11.80671495ms diff --git a/src/tests/test_annotate.py b/src/tests/test_annotate.py index 945f665..525011b 100644 --- a/src/tests/test_annotate.py +++ b/src/tests/test_annotate.py @@ -4,6 +4,7 @@ from pyoload import Cast from pyoload import annotable from pyoload import annotate +from pyoload import annotate_class from pyoload import is_annotable from pyoload import is_annoted from pyoload import resove_annotations @@ -25,7 +26,7 @@ def foo1(a: Cast(str)): return a -@annotate +@annotate_class(False) class MyCLass: __slots__ = ('a', 'b') a: 'int'