+++ /dev/null
-from __future__ import annotations
-from dataclasses import dataclass
-from typing import List
-from typing import ClassVar as CV
-
-@dataclass
-class A:
- a: List[str]
-
-@dataclass
-class B(A):
- b: CV[int]
+++ /dev/null
-
-class X:
- def __init__(self, value):
- self.value = value
- def __str__(self):
- return str(self.value)
- def __format__(self, fmt):
- assert fmt[0] == '='
- self.value = eval(fmt[1:])
- return ''
-
-x = X(3)
-print(x)
-f'{x:=4}' # Behold!
-print(x)
+++ /dev/null
-from dataclasses import *
-
-class D:
- """A descriptor class that knows its name."""
- def __set_name__(self, owner, name):
- self.name = name
- def __get__(self, instance, owner):
- if instance is not None:
- return 1
- return self
-
-from dataclasses import *
-
-@dataclass
-class C:
- d: int = field(default=D(), init=False)
-
-@dataclass
-class E(C):
- e: int = field(default=D(), init=False)
+++ /dev/null
-#from __future__ import annotations
-from typing import ClassVar, Dict, get_type_hints
-from dataclasses import *
-
-class Starship:
- stats: ClassVar[Dict[str, int]] = {}
-
-#print(get_type_hints(Starship))
-
-#class A:
-# a: Dict[int, C]
-
-#print(get_type_hints(A))
-
-cv = [ClassVar[int]]
-
-@dataclass
-class C:
- CVS = [ClassVar[str]]
- a: cv[0]
- b: 'C'
- c: 'CVS[0]'
- x: 'ClassVar["int"]'
- y: 'ClassVar[C]'
-
-print()
-print(C.__annotations__)
-print(C.__dataclass_fields__)
-
-
-#print(get_type_hints(C))