summaryrefslogtreecommitdiffstats
path: root/tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr')
-rw-r--r--tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr258
1 files changed, 253 insertions, 5 deletions
diff --git a/tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr b/tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr
index d20f146df..497ec5bcf 100644
--- a/tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr
+++ b/tests/ui/rfcs/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr
@@ -1,8 +1,256 @@
-error: `~const` and `?` are mutually exclusive
- --> $DIR/tilde-const-invalid-places.rs:4:25
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:7:26
|
-LL | struct TildeQuestion<T: ~const ?Sized>(std::marker::PhantomData<T>);
- | ^^^^^^^^^^^^^
+LL | fn non_const_function<T: ~const Trait>() {}
+ | ^^^^^^
+ |
+note: this function is not `const`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:7:4
+ |
+LL | fn non_const_function<T: ~const Trait>() {}
+ | ^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:9:18
+ |
+LL | struct Struct<T: ~const Trait> { field: T }
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:10:23
+ |
+LL | struct TupleStruct<T: ~const Trait>(T);
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:11:22
+ |
+LL | struct UnitStruct<T: ~const Trait>;
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:13:14
+ |
+LL | enum Enum<T: ~const Trait> { Variant(T) }
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:15:16
+ |
+LL | union Union<T: ~const Trait> { field: T }
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:17:14
+ |
+LL | type Type<T: ~const Trait> = T;
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:19:19
+ |
+LL | const CONSTANT<T: ~const Trait>: () = ();
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:23:18
+ |
+LL | type Type<T: ~const Trait>: ~const Trait;
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:23:33
+ |
+LL | type Type<T: ~const Trait>: ~const Trait;
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:26:30
+ |
+LL | fn non_const_function<T: ~const Trait>();
+ | ^^^^^^
+ |
+note: this function is not `const`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:26:8
+ |
+LL | fn non_const_function<T: ~const Trait>();
+ | ^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:27:23
+ |
+LL | const CONSTANT<T: ~const Trait>: ();
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:32:18
+ |
+LL | type Type<T: ~const Trait> = ();
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:33:30
+ |
+LL | fn non_const_function<T: ~const Trait>() {}
+ | ^^^^^^
+ |
+note: this function is not `const`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:33:8
+ |
+LL | fn non_const_function<T: ~const Trait>() {}
+ | ^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:34:23
+ |
+LL | const CONSTANT<T: ~const Trait>: () = ();
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:41:18
+ |
+LL | type Type<T: ~const Trait> = ();
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:43:30
+ |
+LL | fn non_const_function<T: ~const Trait>() {}
+ | ^^^^^^
+ |
+note: this function is not `const`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:43:8
+ |
+LL | fn non_const_function<T: ~const Trait>() {}
+ | ^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:44:23
+ |
+LL | const CONSTANT<T: ~const Trait>: () = ();
+ | ^^^^^^
+ |
+ = note: this item cannot have `~const` trait bounds
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:49:15
+ |
+LL | trait Child0: ~const Trait {}
+ | ^^^^^^
+ |
+note: this trait is not a `#[const_trait]`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:49:1
+ |
+LL | trait Child0: ~const Trait {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:50:26
+ |
+LL | trait Child1 where Self: ~const Trait {}
+ | ^^^^^^
+ |
+note: this trait is not a `#[const_trait]`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:50:1
+ |
+LL | trait Child1 where Self: ~const Trait {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:53:9
+ |
+LL | impl<T: ~const Trait> Trait for T {}
+ | ^^^^^^
+ |
+note: this impl is not `const`, so it cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:53:1
+ |
+LL | impl<T: ~const Trait> Trait for T {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: `~const` is not allowed here
+ --> $DIR/tilde-const-invalid-places.rs:56:9
+ |
+LL | impl<T: ~const Trait> Struct<T> {}
+ | ^^^^^^
+ |
+note: inherent impls cannot have `~const` trait bounds
+ --> $DIR/tilde-const-invalid-places.rs:56:1
+ |
+LL | impl<T: ~const Trait> Struct<T> {}
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0658]: generic const items are experimental
+ --> $DIR/tilde-const-invalid-places.rs:19: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
+
+error[E0658]: generic const items are experimental
+ --> $DIR/tilde-const-invalid-places.rs:27: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
+
+error[E0658]: generic const items are experimental
+ --> $DIR/tilde-const-invalid-places.rs:34: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
+
+error[E0658]: generic const items are experimental
+ --> $DIR/tilde-const-invalid-places.rs:44: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
+
+error[E0658]: inherent associated types are unstable
+ --> $DIR/tilde-const-invalid-places.rs:41: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
-error: aborting due to previous error
+error: aborting due to 27 previous errors
+For more information about this error, try `rustc --explain E0658`.