New submission from Daniel Pinyol <[email protected]>:
Executing the following code we get this error on the "cast" call
NameError: name 'A' is not defined
```
from __future__ import annotations
from typing import TYPE_CHECKING, Optional, cast
if TYPE_CHECKING:
class A:
pass
def f(a: A):
pass
f(cast(A, "anything"))
```
It would be nice that you could use "cast" to force casts when the symbol is
only available during TYPE_CHECKING. According to the "cast" specs, cast only
works during type checking, but not during runtime. Hence, I think would be
desirable that this code was legal. thanks
This returns the value unchanged. To the type checker this signals that the
return value has the designated type, but at runtime we intentionally don’t
check anything (we want this to be as fast as possible).
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42377>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com