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