On 2017-12-21 22:45, Chris Barker wrote: > On Thu, Dec 21, 2017 at 11:55 AM, Terry Reedy <tjreedy at udel.edu > <mailto:tjreedy at udel.edu>> wrote: > > I think the understanding problem with this feature arises from two > factors: using annotations to define possibly un-initialized slots > is non-obvious; a new use of annotations for something other than > static typing is a bit of a reversal of the recent pronouncement > 'annotations should only be used for static typing'. > > > you know, that may be where part of my confusion came from -- all the > talk lately has been about "type hints" and "type annotations" -- the > idea of "arbitrary annotations" has been lost. > > Therefore, getting the permanent doc 'right' is important. > > > yup. > > @dataclass > class C: > x > y = 0 > > I think the doc should explicitly say that uninitialized fields > require annotation with something (anything, not necessarily a type) > simply to avoid NameError during class creation. > > > would this be possible? > > @dataclass > class C: > x: > y: = 0 > > That is -- the colon indicates an annotation, but in this case, it's a > "nothing" annotation. > > "..." or "pass", perhaps? @dataclass class C: x: ... y: ... = 0 or: @dataclass class C: x: pass y: pass = 0 > It's a syntax error now, but would it be possible to change that? Or > would the parsing be ambiguous? particularly in other contexts. > > of course, then we'd need something to store in as a "nothing" > annotation -- empty string? None? (but None might mean something) create > yet anther type for "nothing_annotation" > > Hmm, I may have talked myself out of it.... >
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4