To implement an iterator in Rust, we only need to implement the next method, as explained in the documentation. However, the Iterator trait has many more methods.
As far as I know, we need to implement all the methods of a trait. For instance, this does not compile (playground link):
struct SomeStruct {}
trait SomeTrait {
    fn foo(&self);
    fn bar(&self);
}
impl SomeTrait for SomeStruct {
    fn foo(&self) {
        unimplemented!()
    }
}
fn main() {}
The error is pretty clear:
error[E0046]: not all trait items implemented, missing: `bar`
 --> src/main.rs:8:1
  |
5 |     fn bar(&self);
  |     -------------- `bar` from trait
...
8 | impl SomeTrait for SomeStruct {
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `bar` in implementation