'Type hinting on __aenter__ with generic inheritance is broken in PyCharm?
I have this simple example of a Generic class with a __aenter__
:
from typing import TypeVar, Generic
T = TypeVar('T')
class A(Generic[T]):
async def __aenter__(self):
return self
class B(A[int]):
def b(self): pass
async with B() as b:
b.b
For some reasons PyCharm doesn't show b()
as an available function
But when I remove generics from classes:
from typing import TypeVar, Generic
T = TypeVar('T')
class A:
async def __aenter__(self):
return self
class B(A):
def b(self): pass
async with B() as b:
b.b()
I get b()
available
What's wrong? And is the only way to bypass it - overriding __aenter__
for every subclass?
PyCharm 2021.3
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|