[issue43746] Weird typing annotation closure behavior

conchylicultor report at bugs.python.org
Thu Apr 8 11:47:11 EDT 2021


conchylicultor <etiennefg.pot at gmail.com> added the comment:

The above example is a real world example I have currently have. Basically I have some dataclass based configuration like:

in losses.py:
```
class LossesParams:
  ...
```
in dataset.py:
```
class DatasetParams:
  ...
```
in config.py:
```
@dataclasses.dataclass
class Params:
  losses: losses.LossesParams = dataclasses.field()
  dataset: dataset.DatasetParams = dataclasses.field()
```
I want to use params as:
```
param = Params()
param.datasets.batch_size = 123
```
However the above code fail at `dataset: dataset.DatasetParams = dataclasses.field()` due to the closure issue.

The example is simplified but this is a very concrete problem I encountered.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue43746>
_______________________________________


More information about the Python-bugs-list mailing list