about summary refs log tree commit diff
path: root/tests/ui/specialization/defaultimpl/validation.rs
blob: 14771be8982dd9dea982656b67bf63baaab9073a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#![feature(negative_impls)]
#![feature(specialization)] //~ WARN the feature `specialization` is incomplete

struct S;
struct Z;

default impl S {} //~ ERROR inherent impls cannot be `default`

default unsafe impl Send for S {}
//~^ ERROR impls of auto traits cannot be default

default impl !Send for Z {}
//~^ ERROR impls of auto traits cannot be default
//~| ERROR negative impls cannot be default impls
//~| ERROR `!Send` impl requires `Z: Send` but the struct it is implemented for does not

trait Tr {}

default impl !Tr for S {}
//~^ ERROR negative impls cannot be default impls

fn main() {}