diff options
| author | Zack M. Davis <code@zackmdavis.net> | 2017-07-14 08:50:22 -0700 |
|---|---|---|
| committer | Zack M. Davis <code@zackmdavis.net> | 2017-07-14 10:51:14 -0700 |
| commit | 30ad6252a3ab9e396c22d234a8b018df29c1dde9 (patch) | |
| tree | fbeedcf2ab5b8aaffa15b943a15900e03b28f4a0 | |
| parent | 20f77c6dfd49aac98f217a313ce399644f56ab54 (diff) | |
| download | rust-30ad6252a3ab9e396c22d234a8b018df29c1dde9.tar.gz rust-30ad6252a3ab9e396c22d234a8b018df29c1dde9.zip | |
add u128/i128 to sum/product implementors
Resolves #43235.
| -rw-r--r-- | src/libcore/iter/traits.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/i128.rs | 4 | ||||
| -rw-r--r-- | src/test/run-pass/u128.rs | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/libcore/iter/traits.rs b/src/libcore/iter/traits.rs index 679cf3a9b23..d35aa026685 100644 --- a/src/libcore/iter/traits.rs +++ b/src/libcore/iter/traits.rs @@ -732,7 +732,7 @@ macro_rules! float_sum_product { )*) } -integer_sum_product! { i8 i16 i32 i64 isize u8 u16 u32 u64 usize } +integer_sum_product! { i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize } float_sum_product! { f32 f64 } /// An iterator adapter that produces output as long as the underlying diff --git a/src/test/run-pass/i128.rs b/src/test/run-pass/i128.rs index c5057f70c06..7c14d34b0ee 100644 --- a/src/test/run-pass/i128.rs +++ b/src/test/run-pass/i128.rs @@ -109,4 +109,8 @@ fn main() { assert_eq!(b(-87559967289969187895646876466835277875_i128) / b(84285771033834995895337664386045050880_i128), -1i128); + + // iter-arithmetic traits + assert_eq!(10i128, [1i128, 2, 3, 4].iter().sum()); + assert_eq!(24i128, [1i128, 2, 3, 4].iter().product()); } diff --git a/src/test/run-pass/u128.rs b/src/test/run-pass/u128.rs index cfd616c56b4..b16f6c7b6af 100644 --- a/src/test/run-pass/u128.rs +++ b/src/test/run-pass/u128.rs @@ -122,4 +122,8 @@ fn main() { assert_eq!(b(0x679289ac23bb334f_36144401cf882172_u128) / b(0x7b0b271b64865f05_f54a7b72746c062f_u128), 0u128); + + // iter-arithmetic traits + assert_eq!(10u128, [1u128, 2, 3, 4].iter().sum()); + assert_eq!(24u128, [1u128, 2, 3, 4].iter().product()); } |
