mirror of https://github.com/astral-sh/ruff
[ty] Add support for global __debug__ constant (#18540)
## Summary Closes https://github.com/astral-sh/ty/issues/577. Make global `__debug__` a `bool` constant. ## Test Plan Mdtest `global-constants.md` was created to check if resolved type was `bool`. --------- Co-authored-by: David Peter <mail@david-peter.de>
This commit is contained in:
parent
caf885c20a
commit
161446a47a
|
|
@ -0,0 +1,14 @@
|
|||
# Global Constants
|
||||
|
||||
## `__debug__` constant
|
||||
|
||||
The [`__debug__` constant] should be globally available:
|
||||
|
||||
```py
|
||||
reveal_type(__debug__) # revealed: bool
|
||||
|
||||
def foo():
|
||||
reveal_type(__debug__) # revealed: bool
|
||||
```
|
||||
|
||||
[`__debug__` constant]: https://docs.python.org/3/library/constants.html#debug__
|
||||
|
|
@ -1073,6 +1073,8 @@ mod implicit_globals {
|
|||
Place::bound(KnownClass::Str.to_instance(db)).into()
|
||||
} else if name == "__builtins__" {
|
||||
Place::bound(Type::any()).into()
|
||||
} else if name == "__debug__" {
|
||||
Place::bound(KnownClass::Bool.to_instance(db)).into()
|
||||
}
|
||||
// In general we wouldn't check to see whether a symbol exists on a class before doing the
|
||||
// `.member()` call on the instance type -- we'd just do the `.member`() call on the instance
|
||||
|
|
|
|||
Loading…
Reference in New Issue