This trait causes an ICE when implemented and casted appropriately (from #23300): ``` rust trait Iterator { type Item; fn next(&mut self) -> Option<Self::Item>; fn cloned(self) -> Cloned<Self> where Self: Sized, Self::Item: Deref, <Self::Item as Deref>::Target: Clone, { Cloned { it: self } } } ``` I'll attach the full test in the PR, it's a pain for me to cut-and-paste it right now :)