Guido van Rossum <gu...@python.org> added the comment: I liked the original design better, where things without annotations would just be ignored. What changed?
On Dec 27, 2017 5:19 PM, "Ivan Levkivskyi" <rep...@bugs.python.org> wrote: > > Ivan Levkivskyi <levkivs...@gmail.com> added the comment: > > > I'm not sure I understand the distinction. > > Initially I thought about only flagging code like this: > > @dataclass > class C: > x = field() > > But not this: > > @dataclass > class C: > x = 42 > > Now I think we should probably flag both as errors. > > > How do we only pick out `y` and probably `prop`, and ignore the rest, > without being overly fragile to new things being added? I guess ignoring > dunders and things in `__annotations__`. Is that close enough? > > We had a similar problem while developing Protocol class (PEP 544). > Currently we just a have a whitelist of names that are skipped: > > '__abstractmethods__', '__annotations__', '__weakref__', '__dict__', > '__slots__', '__doc__', '__module__' > > (plus some internal typing API names) > > ---------- > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <https://bugs.python.org/issue32428> > _______________________________________ > ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32428> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com