Rollup merge of #143171 - fmease:fix-span-of-maybe-const-mod, r=compiler-errors

Fix the span of trait bound modifier `[const]`

r? project-const-traits or anyone
This commit is contained in:
Matthias Krüger
2025-06-29 06:59:33 +02:00
committed by GitHub
31 changed files with 268 additions and 268 deletions

View File

@@ -1071,7 +1071,7 @@ impl<'a> Parser<'a> {
&& self.look_ahead(1, |t| t.is_keyword(kw::Const))
&& self.look_ahead(2, |t| *t == token::CloseBracket)
{
let start = self.prev_token.span;
let start = self.token.span;
self.bump();
self.expect_keyword(exp!(Const)).unwrap();
self.bump();

View File

@@ -5,145 +5,145 @@ LL | #![feature(const_fn_trait_ref_impls)]
| ^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:14:6
--> $DIR/fn_trait_refs.rs:14:8
|
LL | T: [const] Fn<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:14:6
--> $DIR/fn_trait_refs.rs:14:8
|
LL | T: [const] Fn<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:14:6
--> $DIR/fn_trait_refs.rs:14:8
|
LL | T: [const] Fn<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:21:6
--> $DIR/fn_trait_refs.rs:21:8
|
LL | T: [const] FnMut<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:21:6
--> $DIR/fn_trait_refs.rs:21:8
|
LL | T: [const] FnMut<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:21:6
--> $DIR/fn_trait_refs.rs:21:8
|
LL | T: [const] FnMut<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:28:6
--> $DIR/fn_trait_refs.rs:28:8
|
LL | T: [const] FnOnce<()>,
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:28:6
--> $DIR/fn_trait_refs.rs:28:8
|
LL | T: [const] FnOnce<()>,
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:28:6
--> $DIR/fn_trait_refs.rs:28:8
|
LL | T: [const] FnOnce<()>,
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:35:6
--> $DIR/fn_trait_refs.rs:35:8
|
LL | T: [const] Fn<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:35:6
--> $DIR/fn_trait_refs.rs:35:8
|
LL | T: [const] Fn<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:35:6
--> $DIR/fn_trait_refs.rs:35:8
|
LL | T: [const] Fn<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:49:6
--> $DIR/fn_trait_refs.rs:49:8
|
LL | T: [const] FnMut<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:49:6
--> $DIR/fn_trait_refs.rs:49:8
|
LL | T: [const] FnMut<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/fn_trait_refs.rs:49:6
--> $DIR/fn_trait_refs.rs:49:8
|
LL | T: [const] FnMut<()> + [const] Destruct,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,17 +1,17 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/unstable-const-fn-in-libcore.rs:19:30
--> $DIR/unstable-const-fn-in-libcore.rs:19:32
|
LL | const fn unwrap_or_else<F: [const] FnOnce() -> T>(self, f: F) -> T {
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/unstable-const-fn-in-libcore.rs:19:30
--> $DIR/unstable-const-fn-in-libcore.rs:19:32
|
LL | const fn unwrap_or_else<F: [const] FnOnce() -> T>(self, f: F) -> T {
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,17 +1,17 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/normalize-tait-in-const.rs:27:33
--> $DIR/normalize-tait-in-const.rs:27:35
|
LL | const fn with_positive<F: for<'a> [const] Fn(&'a Alias<'a>) + [const] Destruct>(fun: F) {
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/normalize-tait-in-const.rs:27:33
--> $DIR/normalize-tait-in-const.rs:27:35
|
LL | const fn with_positive<F: for<'a> [const] Fn(&'a Alias<'a>) + [const] Destruct>(fun: F) {
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -21,10 +21,10 @@ LL | T: [const] ?Tr,
| there is not a well-defined meaning for a `[const] ?` trait
error: `[const]` may only modify trait bounds, not lifetime bounds
--> $DIR/bounds-type.rs:16:6
--> $DIR/bounds-type.rs:16:8
|
LL | T: [const] 'a,
| ^^^^^^^^^
| ^^^^^^^
error: `const` may only modify trait bounds, not lifetime bounds
--> $DIR/bounds-type.rs:17:8

View File

@@ -1,55 +1,55 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const_trait_impl.rs:34:7
--> $DIR/const_trait_impl.rs:34:9
|
LL | impl<T: [const] Default> const A for T {
| ^^^^^^^^^ can't be applied to `Default`
| ^^^^^^^ can't be applied to `Default`
|
note: `Default` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/default.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const_trait_impl.rs:40:7
--> $DIR/const_trait_impl.rs:40:9
|
LL | impl<T: [const] Default + [const] Sup> const A for T {
| ^^^^^^^^^ can't be applied to `Default`
| ^^^^^^^ can't be applied to `Default`
|
note: `Default` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/default.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const_trait_impl.rs:46:7
--> $DIR/const_trait_impl.rs:46:9
|
LL | impl<T: [const] Default + [const] Sub> const A for T {
| ^^^^^^^^^ can't be applied to `Default`
| ^^^^^^^ can't be applied to `Default`
|
note: `Default` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/default.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const_trait_impl.rs:40:7
--> $DIR/const_trait_impl.rs:40:9
|
LL | impl<T: [const] Default + [const] Sup> const A for T {
| ^^^^^^^^^ can't be applied to `Default`
| ^^^^^^^ can't be applied to `Default`
|
note: `Default` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/default.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const_trait_impl.rs:34:7
--> $DIR/const_trait_impl.rs:34:9
|
LL | impl<T: [const] Default> const A for T {
| ^^^^^^^^^ can't be applied to `Default`
| ^^^^^^^ can't be applied to `Default`
|
note: `Default` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/default.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const_trait_impl.rs:46:7
--> $DIR/const_trait_impl.rs:46:9
|
LL | impl<T: [const] Default + [const] Sub> const A for T {
| ^^^^^^^^^ can't be applied to `Default`
| ^^^^^^^ can't be applied to `Default`
|
note: `Default` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/default.rs:LL:COL

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/conditionally-const-and-const-params.rs:8:13
--> $DIR/conditionally-const-and-const-params.rs:8:15
|
LL | fn add<A: [const] Add42>(self) -> Foo<{ A::add(N) }> {
| ^^^^^^^^^
| ^^^^^^^
|
note: this function is not `const`, so it cannot have `[const]` trait bounds
--> $DIR/conditionally-const-and-const-params.rs:8:8
@@ -11,10 +11,10 @@ LL | fn add<A: [const] Add42>(self) -> Foo<{ A::add(N) }> {
| ^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-and-const-params.rs:26:9
--> $DIR/conditionally-const-and-const-params.rs:26:11
|
LL | fn bar<A: [const] Add42, const N: usize>(_: Foo<N>) -> Foo<{ A::add(N) }> {
| ^^^^^^^^^
| ^^^^^^^
|
note: this function is not `const`, so it cannot have `[const]` trait bounds
--> $DIR/conditionally-const-and-const-params.rs:26:4

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:7:24
--> $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
@@ -11,66 +11,66 @@ LL | fn non_const_function<T: [const] Trait>() {}
| ^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:9:16
--> $DIR/conditionally-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/conditionally-const-invalid-places.rs:10:21
--> $DIR/conditionally-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/conditionally-const-invalid-places.rs:11:20
--> $DIR/conditionally-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/conditionally-const-invalid-places.rs:14:12
--> $DIR/conditionally-const-invalid-places.rs:14:14
|
LL | enum Enum<T: [const] Trait> { Variant(T) }
| ^^^^^^^^^
| ^^^^^^^
|
= note: this item cannot have `[const]` trait bounds
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:16:14
--> $DIR/conditionally-const-invalid-places.rs:16:16
|
LL | union Union<T: [const] Trait> { field: T }
| ^^^^^^^^^
| ^^^^^^^
|
= note: this item cannot have `[const]` trait bounds
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:19:12
--> $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:17
--> $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:16
--> $DIR/conditionally-const-invalid-places.rs:25:18
|
LL | type Type<T: [const] Trait>: [const] Trait;
| ^^^^^^^^^
| ^^^^^^^
|
note: associated types in non-`#[const_trait]` traits cannot have `[const]` trait bounds
--> $DIR/conditionally-const-invalid-places.rs:25:5
@@ -79,10 +79,10 @@ LL | type Type<T: [const] Trait>: [const] Trait;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:25:32
--> $DIR/conditionally-const-invalid-places.rs:25:34
|
LL | type Type<T: [const] Trait>: [const] Trait;
| ^^^^^^^^^
| ^^^^^^^
|
note: associated types in non-`#[const_trait]` traits cannot have `[const]` trait bounds
--> $DIR/conditionally-const-invalid-places.rs:25:5
@@ -91,10 +91,10 @@ LL | type Type<T: [const] Trait>: [const] Trait;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:28:28
--> $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
@@ -103,18 +103,18 @@ LL | fn non_const_function<T: [const] Trait>();
| ^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:29:21
--> $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:16
--> $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
@@ -123,10 +123,10 @@ LL | type Type<T: [const] Trait> = ();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:36:28
--> $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
@@ -135,18 +135,18 @@ LL | fn non_const_function<T: [const] Trait>() {}
| ^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:37:21
--> $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:16
--> $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
@@ -155,10 +155,10 @@ LL | type Type<T: [const] Trait> = ();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:46:28
--> $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
@@ -167,18 +167,18 @@ LL | fn non_const_function<T: [const] Trait>() {}
| ^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:47:21
--> $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:13
--> $DIR/conditionally-const-invalid-places.rs:52:15
|
LL | trait Child0: [const] Trait {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/conditionally-const-invalid-places.rs:52:1
@@ -187,10 +187,10 @@ LL | trait Child0: [const] Trait {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:53:24
--> $DIR/conditionally-const-invalid-places.rs:53:26
|
LL | trait Child1 where Self: [const] Trait {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/conditionally-const-invalid-places.rs:53:1
@@ -199,10 +199,10 @@ LL | trait Child1 where Self: [const] Trait {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:56:7
--> $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
@@ -211,10 +211,10 @@ LL | impl<T: [const] Trait> Trait for T {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/conditionally-const-invalid-places.rs:59:7
--> $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

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/const-bound-on-not-const-associated-fn.rs:11:38
--> $DIR/const-bound-on-not-const-associated-fn.rs:11:40
|
LL | fn do_something_else() where Self: [const] MyTrait;
| ^^^^^^^^^
| ^^^^^^^
|
note: this function is not `const`, so it cannot have `[const]` trait bounds
--> $DIR/const-bound-on-not-const-associated-fn.rs:11:8
@@ -11,10 +11,10 @@ LL | fn do_something_else() where Self: [const] MyTrait;
| ^^^^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/const-bound-on-not-const-associated-fn.rs:22:30
--> $DIR/const-bound-on-not-const-associated-fn.rs:22:32
|
LL | pub fn foo(&self) where T: [const] MyTrait {
| ^^^^^^^^^
| ^^^^^^^
|
note: this function is not `const`, so it cannot have `[const]` trait bounds
--> $DIR/const-bound-on-not-const-associated-fn.rs:22:12

View File

@@ -1,8 +1,8 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-bounds-non-const-trait.rs:6:19
--> $DIR/const-bounds-non-const-trait.rs:6:21
|
LL | const fn perform<T: [const] NonConst>() {}
| ^^^^^^^^^ can't be applied to `NonConst`
| ^^^^^^^ can't be applied to `NonConst`
|
help: mark `NonConst` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -10,10 +10,10 @@ LL | #[const_trait] trait NonConst {}
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-bounds-non-const-trait.rs:6:19
--> $DIR/const-bounds-non-const-trait.rs:6:21
|
LL | const fn perform<T: [const] NonConst>() {}
| ^^^^^^^^^ can't be applied to `NonConst`
| ^^^^^^^ can't be applied to `NonConst`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `NonConst` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,27 +1,27 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-parse-not-item.rs:7:20
--> $DIR/const-closure-parse-not-item.rs:7:25
|
LL | const fn test() -> impl [const] Fn() {
| ^^^^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-parse-not-item.rs:7:20
--> $DIR/const-closure-parse-not-item.rs:7:25
|
LL | const fn test() -> impl [const] Fn() {
| ^^^^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-parse-not-item.rs:7:20
--> $DIR/const-closure-parse-not-item.rs:7:25
|
LL | const fn test() -> impl [const] Fn() {
| ^^^^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,17 +1,17 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-trait-method-fail.rs:14:30
--> $DIR/const-closure-trait-method-fail.rs:14:32
|
LL | const fn need_const_closure<T: [const] FnOnce(()) -> i32>(x: T) -> i32 {
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-trait-method-fail.rs:14:30
--> $DIR/const-closure-trait-method-fail.rs:14:32
|
LL | const fn need_const_closure<T: [const] FnOnce(()) -> i32>(x: T) -> i32 {
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,17 +1,17 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-trait-method.rs:14:30
--> $DIR/const-closure-trait-method.rs:14:32
|
LL | const fn need_const_closure<T: [const] FnOnce(()) -> i32>(x: T) -> i32 {
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closure-trait-method.rs:14:30
--> $DIR/const-closure-trait-method.rs:14:32
|
LL | const fn need_const_closure<T: [const] FnOnce(()) -> i32>(x: T) -> i32 {
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,74 +1,74 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:8:10
--> $DIR/const-closures.rs:8:12
|
LL | F: [const] FnOnce() -> u8,
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:9:10
--> $DIR/const-closures.rs:9:12
|
LL | F: [const] FnMut() -> u8,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:10:10
--> $DIR/const-closures.rs:10:12
|
LL | F: [const] Fn() -> u8,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:8:10
--> $DIR/const-closures.rs:8:12
|
LL | F: [const] FnOnce() -> u8,
| ^^^^^^^^^ can't be applied to `FnOnce`
| ^^^^^^^ can't be applied to `FnOnce`
|
note: `FnOnce` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:9:10
--> $DIR/const-closures.rs:9:12
|
LL | F: [const] FnMut() -> u8,
| ^^^^^^^^^ can't be applied to `FnMut`
| ^^^^^^^ can't be applied to `FnMut`
|
note: `FnMut` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:10:10
--> $DIR/const-closures.rs:10:12
|
LL | F: [const] Fn() -> u8,
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:23:18
--> $DIR/const-closures.rs:23:20
|
LL | const fn answer<F: [const] Fn() -> u8>(f: &F) -> u8 {
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/const-closures.rs:23:18
--> $DIR/const-closures.rs:23:20
|
LL | const fn answer<F: [const] Fn() -> u8>(f: &F) -> u8 {
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -5,10 +5,10 @@ LL | let _: &dyn const Trait;
| ^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/const-trait-bounds-trait-objects.rs:10:13
--> $DIR/const-trait-bounds-trait-objects.rs:10:17
|
LL | let _: &dyn [const] Trait;
| ^^^^^^^^^^^
| ^^^^^^^
|
= note: trait objects cannot have `[const]` trait bounds
@@ -19,10 +19,10 @@ LL | const fn handle(_: &dyn const NonConst) {}
| ^^^^^^^^^^^^^^
error: `[const]` is not allowed here
--> $DIR/const-trait-bounds-trait-objects.rs:17:19
--> $DIR/const-trait-bounds-trait-objects.rs:17:23
|
LL | const fn take(_: &dyn [const] NonConst) {}
| ^^^^^^^^^^^
| ^^^^^^^
|
= note: trait objects cannot have `[const]` trait bounds

View File

@@ -9,10 +9,10 @@ LL | impl const T for S {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: const trait impls are experimental
--> $DIR/feature-gate.rs:13:13
--> $DIR/feature-gate.rs:13:15
|
LL | const fn f<A: [const] T>() {}
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
@@ -29,10 +29,10 @@ LL | fn g<A: const T>() {}
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0658]: const trait impls are experimental
--> $DIR/feature-gate.rs:18:12
--> $DIR/feature-gate.rs:18:17
|
LL | discard! { impl [const] T }
| ^^^^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` to the crate attributes to enable

View File

@@ -9,29 +9,29 @@ LL | const move || {
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/ice-112822-expected-type-for-param.rs:3:20
--> $DIR/ice-112822-expected-type-for-param.rs:3:25
|
LL | const fn test() -> impl [const] Fn() {
| ^^^^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/ice-112822-expected-type-for-param.rs:3:20
--> $DIR/ice-112822-expected-type-for-param.rs:3:25
|
LL | const fn test() -> impl [const] Fn() {
| ^^^^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/ice-112822-expected-type-for-param.rs:3:20
--> $DIR/ice-112822-expected-type-for-param.rs:3:25
|
LL | const fn test() -> impl [const] Fn() {
| ^^^^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,17 +1,17 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/ice-123664-unexpected-bound-var.rs:4:25
--> $DIR/ice-123664-unexpected-bound-var.rs:4:27
|
LL | const fn with_positive<F: [const] Fn()>() {}
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/ice-123664-unexpected-bound-var.rs:4:25
--> $DIR/ice-123664-unexpected-bound-var.rs:4:27
|
LL | const fn with_positive<F: [const] Fn()>() {}
| ^^^^^^^^^ can't be applied to `Fn`
| ^^^^^^^ can't be applied to `Fn`
|
note: `Fn` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL

View File

@@ -1,17 +1,17 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/non-const-op-in-closure-in-const.rs:10:42
--> $DIR/non-const-op-in-closure-in-const.rs:10:44
|
LL | impl<A, B> const Convert<B> for A where B: [const] From<A> {
| ^^^^^^^^^ can't be applied to `From`
| ^^^^^^^ can't be applied to `From`
|
note: `From` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/convert/mod.rs:LL:COL
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/non-const-op-in-closure-in-const.rs:10:42
--> $DIR/non-const-op-in-closure-in-const.rs:10:44
|
LL | impl<A, B> const Convert<B> for A where B: [const] From<A> {
| ^^^^^^^^^ can't be applied to `From`
| ^^^^^^^ can't be applied to `From`
|
note: `From` can't be used with `[const]` because it isn't annotated with `#[const_trait]`
--> $SRC_DIR/core/src/convert/mod.rs:LL:COL

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/super-traits-fail-2.rs:11:1
@@ -11,10 +11,10 @@ LL | trait Bar: [const] Foo {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -22,10 +22,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -34,10 +34,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,8 +1,8 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -10,10 +10,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -22,10 +22,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -34,10 +34,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -46,10 +46,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/super-traits-fail-2.rs:11:10
--> $DIR/super-traits-fail-2.rs:11:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/super-traits-fail-2.rs:11:1

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/super-traits-fail-3.rs:23:1
@@ -11,30 +11,30 @@ LL | trait Bar: [const] Foo {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0658]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` 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]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` 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: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -42,10 +42,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -54,10 +54,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -66,10 +66,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Bar` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -77,10 +77,10 @@ LL | #[const_trait] trait Bar: [const] Foo {}
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Bar` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/super-traits-fail-3.rs:23:1
@@ -11,30 +11,30 @@ LL | trait Bar: [const] Foo {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0658]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` 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]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` 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: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -42,10 +42,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -54,10 +54,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -66,10 +66,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Bar` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -77,10 +77,10 @@ LL | #[const_trait] trait Bar: [const] Foo {}
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: enable `#![feature(const_trait_impl)]` in your crate and mark `Bar` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,18 +1,18 @@
error[E0658]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` 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]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` to the crate attributes to enable

View File

@@ -1,18 +1,18 @@
error[E0658]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` 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]: const trait impls are experimental
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^
| ^^^^^^^
|
= note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
= help: add `#![feature(const_trait_impl)]` to the crate attributes to enable

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/super-traits-fail-3.rs:23:1
@@ -11,10 +11,10 @@ LL | trait Bar: [const] Foo {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -22,10 +22,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -34,10 +34,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -46,10 +46,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
help: mark `Bar` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -57,10 +57,10 @@ LL | #[const_trait] trait Bar: [const] Foo {}
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Bar` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,8 +1,8 @@
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -10,10 +10,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -22,10 +22,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -34,10 +34,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
@@ -46,10 +46,10 @@ LL | #[const_trait] trait Foo {
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^ can't be applied to `Foo`
| ^^^^^^^ can't be applied to `Foo`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/super-traits-fail-3.rs:23:10
--> $DIR/super-traits-fail-3.rs:23:12
|
LL | trait Bar: [const] Foo {}
| ^^^^^^^^^
| ^^^^^^^
|
note: this trait is not a `#[const_trait]`, so it cannot have `[const]` trait bounds
--> $DIR/super-traits-fail-3.rs:23:1
@@ -11,10 +11,10 @@ LL | trait Bar: [const] Foo {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
help: mark `Bar` as `#[const_trait]` to allow it to have `const` implementations
|
@@ -22,10 +22,10 @@ LL | #[const_trait] trait Bar: [const] Foo {}
| ++++++++++++++
error: `[const]` can only be applied to `#[const_trait]` traits
--> $DIR/super-traits-fail-3.rs:32:15
--> $DIR/super-traits-fail-3.rs:32:17
|
LL | const fn foo<T: [const] Bar>(x: &T) {
| ^^^^^^^^^ can't be applied to `Bar`
| ^^^^^^^ can't be applied to `Bar`
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
help: mark `Bar` as `#[const_trait]` to allow it to have `const` implementations

View File

@@ -2,9 +2,9 @@ error[E0658]: use of unstable const library feature `unstable`
--> $DIR/syntactical-unstable.rs:13:20
|
LL | trait Foo: [const] MyTrait {
| --------- ^^^^^^^
| |
| trait is not stable as const yet
| ------- ^^^^^^^
| |
| trait is not stable as const yet
|
= help: add `#![feature(unstable)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
@@ -13,9 +13,9 @@ error[E0658]: use of unstable const library feature `unstable`
--> $DIR/syntactical-unstable.rs:19:45
|
LL | const fn where_clause<T>() where T: [const] MyTrait {}
| --------- ^^^^^^^
| |
| trait is not stable as const yet
| ------- ^^^^^^^
| |
| trait is not stable as const yet
|
= help: add `#![feature(unstable)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
@@ -24,9 +24,9 @@ error[E0658]: use of unstable const library feature `unstable`
--> $DIR/syntactical-unstable.rs:22:53
|
LL | const fn nested<T>() where T: Deref<Target: [const] MyTrait> {}
| --------- ^^^^^^^
| |
| trait is not stable as const yet
| ------- ^^^^^^^
| |
| trait is not stable as const yet
|
= help: add `#![feature(unstable)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
@@ -35,9 +35,9 @@ error[E0658]: use of unstable const library feature `unstable`
--> $DIR/syntactical-unstable.rs:25:33
|
LL | const fn rpit() -> impl [const] MyTrait { Local }
| ------------ ^^^^^^^
| |
| trait is not stable as const yet
| ------- ^^^^^^^
| |
| trait is not stable as const yet
|
= help: add `#![feature(unstable)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
@@ -55,9 +55,9 @@ error[E0658]: use of unstable const library feature `unstable`
--> $DIR/syntactical-unstable.rs:15:24
|
LL | type Item: [const] MyTrait;
| --------- ^^^^^^^
| |
| trait is not stable as const yet
| ------- ^^^^^^^
| |
| trait is not stable as const yet
|
= help: add `#![feature(unstable)]` to the crate attributes to enable
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

View File

@@ -1,8 +1,8 @@
error: `[const]` is not allowed here
--> $DIR/trait-where-clause.rs:8:22
--> $DIR/trait-where-clause.rs:8:24
|
LL | fn b() where Self: [const] Bar;
| ^^^^^^^^^
| ^^^^^^^
|
note: this function is not `const`, so it cannot have `[const]` trait bounds
--> $DIR/trait-where-clause.rs:8:8
@@ -11,10 +11,10 @@ LL | fn b() where Self: [const] Bar;
| ^
error: `[const]` is not allowed here
--> $DIR/trait-where-clause.rs:10:11
--> $DIR/trait-where-clause.rs:10:13
|
LL | fn c<T: [const] Bar>();
| ^^^^^^^^^
| ^^^^^^^
|
note: this function is not `const`, so it cannot have `[const]` trait bounds
--> $DIR/trait-where-clause.rs:10:8