;; An index read is a read, and the escape check's clean list has to be a ;; list. A function value out of a slice is refused exactly as one out of a ;; Vec, a struct or a pointer is — the four are the same act and there is no ;; reason for a reader to have to remember which spellings were enumerated. ;; ;; Not reachable today: nothing can write an Fn into a slice, because every ;; position that would have to hold one is refused. It is here so that the ;; day one can, this is already true — the alternative was a default of ;; "clean" for anything the enumeration had not thought of, which is how a ;; closed list quietly stops being closed. (defn leak [s [(Fn [] i32)]] (Fn [] i32) (at s 0)) (defn main [] i32 0)