| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:7:26 |
| | |
| LL | fn non_const_function<T: [const] Trait>() {} |
| | ^^^^^^^ |
| | |
| note: this function is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:7:4 |
| | |
| LL | fn non_const_function<T: [const] Trait>() {} |
| | ^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:9:18 |
| | |
| LL | struct Struct<T: [const] Trait> { field: T } |
| | ^^^^^^^ |
| | |
| note: structs cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:9:1 |
| | |
| LL | struct Struct<T: [const] Trait> { field: T } |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:10:23 |
| | |
| LL | struct TupleStruct<T: [const] Trait>(T); |
| | ^^^^^^^ |
| | |
| note: structs cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:10:1 |
| | |
| LL | struct TupleStruct<T: [const] Trait>(T); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:11:22 |
| | |
| LL | struct UnitStruct<T: [const] Trait>; |
| | ^^^^^^^ |
| | |
| note: structs cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:11:1 |
| | |
| LL | struct UnitStruct<T: [const] Trait>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:14:14 |
| | |
| LL | enum Enum<T: [const] Trait> { Variant(T) } |
| | ^^^^^^^ |
| | |
| note: enums cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:14:1 |
| | |
| LL | enum Enum<T: [const] Trait> { Variant(T) } |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:16:16 |
| | |
| LL | union Union<T: [const] Trait> { field: T } |
| | ^^^^^^^ |
| | |
| note: unions cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:16:1 |
| | |
| LL | union Union<T: [const] Trait> { field: T } |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:19:14 |
| | |
| LL | type Type<T: [const] Trait> = T; |
| | ^^^^^^^ |
| | |
| = note: this item cannot have `[const]` trait bounds |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:21:19 |
| | |
| LL | const CONSTANT<T: [const] Trait>: () = (); |
| | ^^^^^^^ |
| | |
| = note: this item cannot have `[const]` trait bounds |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:25:18 |
| | |
| LL | type Type<T: [const] Trait>: [const] Trait; |
| | ^^^^^^^ |
| | |
| note: associated types in non-`const` traits cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:25:5 |
| | |
| LL | type Type<T: [const] Trait>: [const] Trait; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:25:34 |
| | |
| LL | type Type<T: [const] Trait>: [const] Trait; |
| | ^^^^^^^ |
| | |
| note: associated types in non-`const` traits cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:25:5 |
| | |
| LL | type Type<T: [const] Trait>: [const] Trait; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:28:30 |
| | |
| LL | fn non_const_function<T: [const] Trait>(); |
| | ^^^^^^^ |
| | |
| note: this function is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:28:8 |
| | |
| LL | fn non_const_function<T: [const] Trait>(); |
| | ^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:29:23 |
| | |
| LL | const CONSTANT<T: [const] Trait>: (); |
| | ^^^^^^^ |
| | |
| = note: this item cannot have `[const]` trait bounds |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:34:18 |
| | |
| LL | type Type<T: [const] Trait> = (); |
| | ^^^^^^^ |
| | |
| note: associated types in non-const impls cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:34:5 |
| | |
| LL | type Type<T: [const] Trait> = (); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:36:30 |
| | |
| LL | fn non_const_function<T: [const] Trait>() {} |
| | ^^^^^^^ |
| | |
| note: this function is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:36:8 |
| | |
| LL | fn non_const_function<T: [const] Trait>() {} |
| | ^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:37:23 |
| | |
| LL | const CONSTANT<T: [const] Trait>: () = (); |
| | ^^^^^^^ |
| | |
| = note: this item cannot have `[const]` trait bounds |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:44:18 |
| | |
| LL | type Type<T: [const] Trait> = (); |
| | ^^^^^^^ |
| | |
| note: inherent associated types cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:44:5 |
| | |
| LL | type Type<T: [const] Trait> = (); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:46:30 |
| | |
| LL | fn non_const_function<T: [const] Trait>() {} |
| | ^^^^^^^ |
| | |
| note: this function is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:46:8 |
| | |
| LL | fn non_const_function<T: [const] Trait>() {} |
| | ^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:47:23 |
| | |
| LL | const CONSTANT<T: [const] Trait>: () = (); |
| | ^^^^^^^ |
| | |
| = note: this item cannot have `[const]` trait bounds |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:52:15 |
| | |
| LL | trait Child0: [const] Trait {} |
| | ^^^^^^^ |
| | |
| note: this trait is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:52:1 |
| | |
| LL | trait Child0: [const] Trait {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:53:26 |
| | |
| LL | trait Child1 where Self: [const] Trait {} |
| | ^^^^^^^ |
| | |
| note: this trait is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:53:1 |
| | |
| LL | trait Child1 where Self: [const] Trait {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:56:9 |
| | |
| LL | impl<T: [const] Trait> Trait for T {} |
| | ^^^^^^^ |
| | |
| note: this impl is not `const`, so it cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:56:1 |
| | |
| LL | impl<T: [const] Trait> Trait for T {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: `[const]` is not allowed here |
| --> $DIR/conditionally-const-invalid-places.rs:59:9 |
| | |
| LL | impl<T: [const] Trait> Struct<T> {} |
| | ^^^^^^^ |
| | |
| note: inherent impls cannot have `[const]` trait bounds |
| --> $DIR/conditionally-const-invalid-places.rs:59:1 |
| | |
| LL | impl<T: [const] Trait> Struct<T> {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0658]: generic const items are experimental |
| --> $DIR/conditionally-const-invalid-places.rs:21:15 |
| | |
| LL | const CONSTANT<T: [const] Trait>: () = (); |
| | ^^^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #113521 <https://github.com/rust-lang/rust/issues/113521> for more information |
| = help: add `#![feature(generic_const_items)]` to the crate attributes to enable |
| = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date |
| |
| error[E0658]: generic const items are experimental |
| --> $DIR/conditionally-const-invalid-places.rs:29:19 |
| | |
| LL | const CONSTANT<T: [const] Trait>: (); |
| | ^^^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #113521 <https://github.com/rust-lang/rust/issues/113521> for more information |
| = help: add `#![feature(generic_const_items)]` to the crate attributes to enable |
| = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date |
| |
| error[E0658]: generic const items are experimental |
| --> $DIR/conditionally-const-invalid-places.rs:37:19 |
| | |
| LL | const CONSTANT<T: [const] Trait>: () = (); |
| | ^^^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #113521 <https://github.com/rust-lang/rust/issues/113521> for more information |
| = help: add `#![feature(generic_const_items)]` to the crate attributes to enable |
| = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date |
| |
| error[E0658]: generic const items are experimental |
| --> $DIR/conditionally-const-invalid-places.rs:47:19 |
| | |
| LL | const CONSTANT<T: [const] Trait>: () = (); |
| | ^^^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #113521 <https://github.com/rust-lang/rust/issues/113521> for more information |
| = help: add `#![feature(generic_const_items)]` to the crate attributes to enable |
| = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date |
| |
| error[E0392]: type parameter `T` is never used |
| --> $DIR/conditionally-const-invalid-places.rs:11:19 |
| | |
| LL | struct UnitStruct<T: [const] Trait>; |
| | ^ unused type parameter |
| | |
| = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData` |
| |
| error[E0740]: field must implement `Copy` or be wrapped in `ManuallyDrop<...>` to be used in a union |
| --> $DIR/conditionally-const-invalid-places.rs:16:33 |
| | |
| LL | union Union<T: [const] Trait> { field: T } |
| | ^^^^^^^^ |
| | |
| = note: union fields must not have drop side-effects, which is currently enforced via either `Copy` or `ManuallyDrop<...>` |
| help: wrap the field type in `ManuallyDrop<...>` |
| | |
| LL | union Union<T: [const] Trait> { field: std::mem::ManuallyDrop<T> } |
| | +++++++++++++++++++++++ + |
| |
| error[E0275]: overflow evaluating the requirement `(): Trait` |
| --> $DIR/conditionally-const-invalid-places.rs:34:35 |
| | |
| LL | type Type<T: [const] Trait> = (); |
| | ^^ |
| | |
| note: required by a bound in `NonConstTrait::Type` |
| --> $DIR/conditionally-const-invalid-places.rs:25:34 |
| | |
| LL | type Type<T: [const] Trait>: [const] Trait; |
| | ^^^^^^^^^^^^^ required by this bound in `NonConstTrait::Type` |
| |
| error[E0658]: inherent associated types are unstable |
| --> $DIR/conditionally-const-invalid-places.rs:44:5 |
| | |
| LL | type Type<T: [const] Trait> = (); |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #8995 <https://github.com/rust-lang/rust/issues/8995> for more information |
| = help: add `#![feature(inherent_associated_types)]` to the crate attributes to enable |
| = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date |
| |
| error: aborting due to 30 previous errors |
| |
| Some errors have detailed explanations: E0275, E0392, E0658, E0740. |
| For more information about an error, try `rustc --explain E0275`. |