about summary refs log tree commit diff
path: root/tests/ui/specialization/defaultimpl/validation.rs
blob: 78f6099c3dd99031bc630e738cf38c49eee1b460 (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() {}