Files

91 lines
1.7 KiB
Python

import dataclasses
from typing import ClassVar
@dataclasses.dataclass
class A1:
bar1: int
<error descr="Fields with a default value must come after any fields without a default.">baz1</error>: int = 1
foo1: int
<error descr="Fields with a default value must come after any fields without a default.">bar2</error>: int = 2
baz2: int
foo2: int = 3
@dataclasses.dataclass()
class A2:
bar: int
baz: str = ""
foo: int = 5
@dataclasses.dataclass
class A3:
bar1: int
baz1: ClassVar[int] = 1
foo1: int
bar2: ClassVar[int] = 2
baz2: int
foo2: int = 3
@dataclasses.dataclass
class A4:
bar1: int
baz1: ClassVar = 1
foo1: int
bar2: ClassVar = 2
baz2: int
foo2: int = 3
@dataclasses.dataclass
class B1:
a: int = dataclasses.field()
b: int
@dataclasses.dataclass
class B2:
<error descr="Fields with a default value must come after any fields without a default.">a</error>: int = dataclasses.field(default=1)
b: int = dataclasses.field()
@dataclasses.dataclass
class B3:
<error descr="Fields with a default value must come after any fields without a default.">a</error>: int = dataclasses.field(default_factory=int)
b: int = dataclasses.field()
@dataclasses.dataclass
class C1:
x: int = dataclasses.MISSING
y: int
@dataclasses.dataclass
class C2:
x: int = dataclasses.field(default=dataclasses.MISSING)
y: int
C2(1, 2)
@dataclasses.dataclass
class C3:
x: int = dataclasses.field(default_factory=dataclasses.MISSING)
y: int
C3(1, 2)
@dataclasses.dataclass
class D1:
x: int = 0
y: int = dataclasses.field(init=False)
@dataclasses.dataclass
class E1:
foo = "bar" # <- has no type annotation, so doesn't count.
baz: str