import t, c import stdlib import circ_a # ============================================================ # 循环引用测试:模块 B # # circ_b imports circ_a, circ_a imports circ_b — 循环引用 # ClassB.MakeA() 返回 circ_a.ClassA 实例(跨模块构造 + 类型注解) # ============================================================ class ClassB: y: t.CInt def __new__(self, val: t.CInt): r: ClassB | t.CPtr = stdlib.malloc(ClassB.__sizeof__()) return r def __init__(self, val: t.CInt): self.y = val def GetValue(self) -> t.CInt: return self.y def MakeA(self) -> circ_a.ClassA | t.CPtr: a: circ_a.ClassA | t.CPtr = circ_a.ClassA(self.y) return a