Resurrecting impl Trait
aturon.github.io
aturon.github.io
And why is a new sigil required, instead of:
fn produce_iter_static<I: Iterator<u8>>() -> IOpt in built in trait. These are traits that implemented for everything by default. They are generally marker traits for some kind of functionality. The standard library has Sync (shared memory thread-safe) and Send (thread safe to send over a channel). Some more detail can be found in the RFC[1] that implemented them.
[1] https://github.com/rust-lang/rfcs/blob/master/text/0019-opt-...