extern int !& x; class foo { foo(){ } ~foo() { operator=(x, operator+(x, 1)); } }; fun operator= (foo !& x, foo const& y) -> foo !&; fun bar () -> void @; fun main () -> int @;