Open slifty opened 7 months ago
Submitted PR #358 to swap the rule over. But the configuration options mentioned are still off by default.
typescript-eslint
is doing their best to avoid type information being required where it's not required, but in this case saying that any class implementing an interface no longer needs any method to use this
is just a wide net. I'm more amenable to ignoring methods with override
, but I'll leave that up to the project maintainer @iamturns.
There is a new @typescript-eslint/class-methods-use-this rule which makes it possible to disable the rule in the case of overrides and interface.
For example, using this (with the updated options) prevents the pesky situation where an abstract class defines some abstract methods which do NOT necessarily use
this
, but which need to be class methods due to the abstract class definition.