-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Labels
bugSomething isn't workingSomething isn't workingconfigurationRelated to settings and configurationRelated to settings and configurationfixesRelated to suggested fixes for violationsRelated to suggested fixes for violations
Description
I obtain errors with ICN001 when trying to apply autofix (in 'unsafe' mode) that should ideally convert the import from from A1.A2.AN import B to import A1.A2.AN.
For example, consider the following simple source file moo.py:
from math import sin
sin(42)And then the following configuration for ruff in pyproject.toml
[project]
name = "moo"
version = "0.1.0"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"ruff>=0.7.4",
]
[tool.ruff.lint]
select = ["ICN001"]
[tool.ruff.lint.flake8-import-conventions.aliases]
"math.sin" = "math.sin"I get the following error:
> uv run ruff check --fix --unsafe-fixes moo.py
error: Fix introduced a syntax error. Reverting all changes.
This indicates a bug in Ruff. If you could open an issue at:
https://github.com/astral-sh/ruff/issues/new?title=%5BFix%20error%5D
...quoting the contents of `moo.py`, the rule codes ICN001, along with the `pyproject.toml` settings and executed command, we'd be very appreciative!
moo.py:1:18: ICN001 `math.sin` should be imported as `math.sin`
|
1 | from math import sin
| ^^^ ICN001
2 |
3 | sin(42)
|
= help: Alias `math.sin` to `math.sin`
Found 1 error.
[*] 1 fixable with the --fix option.I'm not 100% sure that I'm not abusing the intention of this rule, since here I'm trying to use the rule to enforce the absence of an alias, rather than a conventional alias :)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingconfigurationRelated to settings and configurationRelated to settings and configurationfixesRelated to suggested fixes for violationsRelated to suggested fixes for violations