blob: 22cbf74e5b48e53653d3a1d03c1409a629bba4cc [file] [log] [blame]
// Check that `!Send` types fail early.
/** ```compile_fail,E0277,E0599
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,E0599
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,E0599
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 {}