]> git.lizzy.rs Git - rust.git/blob - tests/ui/threads-sendsync/task-comm-6.rs
Auto merge of #106853 - TimNN:undo-remap, r=oli-obk
[rust.git] / tests / ui / threads-sendsync / task-comm-6.rs
1 // run-pass
2 #![allow(unused_mut)]
3 #![allow(unused_assignments)]
4
5 use std::sync::mpsc::channel;
6
7 pub fn main() { test00(); }
8
9 fn test00() {
10     let mut r: isize = 0;
11     let mut sum: isize = 0;
12     let (tx, rx) = channel();
13     let mut tx0 = tx.clone();
14     let mut tx1 = tx.clone();
15     let mut tx2 = tx.clone();
16     let mut tx3 = tx.clone();
17     let number_of_messages: isize = 1000;
18     let mut i: isize = 0;
19     while i < number_of_messages {
20         tx0.send(i + 0).unwrap();
21         tx1.send(i + 0).unwrap();
22         tx2.send(i + 0).unwrap();
23         tx3.send(i + 0).unwrap();
24         i += 1;
25     }
26     i = 0;
27     while i < number_of_messages {
28         r = rx.recv().unwrap();
29         sum += r;
30         r = rx.recv().unwrap();
31         sum += r;
32         r = rx.recv().unwrap();
33         sum += r;
34         r = rx.recv().unwrap();
35         sum += r;
36         i += 1;
37     }
38     assert_eq!(sum, 1998000);
39     // assert (sum == 4 * ((number_of_messages *
40     //                   (number_of_messages - 1)) / 2));
41
42 }