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