New submission from Timothee Mazzucotelli <pawa...@pm.me>:
This is my first issue on bugs.python.org, let me know if I can improve it in any way. --- Originally reported and investigated here: https://github.com/mkdocstrings/mkdocstrings/issues/314 ``` # final.py from __future__ import annotations from typing import Final, get_type_hints name: Final[str] = "final" class Class: value: Final = 3000 get_type_hints(Class) ``` Run `python final.py`, and you'll get this traceback: ``` Traceback (most recent call last): File "final.py", line 11, in <module> get_type_hints(Class) File "/.../lib/python3.8/typing.py", line 1232, in get_type_hints value = _eval_type(value, base_globals, localns) File "/.../lib/python3.8/typing.py", line 270, in _eval_type return t._evaluate(globalns, localns) File "/.../lib/python3.8/typing.py", line 517, in _evaluate self.__forward_value__ = _type_check( File "/.../lib/python3.8/typing.py", line 145, in _type_check raise TypeError(f"Plain {arg} is not valid as type argument") TypeError: Plain typing.Final is not valid as type argument ``` Now comment the `get_type_hints` call, launch a Python interpreter, and enter these commands: >>> import final >>> from typing import get_type_hints >>> get_type_hints(final) And you'll get this traceback: ``` Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/.../lib/python3.9/typing.py", line 1449, in get_type_hints value = _eval_type(value, globalns, localns) File "/.../lib/python3.9/typing.py", line 283, in _eval_type return t._evaluate(globalns, localns, recursive_guard) File "/.../lib/python3.9/typing.py", line 538, in _evaluate type_ =_type_check( File "/.../lib/python3.9/typing.py", line 149, in _type_check raise TypeError(f"{arg} is not valid as type argument") TypeError: typing.Final[str] is not valid as type argument ``` I was able to replicate in 3.8, 3.9 and 3.10. The annotations future is not available in 3.7 or lower. Didn't try on 3.11. ---------- messages: 401590 nosy: pawamoy priority: normal severity: normal status: open title: get_type_hints + Final + future annotations = TypeError type: behavior versions: Python 3.10, Python 3.8, Python 3.9 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue45166> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com