let x = @int(0); class foo { foo() { } foo(foo) { } ~foo() { x = x + 1; } }; fun operator=(foo! x, foo y) -> foo! { return x; } struct bar { foo f; int y; }; fun yow() -> int@ { let b = @bar{ f = @foo(), y = 2 }; return b.y; } fun main() -> int@ { let y = yow(); return x - y; }