diff --git a/src/libcore/iter/range.rs b/src/libcore/iter/range.rs index 66a76a24df45a..a3a6b313f6356 100644 --- a/src/libcore/iter/range.rs +++ b/src/libcore/iter/range.rs @@ -320,6 +320,11 @@ impl Iterator for ops::RangeFrom { self.start = plus_n.add_one(); Some(plus_n) } + + #[inline] + fn min(mut self) -> Option { + self.next() + } } #[unstable(feature = "fused", issue = "35602")] diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs index 8997cf9c6bff9..13a1b66c2e008 100644 --- a/src/libcore/tests/iter.rs +++ b/src/libcore/tests/iter.rs @@ -1397,6 +1397,12 @@ fn test_range_inclusive_min() { assert_eq!(r.min(), None); } +#[test] +fn test_range_from_min() { + assert_eq!((0..).min(), Some(0)); + assert_eq!((-20..).min(), Some(-20)); +} + #[test] fn test_repeat() { let mut it = repeat(42);