[issue38444] dataclass: always generate default __init__ on __default_init__

2019-10-11 Thread Shmuel H.
New submission from Shmuel H. : Currently, `dataclasses.dataclass` will generate `__init__` only where the user has not defined one. However, sometimes, with frozen classes or dataclasses with a lot of members, redefinition of this function is not trivial, especially if the only purpose is

[issue38444] dataclass: always generate default __init__ on __default_init__

2019-10-11 Thread Shmuel H.
Shmuel H. added the comment: I think it was designed to. However, it is not very usable in production for a number of reasons: 1. It won't work with frozen instances (you'll have to call `object.__setattr__` directly). 2. It gets very messy with more than one or two `InitVar`s whic

[issue38444] dataclass: always generate default __init__ on __default_init__

2019-10-11 Thread Shmuel H.
Shmuel H. added the comment: The only other solution I could think about was to change setattr's behaviour dynamically so that it would be valid to call it from frozen instance's `__init__`, but I think it is somehow even worst. However, thanks for your help, I think we can clos