]> git.lizzy.rs Git - rust.git/blob - src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs
Merge commit '3c7e7dbc1583a0b06df5bd7623dd354a4debd23d' into clippyup
[rust.git] / src / test / ui / iterators / iter-sum-overflow-overflow-checks.rs
1 // run-pass
2 // needs-unwind
3 // ignore-wasm32-bare compiled with panic=abort by default
4 // compile-flags: -C overflow-checks
5
6 use std::panic;
7
8 fn main() {
9     let r = panic::catch_unwind(|| {
10         [1, i32::MAX].iter().sum::<i32>();
11     });
12     assert!(r.is_err());
13
14     let r = panic::catch_unwind(|| {
15         [2, i32::MAX].iter().product::<i32>();
16     });
17     assert!(r.is_err());
18
19     let r = panic::catch_unwind(|| {
20         [1, i32::MAX].iter().cloned().sum::<i32>();
21     });
22     assert!(r.is_err());
23
24     let r = panic::catch_unwind(|| {
25         [2, i32::MAX].iter().cloned().product::<i32>();
26     });
27     assert!(r.is_err());
28 }