diff --git a/packages/eslint-plugin/src/rules/no-invalid-void-type.ts b/packages/eslint-plugin/src/rules/no-invalid-void-type.ts index 6a49003d8d9d..e9324731b469 100644 --- a/packages/eslint-plugin/src/rules/no-invalid-void-type.ts +++ b/packages/eslint-plugin/src/rules/no-invalid-void-type.ts @@ -81,6 +81,7 @@ export default createRule<[Options], MessageIds>({ AST_NODE_TYPES.TSPropertySignature, AST_NODE_TYPES.CallExpression, AST_NODE_TYPES.PropertyDefinition, + AST_NODE_TYPES.AccessorProperty, AST_NODE_TYPES.Identifier, ]; const validUnionMembers: AST_NODE_TYPES[] = [ diff --git a/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts b/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts index 4b89914026a3..8d49b918946a 100644 --- a/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts +++ b/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts @@ -121,6 +121,11 @@ ruleTester.run('allowInGenericTypeArguments: true', rule, { 'const arrowGeneric1 = (arg: T) => {};', 'declare function functionDeclaration1(arg: T): void;', ` + class ClassName { + accessor propName: number; + } + `, + ` function f(): void; function f(x: string): string; function f(x?: string): string | void { @@ -446,6 +451,20 @@ export function f(x?: string): string | void { }, ], }, + { + code: ` + class ClassName { + accessor propName: void; + } + `, + errors: [ + { + column: 30, + line: 3, + messageId: 'invalidVoidNotReturnOrGeneric', + }, + ], + }, { code: 'let letVoid: void;', errors: [