-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
bugmypy got something wrongmypy got something wrong
Description
Bug Report
mypy doesn't understand
@abc.abstractmethod
def __getattr__(self, name:str) -> Any:
and complains about missing attributes
To Reproduce
Run mypy on:
import abc
from typing import *
class CC(abc.ABC):
@abc.abstractmethod
def __getattr__(self, name:str) -> Any:
...
def foo(c: CC) -> None:
print(c.hello)
Expected Behavior
mypy shouldn't complain about attribute "hello" because I've overridden __getattr__. mypy exhibits the correct behavior when the @abc.abstractmethod decorator is removed.
Actual Behavior
mypy complains that main.py:11: error: "CC" has no attribute "hello". But if I comment out @abc.abstractmethod mypy will not complain.
Your Environment
- Mypy version used: mypy 0.820+dev.8bc1115a7469ac4702d29da87acf5831c696d007 (just pip installed from git)
- Mypy command-line flags:
mypy main.py - Mypy configuration options from
mypy.ini(and other config files): None - Python version used: 3.7.3
- Operating system and version: Debian GNU/Linux 10
AliGhahraei and finite-state-machine
Metadata
Metadata
Assignees
Labels
bugmypy got something wrongmypy got something wrong