facebook / facebook/pyrefly

Incorrect unreachable statement

Open
#2,260 8 comments 0 reactions 1 assignee Claimed by @stroxler View on GitHub
scoping-control-flow stale typechecking
Dominant language
Rust
Stars
7k
Forks
516
PR merge metrics
No merged PRs in 30d

Description

### Describe the Bug

Incorrect unreachable return error in the following function. May be related to #2020, but not sure
```python
def fun1():
for i in range(2):
with suppress(ZeroDivisionError):
x = i/0
return x
return 1.0 # marked unreachable
```

### Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeSIAxAAQDqMUAxrgLYzUAuunAFuwAqkATjDBRS1AMoYcBADS8IcakuqpqxVAHMYAHXQ0A7nxHVSuAK7VGGaoaEQOMBXB6pTM6rHfo1eCxycpMQQ6FoqvoIcPLjohPqUCdQAEjAeHtaWxLDUYDCoHBYiyrhgispoWHj4iEkAtNQA4jCBIqhQdRwQbEHE7Ix8jADWoeF5MDiow-XUAKpw7CIAbvlQAPocwTAAFACUnNyhcH2MgaF5QiKYvfAzMPh9DmzogYaOPLzsAJIAIgCiuXyhWKvAKdnYcAsxGIuCEgW2MEIWkIagCuGYLGyLWc1C0uE6%2BMwolCjggsQUMRWQgULUYuxmtAcTjUWGoQgskVI0VimSJ1EwEBEp3EETMliE1GwQlwhgWQn0%2BjA0pYmRe9w4UAg2BUmNhgUh0OKcAVWFEuQ5AEY9rVfNQ7WBYSpRUIMDptgAmXY2u0%2Bn1vaLUA3EI3bABaaVwPwgSyUZPQf0usK9dv0vrTPvw1AAvCoAPQABlT6bTImBvnwRbtpaKvgthEL6H0RLKYA57utlbs70DUOD8DgYYjUZjcDjCelQmT1E7vurQlrBc7c9r9ZNEDKazW6FQbE32ZzuhAm5YqFCm8P3p9wdCHG2rfQVt2uxAchAAWgcBI5EQVDmXU1mzmugpxxsajami2sInhwW4WCw2BpNsNQRBw%2Bx1AAfIGHBCJeVYtDWuSHgAcnBCE4dQwD4AAvoe%2BgviAZAiGIpCEFwLBQBQNCCExIqVLImbMOgkBaEUBRxvEBhSDA7A8BwHDEHAiC5rmjGiOIhCwlouYwOguaYOicC5oJwmiV0sS5rkjqoEsp5QKg2A5MZEAiS6Zm%2BLgxBuZ%2B%2BhkNy6B1FSo48geIAAMyEBa7q0egIBUa%2BUxdCsABi0AwBQfHVF%2BsVAA

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