Skip to content

Commit 8f1339a

Browse files
committedJul 16, 2017
Auto merge of #43237 - zackmdavis:missing_sum_and_product_for_128_bit_integers, r=nagisa
add u128/i128 to sum/product implementors Resolves #43235.
2 parents be18613 + 30ad625 commit 8f1339a

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed
 

‎src/libcore/iter/traits.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ macro_rules! float_sum_product {
732732
)*)
733733
}
734734

735-
integer_sum_product! { i8 i16 i32 i64 isize u8 u16 u32 u64 usize }
735+
integer_sum_product! { i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize }
736736
float_sum_product! { f32 f64 }
737737

738738
/// An iterator adapter that produces output as long as the underlying

‎src/test/run-pass/i128.rs

+4
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,8 @@ fn main() {
109109
assert_eq!(b(-87559967289969187895646876466835277875_i128) /
110110
b(84285771033834995895337664386045050880_i128),
111111
-1i128);
112+
113+
// iter-arithmetic traits
114+
assert_eq!(10i128, [1i128, 2, 3, 4].iter().sum());
115+
assert_eq!(24i128, [1i128, 2, 3, 4].iter().product());
112116
}

‎src/test/run-pass/u128.rs

+4
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,8 @@ fn main() {
122122
assert_eq!(b(0x679289ac23bb334f_36144401cf882172_u128) /
123123
b(0x7b0b271b64865f05_f54a7b72746c062f_u128),
124124
0u128);
125+
126+
// iter-arithmetic traits
127+
assert_eq!(10u128, [1u128, 2, 3, 4].iter().sum());
128+
assert_eq!(24u128, [1u128, 2, 3, 4].iter().product());
125129
}

0 commit comments

Comments
 (0)