| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:8:1 |
| | |
| LL | impl(crate) trait Alias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| error: trait aliases cannot be `auto` |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:1 |
| | |
| LL | auto impl(in crate) trait AutoAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `auto` |
| |
| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:10:1 |
| | |
| LL | auto impl(in crate) trait AutoAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| error: trait aliases cannot be `unsafe` |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:1 |
| | |
| LL | unsafe impl(self) trait UnsafeAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe` |
| |
| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:13:1 |
| | |
| LL | unsafe impl(self) trait UnsafeAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:16:1 |
| | |
| LL | const impl(in self) trait ConstAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:20:5 |
| | |
| LL | impl(super) trait InnerAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| error: trait aliases cannot be `unsafe` |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:5 |
| | |
| LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe` |
| |
| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:22:5 |
| | |
| LL | const unsafe impl(in crate::foo) trait InnerConstUnsafeAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| error: trait aliases cannot be `auto` |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5 |
| | |
| LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `auto` |
| |
| error: trait aliases cannot be `unsafe` |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5 |
| | |
| LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `unsafe` |
| |
| error: trait aliases cannot be `impl`-restricted |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:25:5 |
| | |
| LL | unsafe auto impl(in crate::foo) trait InnerUnsafeAutoAlias = Copy; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ trait aliases cannot be `impl`-restricted |
| |
| warning: the feature `impl_restriction` is incomplete and may not be safe to use and/or cause compiler crashes |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:4:32 |
| | |
| LL | #![cfg_attr(with_gate, feature(impl_restriction))] |
| | ^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #105077 <https://github.com/rust-lang/rust/issues/105077> for more information |
| note: the lint level is defined here |
| --> $DIR/trait-alias-cannot-be-impl-restricted.rs:3:9 |
| | |
| LL | #![warn(incomplete_features)] |
| | ^^^^^^^^^^^^^^^^^^^ |
| |
| error: aborting due to 12 previous errors; 1 warning emitted |
| |