Instance trait type default value confusion
- Lingua principale
- Python
- Stelle
- 653
- Fork
- 217
- Merge medio
- 2g 21h
- PR unite (30g)
- 2
Descrizione
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.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.