;;;; A global of move-only type. The dead set is per function, so two functions ;;;; each freeing this is a double free nothing here could see — and a global ;;;; read does not go through the move path at all, so even the one-function ;;;; case would be accepted. Half a rule is worse than none, so the type is ;;;; refused where it is declared. A global *Allocator* is a different thing ;;;; and is allowed: an allocator is a copyable opaque handle. (defvar everything (Vec i32)) (defn main [] i32 0)