namespace; include rt, actor; typecheck on; struct Node { int value; } struct Message { int marker; Node* node; } fn main() { Node* original = rt.new(Node); original.value = 4; let marker = (original as int) + 0; actor.Actor* a = rt.new(actor.Actor); a.spawn(fn:int(Message* m) { return m.marker == marker && m.node as int != m.marker && m.node.value == 4; }); let result = 0; a.recv(fn(int n) { result = n; return 0; }); Message* message = rt.new(Message); message.marker = marker; message.node = original; a.send(message); a.await(); rt.put_n(result); rt.put_c(10); a.close(); return 0; }