]> git.lizzy.rs Git - rust.git/blob - src/test/ui/threads-sendsync/task-comm-4.rs
Rollup merge of #99064 - lyming2007:issue-97687-fix, r=estebank
[rust.git] / src / test / ui / threads-sendsync / task-comm-4.rs
1 // run-pass
2 #![allow(unused_assignments)]
3
4 use std::sync::mpsc::channel;
5
6 pub fn main() { test00(); }
7
8 fn test00() {
9     let mut r: isize = 0;
10     let mut sum: isize = 0;
11     let (tx, rx) = channel();
12     tx.send(1).unwrap();
13     tx.send(2).unwrap();
14     tx.send(3).unwrap();
15     tx.send(4).unwrap();
16     r = rx.recv().unwrap();
17     sum += r;
18     println!("{}", r);
19     r = rx.recv().unwrap();
20     sum += r;
21     println!("{}", r);
22     r = rx.recv().unwrap();
23     sum += r;
24     println!("{}", r);
25     r = rx.recv().unwrap();
26     sum += r;
27     println!("{}", r);
28     tx.send(5).unwrap();
29     tx.send(6).unwrap();
30     tx.send(7).unwrap();
31     tx.send(8).unwrap();
32     r = rx.recv().unwrap();
33     sum += r;
34     println!("{}", r);
35     r = rx.recv().unwrap();
36     sum += r;
37     println!("{}", r);
38     r = rx.recv().unwrap();
39     sum += r;
40     println!("{}", r);
41     r = rx.recv().unwrap();
42     sum += r;
43     println!("{}", r);
44     assert_eq!(sum, 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8);
45 }