facebook / facebook/pyrefly

Clean up TODOs in the pyrefly solver related to old eager pinning strategy

Open
#3,270 1 comment 0 reactions 1 assignee Claimed by @rchen152 View on GitHub
stale typechecking
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

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.