It seems they added a panic! for last without documenting it, or am I missing it? (count does document the panic! in Iterator: Iterator in std::iter - Rust)
I must say that i don't particularly like the fact that certain implementations of Iterator panic and thus may cause unpredictable behavior for trait bounded generic types. Maybe this particular edge case of Repeat shows that certain iterator features should be outsourced into separate traits which are only implemented for types where such a method makes sense.
Well, with that panic! now in stable rust, for me it must be documented in two places :
In the Iterator trait to say that last may panic (for Iterator without a last element?)
In the Repeat implementation, as the panic! is systematic when calling last
Also, I don't understand why they decided to panic! when Iterator::last return an option that can be None (and the documentation isn't clean why/when it should/may return None)