]> git.proxmox.com Git - rustc.git/blame - vendor/rustc-rayon/src/compile_fail/no_send_par_iter.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / rustc-rayon / src / compile_fail / no_send_par_iter.rs
CommitLineData
532ac7d7
XL
1// Check that `!Send` types fail early.
2
923072b8 3/** ```compile_fail,E0277
532ac7d7
XL
4
5use rayon::prelude::*;
6use std::ptr::null;
7
8#[derive(Copy, Clone)]
9struct NoSend(*const ());
10
11unsafe impl Sync for NoSend {}
12
13fn main() {
14 let x = Some(NoSend(null()));
15
16 x.par_iter()
17 .map(|&x| x) //~ ERROR
18 .count(); //~ ERROR
19}
20
21``` */
22mod map {}
23
923072b8 24/** ```compile_fail,E0277
532ac7d7
XL
25
26use rayon::prelude::*;
27use std::ptr::null;
28
29#[derive(Copy, Clone)]
30struct NoSend(*const ());
31
32unsafe impl Sync for NoSend {}
33
34fn main() {
35 let x = Some(NoSend(null()));
36
37 x.par_iter()
38 .filter_map(|&x| Some(x)) //~ ERROR
39 .count(); //~ ERROR
40}
41
42``` */
43mod filter_map {}
44
923072b8 45/** ```compile_fail,E0277
532ac7d7
XL
46
47use rayon::prelude::*;
48use std::ptr::null;
49
50#[derive(Copy, Clone)]
51struct NoSend(*const ());
52
53unsafe impl Sync for NoSend {}
54
55fn main() {
56 let x = Some(NoSend(null()));
57
58 x.par_iter()
59 .cloned() //~ ERROR
60 .count(); //~ ERROR
61}
62
63``` */
64mod cloned {}