Improper "arguments-differ" for implementation of overloaded methods when using an abstract base class (ABC) #5706
Labels
C: arguments-differ
Issues related to 'arguments-differ' and 'signature-differs' checks
Duplicate 🐫
Duplicate of an already existing issue
False Positive 🦟
A message is emitted but nothing is wrong with the code
Bug description
Title says it all.
Consider the following snippet of code. Save it as
test_pylint.py
somewhere:DefaultService
implements the abstract base classService
. As it is an implementation, I expect to only need to define the method implementation, and not repeat overloads in the class.I also expect the implementation signature to be complete, in both the ABC and implementation class, as it covers all possible parameters, accepting no more than what's necessary (except for the
*
, which is inevitable for me because I don't have access to a Python 3.8+ interpreter everywhere and hence no access to the Positional-only parameters separator/
).Configuration
# Using defaults, in an empty folder. No pylint.ini, no [tool.pylint], etc., whatsoever.
Command used
Pylint output
Expected behavior
Mypy accepts the definition in
DefaultService.run_job
, as I'd expect, but pylint raises a warning for some reason:This should not happen. The definition's signature is complete.
Pylint version
OS / Environment
Windows (no WSL, etc; but on Git bash)
Additional dependencies
No response
The text was updated successfully, but these errors were encountered: