]> git.proxmox.com Git - rustc.git/blame - vendor/rustc-rayon/src/compile_fail/no_send_par_iter.rs
New upstream version 1.70.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
353b0b11 13let x = Some(NoSend(null()));
532ac7d7 14
353b0b11
FG
15x.par_iter()
16 .map(|&x| x) //~ ERROR
17 .count(); //~ ERROR
532ac7d7
XL
18
19``` */
20mod map {}
21
923072b8 22/** ```compile_fail,E0277
532ac7d7
XL
23
24use rayon::prelude::*;
25use std::ptr::null;
26
27#[derive(Copy, Clone)]
28struct NoSend(*const ());
29
30unsafe impl Sync for NoSend {}
31
353b0b11 32let x = Some(NoSend(null()));
532ac7d7 33
353b0b11
FG
34x.par_iter()
35 .filter_map(|&x| Some(x)) //~ ERROR
36 .count(); //~ ERROR
532ac7d7
XL
37
38``` */
39mod filter_map {}
40
923072b8 41/** ```compile_fail,E0277
532ac7d7
XL
42
43use rayon::prelude::*;
44use std::ptr::null;
45
46#[derive(Copy, Clone)]
47struct NoSend(*const ());
48
49unsafe impl Sync for NoSend {}
50
353b0b11 51let x = Some(NoSend(null()));
532ac7d7 52
353b0b11
FG
53x.par_iter()
54 .cloned() //~ ERROR
55 .count(); //~ ERROR
532ac7d7
XL
56
57``` */
58mod cloned {}