+1 to what Jelle said -- I don't see anyone seriously using this except in code golf or obfuscated code contests.
On Fri, Apr 23, 2021 at 11:51 AM Jelle Zijlstra <[email protected]> wrote: > For what it's worth, Larry's PEP 649 branch currently prohibits yield, > yield from, await, and the walrus operator in annotations. That seems like > the right choice unless there's some realistic use case for any of these. > > El vie, 23 abr 2021 a las 11:27, Batuhan Taskaya (<[email protected]>) > escribió: > >> About 4 months ago, I've created bpo-42725 in order to >> resolve some of the points below though I decided to >> postpone it for various reasons that blocked it completely >> until the point of where we have a beta cut in a week or >> so. So I'm asking for comments regarding how should we resolve >> this behavior. >> >> Even though PEP 563 blocks having all compiler-related activities >> for annotations by behaving them strings, this doesn't happen until >> the symbol is constructed which results with different problems. For >> example you can use yield in annotation, and since PEP 563 will stringify >> it you'd expect your function to act accordingly but it currently doesn't. >> Also references to the upper scope variables will still be contained as >> closures >> of the current function, and some other oddities that I've found >> regarding misc >> stuff (usage of super() etc). >> >> Here is a quick demo: >> >> def foo(): >> for number in range(5): >> foo: (yield number) >> return number >> >> foo() # ======> this will be a generator >> >> We could go with acting these as strings and letting them stay as >> annotations >> but making them no-op on the symbol table (which is the straight forward >> choice) >> or we could restrict usage of those inside of annotations and raise >> SyntaxErrors. I've >> drafted patches for both of those ideas, though it definitely needs >> more work and >> there is not much time left so any comments would be appreciated. >> >> P.S: I intend to submit a PR with the most likely option by, at latest, >> end of >> saturday so that we can give reviewers enough time and also catch the >> beta freeze >> considering this is a clear behavioral change. >> _______________________________________________ >> Python-Dev mailing list -- [email protected] >> To unsubscribe send an email to [email protected] >> https://mail.python.org/mailman3/lists/python-dev.python.org/ >> Message archived at >> https://mail.python.org/archives/list/[email protected]/message/5NQH5GURAYW6XINPBO6VSF45CWLQOHUQ/ >> Code of Conduct: http://python.org/psf/codeofconduct/ >> > _______________________________________________ > Python-Dev mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-dev.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/PZJXENJP2PDZ3OARUEJS5YDQ2HEQ5VI6/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ Python-Dev mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/KBWUTQTHHDNPHWW4WWXBT5IKRA4RQY5R/ Code of Conduct: http://python.org/psf/codeofconduct/
