// destructors 7: copying a value with a drop into an actor message is an error; two processes would drop it twice namespace; include rt, actor; struct res { int fd; void drop() { rt.put_s("closed"); } } actor Keeper { int total; int handle(res* r) { return r.fd; } } fn main() { Keeper* k = rt.new(Keeper); res* r = rt.new(res); r.fd = 3; k.spawn(); k.send(r); k.close(); return 0; }