I asked why there wasn't an Iterable trait in rust, for just this reason, and was informed that the trait would require higher kinded types. I suspect that once those arrive (sometime after 1.0) that for loops may change to use Iterable instead of Iterator.
Sent from my iPhone > On Jan 1, 2015, at 4:49 AM, Pim Schellart <[email protected]> wrote: > > Dear Rust developers, > > I have just started using rust so this is obviously a stupid question but I > was wondering why .iter() is needed when looping over the elements of an > array? In the following example: > > let a = [1i, 2i, 3i]; > > for e in a.iter() { > println!("{}", e); > } > > why can’t one simply write: > > let a = [1i, 2i, 3i]; > > for e in a { > println!("{}", e); > } > > and have the compiler figure out that ‘a’ has ‘.iter()’ and use it? The form > without .iter() just feels more natural to me in this case. > Please feel free to tell me to RTFM or ask this question elsewhere. > > Regards, > > Pim > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
