`Range` should implement `Hash` if the value it holds implements `Hash`. Something like: ``` impl<T> core::hash::Hash for core::ops::Range<T> where T: core::hash::Hash { fn hash<H>(&self, state: &mut H) where H: core::hash::Hasher { core::hash::Hash::hash(self.start, state); core::hash::Hash::hash(self.end, state); } } ```