Closed
Description
Before You File a Bug Report Please Confirm You Have Done The Following...
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I have searched for related issues and found none that matched my issue.
- I have read the FAQ and my problem is not listed.
Playground Link
Repro Code
declare function foo(): number | undefined
declare function bar(): number
declare function baz(n: number): void;
function main1() {
let x;
x = bar();
x = foo();
baz(x!);
}
function main2() {
let x;
x = bar();
x = foo();
baz(x);
}
ESLint Config
module.exports = {
parser: "@typescript-eslint/parser",
rules: {
"@typescript-eslint/no-unnecessary-type-assertion": "error"
},
};
tsconfig
Expected Result
The linter should not treat baz(x!)
as an unnecessary type assertion
Actual Result
@typescript-eslint/no-unnecessary-type-assertion
rule warns about the assertion baz(x!) as unnecessary, suggesting it could be removed. Removing the assertion causes TypeScript to raise an error.
Additional Info
No response