facebook / facebook/pyrefly

Recognize string type annotation in explicit type arguments

Open
#1,474 3 comments 2 reactions 0 assignees View on GitHub
scoping-control-flow typechecking
Dominant language
Rust
Stars
7k
Forks
519
PR merge metrics
No merged PRs in 30d

Description

### Describe the Bug

```
from typing import TYPE_CHECKING

if TYPE_CHECKING:
class A:
pass

class C[T]:
pass

x = C["A"]() # unexpected not-a-type error
```

### Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeS4ATrgLYAEALqcROgOZ0Q3G6UN0AVAJoAFAKIB9AMIAJMVIDSASQByAcQA66LRDCDRk2fOXrEWuhboBjKKjhw6AQTPpLbusTtwtWm17pSANoCALoubp72Puj4dAC8AYEaII7JIQAUAJQgADQgAK4M0HAk5IggAMR0AKpFUBBMdGD56FZFuOje2lgwemC8NKgMEuj5NNgwlOn4iJzoDJl0ALQAfHRwDJThlpQwDPmUrmDJKmMTW3TA%2BAC%2ByVq5IGS7YFCkhAy0UBRVIqTPr%2BsMDgCNYOpA2AchhAOoQtFUAMowGB0AAWDAYxDgiAA9Ninr1XoReGxsTB0NjMLgrHBsVYwRAIZQoR1sU1eHRUAA3VDQVDYWCg9DgyHtVy4YiikpaMgMFEdJacyZwaGuBLJADMhAAjAAmO7oEDXPKoNoQRUAMWgMAoaCweCIZENQA

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