diff --git a/package.json b/package.json index 7124a8b8..f6066220 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "typedefinitions" ], "dependencies": { - "@tsd/typescript": "^4.2.4", + "@tsd/typescript": "^4.3.2", "eslint-formatter-pretty": "^4.0.0", "globby": "^11.0.1", "meow": "^9.0.0", diff --git a/source/lib/compiler.ts b/source/lib/compiler.ts index 7f7515ca..a19cd18b 100644 --- a/source/lib/compiler.ts +++ b/source/lib/compiler.ts @@ -35,6 +35,8 @@ const expectErrordiagnosticCodesToIgnore = new Set([ DiagnosticCode.OnlyVoidFunctionIsNewCallable, DiagnosticCode.ExpressionNotConstructable, DiagnosticCode.NewExpressionTargetLackingConstructSignatureHasAnyType, + DiagnosticCode.MemberCannotHaveOverrideModifierBecauseItIsNotDeclaredInBaseClass, + DiagnosticCode.MemberMustHaveOverrideModifier, ]); type IgnoreDiagnosticResult = 'preserve' | 'ignore' | Location; diff --git a/source/lib/interfaces.ts b/source/lib/interfaces.ts index e8e08eab..685c9614 100644 --- a/source/lib/interfaces.ts +++ b/source/lib/interfaces.ts @@ -39,6 +39,8 @@ export enum DiagnosticCode { PropertyMissingInType1ButRequiredInType2 = 2741, NoOverloadExpectsCountOfTypeArguments = 2743, NoOverloadMatches = 2769, + MemberCannotHaveOverrideModifierBecauseItIsNotDeclaredInBaseClass = 4113, + MemberMustHaveOverrideModifier = 4114, NewExpressionTargetLackingConstructSignatureHasAnyType = 7009, } diff --git a/source/test/fixtures/expect-error/classes/index.test-d.ts b/source/test/fixtures/expect-error/classes/index.test-d.ts index 603aced2..66052486 100644 --- a/source/test/fixtures/expect-error/classes/index.test-d.ts +++ b/source/test/fixtures/expect-error/classes/index.test-d.ts @@ -4,3 +4,11 @@ import {Foo} from '.'; const numberFoo = new Foo(); expectError(numberFoo.bar()); + +expectError(class extends Foo { + bar(): void {} +}); + +expectError(class extends Foo { + override foo(): void {} +}); diff --git a/source/test/fixtures/expect-error/classes/package.json b/source/test/fixtures/expect-error/classes/package.json index de6dc1db..60fcb065 100644 --- a/source/test/fixtures/expect-error/classes/package.json +++ b/source/test/fixtures/expect-error/classes/package.json @@ -1,3 +1,8 @@ { - "name": "foo" + "name": "foo", + "tsd": { + "compilerOptions": { + "noImplicitOverride": true + } + } }