| #![feature(impl_restriction, auto_traits, const_trait_impl, trait_alias)] |
| |
| impl(crate) trait Alias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| impl(in crate) auto trait AutoAlias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| //~^ ERROR trait aliases cannot be `auto` |
| impl(self) unsafe trait UnsafeAlias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| //~^ ERROR trait aliases cannot be `unsafe` |
| impl(in self) const trait ConstAlias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| |
| mod foo { |
| impl(super) trait InnerAlias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| impl(in crate::foo) const unsafe trait InnerConstUnsafeAlias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| //~^ ERROR trait aliases cannot be `unsafe` |
| impl(in crate::foo) unsafe auto trait InnerUnsafeAutoAlias = Copy; //~ ERROR trait aliases cannot be `impl`-restricted |
| //~^ ERROR trait aliases cannot be `auto` |
| //~^^ ERROR trait aliases cannot be `unsafe` |
| } |
| |
| fn main() {} |