Inplace class definitions causes infinite looping
class Foo: def __init__(self: "Foo", bar: i32): self.bar: i32 = bar def __repr__(self: "Foo") -> str: return str(self.bar) def main(): a: Foo = Foo(10) print(a) main()
Works fine but if we make a Foo instance inplace in print
def main(): print(Foo(10))
this causes an infinite loop.
This also happens in case of functions taking in a Foo param
def foobar(a: Foo): print(a)
I imagine we need to add an error for as of now unsupported feature
PS: I had encountered a similar problem in my PR I simply threw an error for that case