facebook / facebook/pyrefly

[feature] support incompatible-comparison rule for class instance

Open
#3,923 2 comments 1 reaction 0 assignees View on GitHub
typechecking
Dominant language
Rust
Stars
7k
Forks
516
PR merge metrics
No merged PRs in 30d

Description

### Describe the Bug

Pyrefly checks comparison compatibility among built-in scalar types since https://github.com/facebook/pyrefly/pull/2353. But I want this rule also covers non scalar types such as `uuid.UUID`.

```py
import uuid

int_var = 1
str_var = "a"
uuid_var = uuid.uuid4()

# error as expected
int_var == str_var
# no error. I hope pyrefly can detect this and raise error.
int_var == uuid_var
```

### Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeSIEAtsbgE4AuABAK4sSYA663E6DAfQBuqOkwC8TAIzc4DOsNESmnEKlXc2HRWMlbMhfQBYAFAEpu3AMRMYdOvSao4t-MRgBjBjC7o%2BgkV1JOQVA6yZ0XFt7el5%2BHQk9dkwdbhAAGhAyOhgwKFJCBlwqKAobAAVSHLzSJjQsPHwmD1x0SABzFjpUBghWwnCAZRgYJgALBgZiOEQAelns3PzCenbZmHRZzFwPOFmWtohO7t7W2aYwR1QRaFRsWGbWjq6evvQmXGJT9DgB9DIGGNWgBaIR2OBvZSqADMhCkACYNP8cnAYAxxKoQhAvEjuABtOwOOhwAC6cRaNFe9xgwIpxFEEDgrWUAHJCfQWSAAL6ZVBeCBggBi0BgFHqOAIJHIXKAA

### (Only applicable for extension issues) IDE Information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.