-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
I am using pylint on a script that uses the AWS CDK. In their source, they use a fully qualified @builtins.classmethod vs @classmethod to mark a class method and I am getting a no-value-for-parameter because pylint is expecting a parameter for the cls param. I am able to recreate it like so:
import pylint
import builtins
class Foo():
@classmethod
def bar1(cls, text):
print(text)
@builtins.classmethod
def bar2(cls, text):
print(text)
print(pylint.__version__)
Foo.bar1("apple")
Foo.bar2("pear")
This runs on python 3.7.3 and the output is:
2.4.4
apple
pear
I am looking at this line of the class checker file where BUILTIN_DECORATORS = {"builtins.property", "builtins.classmethod"} is defined but then never used.
Current behavior
pylint warns of No value for argument 'text' in unbound method call pylint(no-value-for-parameter) when calling bar2 with only one parameter.
pylint also warns of a problem at the definition of bar2: Method should have "self" as first argument pylint(no-self-argument)
Expected behavior
Both methods should be interpreted as valid class methods and usage without passing a parameter for cls should not be interpreted as invalid usage
pylint --version output
2.4.4