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