New submission from Komiya Takeshi <i.tkom...@gmail.com>:

I noticed `typing.get_type_hints()` returns Optional[Any] as a type hints if 
the default value of the argument is None:

```
$ python
Python 3.9.0 (default, Oct 24 2020, 15:41:29)
[Clang 11.0.3 (clang-1103.0.32.59)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from typing import Any, get_type_hints
>>> def hello(name: Any = None):
...     pass
...
>>> get_type_hints(hello)
{'name': typing.Optional[typing.Any]}
```

I know typing.get_type_hints() wraps the user's type annotation with Optional 
when the default value of the argument is None. But it is needless to wrap Any 
with Optional because Any already contains None. It would be better not to wrap 
it with Optional when the user's annotation is Any.

----------
messages: 380532
nosy: i.tkomiya
priority: normal
severity: normal
status: open
title: typing.get_type_hints() returns Optional[Any] if the default value of 
the argument is None
versions: Python 3.10, Python 3.6, Python 3.7, Python 3.8, Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42288>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to