Hacker News new | ask | show | jobs
by insanitybit 944 days ago
Cool, guess they finally fixed this. Must've been in the last ~1 year, give or take. Of course, it relies on quoting your types, which is... a matter of taste, I suppose.
2 comments

You can also use from __future__ import annotations so the quotes become unnecessary. https://peps.python.org/pep-0563/
Does that work with recursive types? I have had mixed results with `from __future__ import annotations` personally, but I haven't written much Python in ~a year or so.
It's worked for many years, but you won't often see it used outside of class definitions because all of the other tools struggle with it (Pylint, Flake8, Pylance, etc. spit out some variation of an undefined variable error).
I don't think it has worked for years. I had used that same exact __annotations__ and my recollection was that recursive types still did not work.
It's worked for years. I've been using it the whole time.
Quoting types that are defined later is a wart but it's not very bad. VSCode's UI will happily handle it as if the quotes weren't there.