Instance trait type default value confusion
- Langage dominant
- Python
- Étoiles
- 653
- Forks
- 217
- Merge moyen
- 2 j 21 h
- PR mergées (30 j)
- 2
Description
We raise here:
``` python
class A(HasTraits):
inst = Instance(Foo)
A().inst
```
But not here:
``` python
class A(HasTraits):
inst = Instance(Foo, allow_none=True)
A().inst
```
This seems magical, and is not at all implied by `allow_none=True`.
We should probably try to enforce this convention:
``` python
class A(HasTraits):
inst = Instance(Foo, default_value=None, allow_none=True)
A().inst
```
Or at the very least:
set `allow_none=True` if `default_value=None`
``` python
class A(HasTraits):
inst = Instance(Foo, default_value=None)
A().inst
```
This isn't backwards compatible, but IMO it resolves a bug.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.