#![feature(negative_impls)] #![deny(suspicious_auto_trait_impls)] use std::marker::PhantomData; struct ContainsVec(Vec); impl !Send for ContainsVec {} //~^ ERROR //~| WARNING this will change its meaning pub struct WithPhantomDataSend(PhantomData, U); impl !Send for WithPhantomDataSend<*const T, u8> {} //~^ ERROR //~| WARNING this will change its meaning pub struct WithLifetime<'a, T>(&'a (), T); impl !Sync for WithLifetime<'static, Option> {} //~^ ERROR //~| WARNING this will change its meaning fn main() {}