The Move Field refactoring introduces a circular dependency.
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
Start with the reproduction in the issue: input/a.py defines A with self.owner = self and imports B from b.py. Apply the move-field refactoring to A.owner and check the output, where b.py now imports A and a.py imports B, creating the cycle. The issue does not say how the cycle should be avoided, so confirm the expected behavior with maintainers before coding. Done means the refactored output no longer has a circular import, with a test covering this two-file case.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The MoveField refactoring introduces a circular dependency.
Steps to reproduce the behavior:
- Code before refactoring:
-- input/a.py
from b import B
class A:
def __init__(self):
self.b = B()
self.owner = self
-- input/b.py
class B:
pass
-
Apply the move field to
A.owner -
Code after refactoring:
-- input/a.py
from b import B
class A:
def __init__(self):
self.b = B(self)
-- input/b.py
from a import A
class B:
def __init__(self, owner: A):
self.owner = owner
- Vorherrschende Sprache
- Python
- Sterne
- 2.2k
- Forks
- 197
- Ø Merge
- 1 T. 20 Std.
- Gemergte PRs (30 T.)
- 7
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python-rope/rope
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
python-rope/rope#927 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Extract raises IndexError or ModuleSyntaxError instead of RefactoringError for an empty or whitespace-only regionEvtl. vergeben @aliassar hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
python-rope/rope#926 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
simplify.real_code blanks t-strings, so renames inside them edit the wrong offsetEvtl. vergeben @sean0407 hat das vor 12 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
python-rope/rope#913 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
python-rope/rope#935 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
python-rope/rope#925 ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in python-rope/rope
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
fritzprix/libr-agent#2612 ·
Maintainer antworten meist innerhalb von 1 Tag
-
needs-triage presubmit-gate
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
gke-labs/kube-agents#5001 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
simonw/sqlite-utils#928 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
colorado
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
freelawproject/juriscraper#2405 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
cline/mcp-marketplace#3576 ·