On 9/11/17 9:43 AM, tds...@mailbox.org wrote:
Hi Eric,
I have on question not addressed yet.
The implementation is based on "__annotations__" where the type is specified.
But "__annotations__" is not always filled. An interpreter version with special
optimization
could remove all __annotations__ for performance reasons. (Discussed in other
threads)
In this case the dataclass does not work or will there be a fallback?
I know it is a little bit hypothetical because an interpreter with this
optimization is
not there yet. I am looking only in the future a bit.
Asking this because type annotations are stated as completely optional for
Python.
And this use case will break this assumption.
Yes, if there are no __annotations__, then Data Classes would break.
typing.NamedTuple has the same issue. We discussed it a little bit last
week, but I don't think we came to any conclusions.
Since @dataclass ignores the value of the annotation (except for
typing.ClassVar), it would continue to work if the type was present, buy
maybe mapped to None or similar.
Eric.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com