diff options
| author | bors <bors@rust-lang.org> | 2017-07-16 12:42:56 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-07-16 12:42:56 +0000 |
| commit | 8f1339af2e5d1b33ec9ee3c8a3c531bcd61770fc (patch) | |
| tree | 73ce39b7ac7e5998d443e28bfeed25a524dfd3fb /src | |
| parent | be18613281e590fdb16f40b10c871abfd4bc9653 (diff) | |
| parent | 30ad6252a3ab9e396c22d234a8b018df29c1dde9 (diff) | |
| download | rust-8f1339af2e5d1b33ec9ee3c8a3c531bcd61770fc.tar.gz rust-8f1339af2e5d1b33ec9ee3c8a3c531bcd61770fc.zip | |
Auto merge of #43237 - zackmdavis:missing_sum_and_product_for_128_bit_integers, r=nagisa
add u128/i128 to sum/product implementors Resolves #43235.
Diffstat (limited to 'src')
| -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()); } |
