Closed
Description
Pyright has many rules, but currently most of them are disabled.
Here is a list of all currently disabled rules and in bracket the number of violations (grep -c) to have a rough idea how much effort enabling a certain rule is:
"Core" Typing:
- reportGeneralTypeIssues (2322)
- reportFunctionMemberAccess (5)
- reportIncompatibleMethodOverride (313)
- reportIncompatibleVariableOverride (11)
- reportMissingTypeArgument (369)
- reportOptionalCall (8)
- reportOptionalIterable (6)
- reportOptionalMemberAccess (478)
- reportOptionalOperand (7)
- reportOptionalSubscript (34)
- reportPropertyTypeMismatch (1)
Third-Party/Conventions/Other:
- reportConstantRedefinition (21)
- reportImportCycles (40)
- reportMissingModuleSource (2)
- reportMissingTypeStubs (102)
- reportPrivateImportUsage (3)
- reportPrivateUsage (765)
- reportUnboundVariable (70)
- reportUnknownArgumentType (11458)
- reportUnknownLambdaType (304)
- reportUnknownMemberType (21661)
- reportUnknownParameterType (10035)
- reportUnknownVariableType (12947)
- reportUnnecessaryComparison (35)
- reportUnnecessaryIsInstance (86)
- reportUnsupportedDunderAll (1)
- reportUntypedBaseClass (18)
- reportUntypedFunctionDecorator (3)
- reportUnusedClass (2): used for compatibility in pickle
- reportUnusedFunction (6): needs a discussion whether these private functions should either be moved or made public
- reportUnusedImport (292): could be enabled if
__all__
or redundant import were used - reportUnusedVariable (67): needs consensus to start unused variables with _.