[unnecessary-comparison] Could/should warn for more than just simple literal cases
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 516
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the Bug
1. I can get a warning if I try to make a silly check on a Literal
2. I don't get a warning if I try to make a silly check on a non-optional
I would expect [[unnecessary-comparison](https://pyrefly.org/en/docs/error-kinds/#unnecessary-comparison)] to throw up an error for redundant checks of types that aren't possible. (Like looking for None on something declared statically as not none)
### Sandbox Link
https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeS4ATrgLYAEArgC7Rx0Q3G6VN1jc1UTAProGNbDEoAddGGr0mpYhHQBzdp268AMhCZTUUADR0A8sRa50R2bMwwwdA3CYAKfInbomASjoAtAB8dK6UiLJ0UXSUMEwMlOh8AkKi4pKUHr526Oi4InnoMMJhqmpeYXQAvM7w7gCM2egQTnkF1sWl6uxsAHIdXgDEdAA8AXQA6jChABa4DFCYdGpxdBh0UtSUdDNS00wzQs4zEGynazEwmAxYGLwAxrv3ANaR0cSUqu7SIErE03BSK4YPQ0EDjud7hgAOS8Q7Ef7oH5NeyOWquYRQfSGKBufzBOh6AyUIwAbWh-Fw0IAuhEktFYvFEnQfpSfjl8rtKKJ8jyiiUmJ9utV0SIscSjHici06JypDz2vyuhpzv0ikNJtM3PduLF7kwoKR-CteKg6AB3VCJMo7Paypw-ACSDh8%2BlIdB1nCtp2sdAABhTcFSenQ1TA-SGjJbwQAxIxwGDs%2BlRD5fNw-A6QmFw1AImBJGD6LnIkDGEDMVgkciIEDDACqLHF7rAN31EGscByDic-EoggK6SkHi8X3xITCdOilyZSTAP16g-CdGA%2BAAvknSyAyLEwIbCExaFAKMMAAqkHeG0IYHAED3WSBqBJCdvoQiyYYAZRg0xmTCYxDgRAAHogO3Rw924NQgPzIDMFwe44CAnU5AgR8SSsdAgOSbZUAAN1QaBUGwWA7xQtDn19XBLBfOA33QMgDmsAJcKkOAXxFH4AGZCHqAAmDdVzLVA2xYmNoBgCg0CwPAiDIEBVyAA
### (Only applicable for extension issues) IDE Information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.