Bug: [no-unnecessary-type-assertion] False positive for non-null assertion on unknown
#10831
Closed
4 tasks done
Labels
accepting prs
Go ahead, send a pull request that resolves this issue
bug
Something isn't working
locked due to age
Please open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.
package: eslint-plugin
Issues related to @typescript-eslint/eslint-plugin
Before You File a Bug Report Please Confirm You Have Done The Following...
Playground Link
https://typescript-eslint.io/play/#ts=5.7.2&fileType=.ts&code=MYewdgzgLgBAZiEAuGBXMBrMIDuYYC8MYqANqQNwBQoksARgIYBOKI9AVgKbCxEIgAhNVrQYTAF4oA3gF9C8RMKA&eslintrc=N4KABGBEBOCuA2BTAzpAXGUEKQAIBcBPABxQGNoBLY-AWhXkoDt8B6Jge1tiacTJTIAhtEK0ipWkOTJE0fJQ5N0UOdA7RI4MAF8QOoA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA&tokens=false
Repro Code
ESLint Config
tsconfig
Expected Result
I expected no error, because the non-null assertion is actually necessary. Typescript will allow you to assign a non-null asserted
unknown
toobject
or{}
, but won't if it isn't non-null asserted. Because anunknown
value can benull | undefined
, whereasobject
and{}
disallow that.Actual Result
There is an error on the non-null assertion. If autofixed, it turns into a Typescript error instead, because the assertion was not unnecessary.
Additional Info
No response
The text was updated successfully, but these errors were encountered: