I couldn't find it in the API guidelines either. From what I understand, the idea is that any trait bounds, which includes generic type parameter bounds and lifetime bound on a type (struct or enum) would be repeated back in the impl block
"In France, for example, a serving of ice cream is typically a single modest scoop, while in America, it’s often three gargantuan scoops."
This was the first thing that struck me when I first moved here. Portions for all kinds of food from ice-cream, to coffee are huge. Why are huge portions such a common thing here?
there is a nice discussion on this issue here: https://github.com/rust-lang/rust-clippy/issues/1689