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

Reply via email to