Iterators are heavily used in idiomatic Rust code. This is how to use iterators over a standard array collection.
In Rust, the recommended way to define your custom iterator is to use a standard Iterator trait. The example doesn't contain a synthetic iterator interface, because it is really recommended to use the idiomatic Rust way.
A next method is the only Iterator trait method which is mandatory to be implemented. It makes accessible a huge range of standard methods,
e.g. fold, map, for_each.