ref: e363cc6bdebc37d56a27cd4fc3d9b03db4c2d6d6
dir: /test/custiter.myr/
use std
type range = struct
lo : int
hi : int
;;
/* iterate up to 100 */
impl iterable range -> int =
__iternext__ = {rng, output
if rng.lo > rng.hi
-> false
else
output# = rng.lo++
-> true
;;
}
__iterfin__ = {it, val
}
;;
const main = {
var r : range
var x : int
r = [.lo=6, .hi=11]
for v : r
x = v
std.put("{}", x)
;;
std.put("\n")
}