]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
0bf4aa26 XL |
2 | #![allow(unused_mut)] |
3 | #![allow(unused_assignments)] | |
1a4d82fc JJ |
4 | |
5 | use std::sync::mpsc::channel; | |
223e47cc LB |
6 | |
7 | pub fn main() { test00(); } | |
8 | ||
9 | fn test00() { | |
c34b1796 AL |
10 | let mut r: isize = 0; |
11 | let mut sum: isize = 0; | |
1a4d82fc JJ |
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(); | |
c34b1796 AL |
17 | let number_of_messages: isize = 1000; |
18 | let mut i: isize = 0; | |
223e47cc | 19 | while i < number_of_messages { |
1a4d82fc JJ |
20 | tx0.send(i + 0).unwrap(); |
21 | tx1.send(i + 0).unwrap(); | |
22 | tx2.send(i + 0).unwrap(); | |
23 | tx3.send(i + 0).unwrap(); | |
223e47cc LB |
24 | i += 1; |
25 | } | |
26 | i = 0; | |
27 | while i < number_of_messages { | |
1a4d82fc | 28 | r = rx.recv().unwrap(); |
223e47cc | 29 | sum += r; |
1a4d82fc | 30 | r = rx.recv().unwrap(); |
223e47cc | 31 | sum += r; |
1a4d82fc | 32 | r = rx.recv().unwrap(); |
223e47cc | 33 | sum += r; |
1a4d82fc | 34 | r = rx.recv().unwrap(); |
223e47cc LB |
35 | sum += r; |
36 | i += 1; | |
37 | } | |
970d7e83 | 38 | assert_eq!(sum, 1998000); |
223e47cc LB |
39 | // assert (sum == 4 * ((number_of_messages * |
40 | // (number_of_messages - 1)) / 2)); | |
41 | ||
42 | } |