facebook / facebook/pyrefly

False negative: Pyrefly does not emit an unpacking error in `for k, v in dict`

Open
#3,352 0 comments 0 reactions 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

```python
for k, v in {"x": 1}: # expect unpack error
pass
```

this fails at runtime. mypy emits an error (str cannot be unpacked) but pyright does not

Python: 3.12

### Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeS4uATgAQDWANDQG40To3AA6I%2BPiNAIwBfAQGIaMfMRgBjAC40ArumKpZdSVSrUuHGgbVwEDEGSowwUUoXm4AtlAoSACqQtXSNNFjz4asrjokADmSlSo8hBBhHoSAMowMDQAFvLyxHCIAPTZ5pbWhNQh2TDo2Zi4snDZgcEQYRFRQdk0YNQ0qMyo0KjYsAFBoeGR0Ry4xM3ocLGqpPIpQQC0zDBUcGM0ALw0PADMhIIATDx6ANprOusAunoqEPbE1PIwmEuYEBYKEKvbNADkDXQ1Bg-z0wPkSwsAEclJ9Xks6DBSEt1LJ4HA-v8AO6oKjoMHoEDCUzqKKrABi0BgFB8OAIJHIwiAA

### (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.