8000 Changed `reportImplicitOverride` check to exempt `__init__` and `__ne… · sourcegraph/scip-python@1a0731e · GitHub
[go: up one dir, main page]

Skip to content

Commit 1a0731e

Browse files
committed
Changed reportImplicitOverride check to exempt __init__ and __new__ methods, as per guidance from PEP 698's author. This addresses microsoft/pyright#4823.
1 parent 0808547 commit 1a0731e

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

packages/pyright-internal/src/analyzer/checker.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5338,6 +5338,11 @@ export class Checker extends ParseTreeWalker {
53385338
return;
53395339
}
53405340

5341+
// Constructors are exempt.
5342+
if (overrideFunction.details.name === '__init__' || overrideFunction.details.name === '__new__') {
5343+
return;
5344+
}
5345+
53415346
const funcNode = overrideFunction.details.declaration.node;
53425347
this._evaluator.addDiagnostic(
53435348
this._fileInfo.diagnosticRuleSet.reportImplicitOverride,

packages/pyright-internal/src/tests/samples/override2.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ def method1(self):
1414

1515

1616
class Child(Base):
17-
# This should generate an error if reportImplicitOverride is enabled.
1817
def __init__(self):
1918
pass
2019

packages/pyright-internal/src/tests/typeEvaluator5.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ test('Override2', () => {
163163

164164
configOptions.diagnosticRuleSet.reportImplicitOverride = 'error';
165165
const analysisResults2 = TestUtils.typeAnalyzeSampleFiles(['override2.py'], configOptions);
166-
TestUtils.validateResults(analysisResults2, 2);
166+
TestUtils.validateResults(analysisResults2, 1);
167167
});
168168

169169
test('TypeVarDefault1', () => {

0 commit comments

Comments
 (0)
0