Skip to content

Rule proposal check void-covariant return types of implemented interfaces and extended classes #1744

Closed
@rendaw

Description

@rendaw

What code were you trying to parse?

interface X {
  a(): void;
}

class Y implements X {
  async a(): Promise<void> {
  }
}

What did you expect to happen?

This should (configurably) be an error, especially concerning floating promises.

What actually happened?

No error.

Versions

    "@typescript-eslint/eslint-plugin": "^2.24.0",
    "@typescript-eslint/eslint-plugin-tslint": "^2.24.0",
    "@typescript-eslint/parser": "^2.24.0",
    "eslint": "^6.8.0",
    "eslint-config-prettier": "^6.10.0",
    "typescript": "^3.8.3"

Other

This might be related: microsoft/TypeScript#4544

Metadata

Metadata

Assignees

No one assigned

    Labels

    accepting prsGo ahead, send a pull request that resolves this issueenhancement: new plugin ruleNew rule request for eslint-pluginlocked due to agePlease open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.package: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions