I like the idea, quite a bit. Unfortunately, string annotations are currently reserved for type annotations (particularly for forward references), so`x: str` and `x: "str"` are currently equivalent. This would rule-out using string literals in the manner you suggest. On Sat, 2022-02-05 at 23:21 +0400, Abdulla Al Kathiri wrote:
Hello all,
Why can’t we use the literals directly as types? For example,
x: Literal[1, 2, 3] = 3 name: Literal[“John”] | None = “John"
Become ….
x: 1 | 2 | 3 = 3 name: “John” | None = “John"
def open(file: Path | str, mode: “w” | “a” = “w”): …
Best Regards,
Abdulla _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-leave@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/IJ74AQ... Code of Conduct: http://python.org/psf/codeofconduct/