[ty] support accessing __builtins__ global (#18118)

## Summary

The PR adds an explicit check for `"__builtins__"` during name lookup,
similar to how `"__file__"` is implemented. The inferred type is
`Any`.

closes https://github.com/astral-sh/ty/issues/393

## Test Plan

Added a markdown test for `__builtins__`.

---------

Co-authored-by: David Peter <sharkdp@users.noreply.github.com>
This commit is contained in:
Felix Scherz
2025-05-15 22:01:38 +02:00
committed by GitHub
parent 69393b2e6e
commit d3a7cb3fe4
2 changed files with 13 additions and 0 deletions

View File

@@ -15,6 +15,15 @@ reveal_type(__package__) # revealed: str | None
reveal_type(__doc__) # revealed: str | None
reveal_type(__spec__) # revealed: ModuleSpec | None
reveal_type(__path__) # revealed: MutableSequence[str]
reveal_type(__builtins__) # revealed: Any
import sys
reveal_type(sys.__builtins__) # revealed: Any
from builtins import __builtins__ as __bi__
reveal_type(__bi__) # revealed: Any
class X:
reveal_type(__name__) # revealed: str