]>
Commit | Line | Data |
---|---|---|
532ac7d7 XL |
1 | // Check that `!Send` types fail early. |
2 | ||
923072b8 | 3 | /** ```compile_fail,E0277 |
532ac7d7 XL |
4 | |
5 | use rayon::prelude::*; | |
6 | use std::ptr::null; | |
7 | ||
8 | #[derive(Copy, Clone)] | |
9 | struct NoSend(*const ()); | |
10 | ||
11 | unsafe impl Sync for NoSend {} | |
12 | ||
353b0b11 | 13 | let x = Some(NoSend(null())); |
532ac7d7 | 14 | |
353b0b11 FG |
15 | x.par_iter() |
16 | .map(|&x| x) //~ ERROR | |
17 | .count(); //~ ERROR | |
532ac7d7 XL |
18 | |
19 | ``` */ | |
20 | mod map {} | |
21 | ||
923072b8 | 22 | /** ```compile_fail,E0277 |
532ac7d7 XL |
23 | |
24 | use rayon::prelude::*; | |
25 | use std::ptr::null; | |
26 | ||
27 | #[derive(Copy, Clone)] | |
28 | struct NoSend(*const ()); | |
29 | ||
30 | unsafe impl Sync for NoSend {} | |
31 | ||
353b0b11 | 32 | let x = Some(NoSend(null())); |
532ac7d7 | 33 | |
353b0b11 FG |
34 | x.par_iter() |
35 | .filter_map(|&x| Some(x)) //~ ERROR | |
36 | .count(); //~ ERROR | |
532ac7d7 XL |
37 | |
38 | ``` */ | |
39 | mod filter_map {} | |
40 | ||
923072b8 | 41 | /** ```compile_fail,E0277 |
532ac7d7 XL |
42 | |
43 | use rayon::prelude::*; | |
44 | use std::ptr::null; | |
45 | ||
46 | #[derive(Copy, Clone)] | |
47 | struct NoSend(*const ()); | |
48 | ||
49 | unsafe impl Sync for NoSend {} | |
50 | ||
353b0b11 | 51 | let x = Some(NoSend(null())); |
532ac7d7 | 52 | |
353b0b11 FG |
53 | x.par_iter() |
54 | .cloned() //~ ERROR | |
55 | .count(); //~ ERROR | |
532ac7d7 XL |
56 | |
57 | ``` */ | |
58 | mod cloned {} |