mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-29 13:25:17 +00:00

## Summary We're seeing failures in https://github.com/astral-sh/ruff/issues/10470 because `resolve_qualified_import_name` isn't guaranteed to return a specific import if a symbol is accessible in two ways (e.g., you have both `import logging` and `from logging import error` in scope, and you want `logging.error`). This PR breaks up the failing tests such that the imports aren't in the same scope. Closes https://github.com/astral-sh/ruff/issues/10470. ## Test Plan I added a `bindings.reverse()` to `resolve_qualified_import_name` to ensure that the tests pass regardless of the binding order.
45 lines
644 B
Python
45 lines
644 B
Python
import math
|
|
|
|
# Errors
|
|
math.log(1, 2)
|
|
math.log(1, 10)
|
|
math.log(1, math.e)
|
|
foo = ...
|
|
math.log(foo, 2)
|
|
math.log(foo, 10)
|
|
math.log(foo, math.e)
|
|
math.log(1, 2.0)
|
|
math.log(1, 10.0)
|
|
|
|
# OK
|
|
math.log2(1)
|
|
math.log10(1)
|
|
math.log(1)
|
|
math.log(1, 3)
|
|
math.log(1, math.pi)
|
|
|
|
two = 2
|
|
math.log(1, two)
|
|
|
|
ten = 10
|
|
math.log(1, ten)
|
|
|
|
e = math.e
|
|
math.log(1, e)
|
|
|
|
math.log2(1, 10) # math.log2 takes only one argument.
|
|
math.log10(1, 2) # math.log10 takes only one argument.
|
|
|
|
math.log(1, base=2) # math.log does not accept keyword arguments.
|
|
|
|
|
|
def log(*args):
|
|
print(f"Logging: {args}")
|
|
|
|
|
|
log(1, 2)
|
|
log(1, 10)
|
|
log(1, math.e)
|
|
|
|
math.log(1, 2.0001)
|
|
math.log(1, 10.0001)
|