ref: 5927f8f8d3b4ab40d2aacfae4b3cbd593c5e7f01
dir: /lib/iter/ref.myr/
use std pkg iter = type refiter(@a) = struct idx : std.size sl : @a[:] ;; impl iterable refiter(@a) -> @a# generic byref : (sl : @a[:] -> refiter(@a)) ;; generic byref = {a -> [.sl = a, .idx = 0] } impl iterable refiter(@a) -> @a# = __iternext__ = {itp, valp if itp.idx == itp.sl.len -> false ;; valp# = &itp.sl[itp.idx] itp.idx++ -> true } __iterfin__ = {itp, valp } ;;