If you have a module and a symbol of the same name, https://docs.astral.sh/ruff/rules/redefined-while-unused/ may result in broken code.
Using version: 0.3.2
Repro
import datetime
from datetime import datetime
datetime(1, 2, 3)
Expected
The first import (shadowed) should be removed.
Observed
--- foo.py
+++ foo.py
@@ -2,6 +2,4 @@
import datetime
-from datetime import datetime
-
print(datetime(1, 2, 3))
$ python3 foo.py
Traceback (most recent call last):
File "foo.py", line 5, in <module>
datetime(1, 2, 3)
TypeError: 'module' object is not callable. Did you mean: 'datetime.datetime(...)'?