Clean up TODOs in the pyrefly solver related to old eager pinning strategy
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 516
- PR merge metrics
- No merged PRs in 30d
Description
### Describe the Bug
This is a follow-up to https://github.com/facebook/pyrefly/issues/105. Most of the bad user-facing behavior related to eager pinning of type variables have been fixed, but I've left a fair number of `TODO(https://github.com/facebook/pyrefly/issues/105)` scattered in the code for things like edge case bugs, suboptimal code, and deferred design decisions. The biggest issue is that `is_subset_eq_var` unifies vars instead of recording upper/lower var bounds. This causes at least one bug: https://github.com/facebook/pyrefly/blob/9bcea9598288ea55ac2d33561738d449143689f2/pyrefly/lib/test/contextual.rs#L803-L805, probably many more.
### Sandbox Link
_No response_
### (Only applicable for extension issues) IDE Information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.