Why does Rust want a lifetime for the type when implementing a trait on a reference type?
Why is a lifetime needed when implementing a trait on a reference type if the lifetime is otherwise unused? [fixed in Rust 1.31.0]