rust/tests/ui/traits/const-traits/spec-effectvar-ice.stderr

58 lines
2.1 KiB
Plaintext

error: const `impl` for trait `Foo` which is not marked with `#[const_trait]`
--> $DIR/spec-effectvar-ice.rs:10:15
|
LL | impl<T> const Foo for T {}
| ^^^ this trait is not `const`
|
= note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
= note: adding a non-const method body in the future would be a breaking change
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
LL | #[const_trait] trait Foo {}
| ++++++++++++++
error: const `impl` for trait `Foo` which is not marked with `#[const_trait]`
--> $DIR/spec-effectvar-ice.rs:13:15
|
LL | impl<T> const Foo for T where T: const Specialize {}
| ^^^ this trait is not `const`
|
= note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
= note: adding a non-const method body in the future would be a breaking change
help: mark `Foo` as `#[const_trait]` to allow it to have `const` implementations
|
LL | #[const_trait] trait Foo {}
| ++++++++++++++
error: `const` can only be applied to `#[const_trait]` traits
--> $DIR/spec-effectvar-ice.rs:13:34
|
LL | impl<T> const Foo for T where T: const Specialize {}
| ^^^^^ can't be applied to `Specialize`
|
help: mark `Specialize` as `#[const_trait]` to allow it to have `const` implementations
|
LL | #[const_trait] trait Specialize {}
| ++++++++++++++
error: specialization impl does not specialize any associated items
--> $DIR/spec-effectvar-ice.rs:13:1
|
LL | impl<T> const Foo for T where T: const Specialize {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: impl is a specialization of this impl
--> $DIR/spec-effectvar-ice.rs:10:1
|
LL | impl<T> const Foo for T {}
| ^^^^^^^^^^^^^^^^^^^^^^^
error: cannot specialize on trait `Specialize`
--> $DIR/spec-effectvar-ice.rs:13:34
|
LL | impl<T> const Foo for T where T: const Specialize {}
| ^^^^^^^^^^^^^^^^
error: aborting due to 5 previous errors