F821 with Annotated import alias
alanhdu opened this issue · 1 comments
We have a use-case where we sometimes import Annotated
under a different name (since there is a naming collision with an existing object callled Annotations
and Annotated[Annotations, ...]
can be hard to read. Unfortunately, it looks like if we try to do this, then we fail with a false positive:
from typing_extensions import Annotated as WithSchema
def f(x: WithSchema[int, "hello"]) -> None:
return
fails pyflakes with F821 undefined name 'hello
.
Everything works fine if we do not use the Annotated as WithSchema
import alias though. Would it be possible to extend the logic to also handle such a case?
Confirm the "as" syntax triggers this. Thanks for raising the issue.
If you want to find the problem, very likely it is somewhere in _is_typing_helper
It may not be taking into account alias.asname
c.f. https://docs.python.org/3/library/ast.html#ast.alias