### What it does Checks for calls to `iter`, `iter_mut` or `into_iter` on empty collections ### Why is this bad? It is simpler to use the empty function from the standard library: ### Example ``` use std::{slice, option}; let a: slice::Iter = [].iter(); let f: option::IntoIter = None.into_iter(); ``` Use instead: ``` use std::iter; let a: iter::Empty = iter::empty(); let b: iter::Empty = iter::empty(); ``` ### Known problems The type of the resulting iterator might become incompatible with its usage