PEP-563 представил отложенную оценку аннотаций типов. Это означает, что все ваши аннотации типов во время выполнения рассматриваются лишь как строки. Но это помешало работе pydantic и typeguard.
Однако если такое поведение вам все таки нужно, используйте annotations из модуля __future__:
def class_decorator(cls): annotations = get_type_hints(cls) # raises NameError on 'C' print(f'Annotations for {cls}: {annotations}') return cls@class_decoratorclass C: singleton: 'C' = None#факты