Message 339105 - Python tracker (original) (raw)

I have a snippet below which runs fine on python 3.7.0 but raises a ValueError exception on 3.7.1. I believe it's related to https://bugs.python.org/issue33805.

The error: c:\python\lib\dataclasses.py:1219: ValueError

The script:

from dataclasses import replace, dataclass, InitVar

@dataclass class Test: a:int = 1 b:InitVar[int] = None

def __post_init__(self, b):
    if b is not None:
        self.a = b

if name == 'main': t = Test() t1 = Test(b=5) assert t1.a == 5

t2 = replace(t1, **{})
print(t2)