61 lines
2.3 KiB
Plaintext
61 lines
2.3 KiB
Plaintext
error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
|
|
--> $DIR/call-generic-method-chain.rs:11:12
|
|
|
|
|
LL | impl const PartialEq for S {
|
|
| ^^^^^^^^^
|
|
|
|
|
= 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
|
|
|
|
error: `~const` can only be applied to `#[const_trait]` traits
|
|
--> $DIR/call-generic-method-chain.rs:20:25
|
|
|
|
|
LL | const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
|
|
| ^^^^^^
|
|
|
|
error: `~const` can only be applied to `#[const_trait]` traits
|
|
--> $DIR/call-generic-method-chain.rs:20:25
|
|
|
|
|
LL | const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
|
|
| ^^^^^^
|
|
|
|
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
|
|
|
|
error: `~const` can only be applied to `#[const_trait]` traits
|
|
--> $DIR/call-generic-method-chain.rs:24:33
|
|
|
|
|
LL | const fn equals_self_wrapper<T: ~const PartialEq>(t: &T) -> bool {
|
|
| ^^^^^^
|
|
|
|
error: `~const` can only be applied to `#[const_trait]` traits
|
|
--> $DIR/call-generic-method-chain.rs:24:33
|
|
|
|
|
LL | const fn equals_self_wrapper<T: ~const PartialEq>(t: &T) -> bool {
|
|
| ^^^^^^
|
|
|
|
|
= note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
|
|
|
|
error[E0015]: cannot call non-const operator in constant functions
|
|
--> $DIR/call-generic-method-chain.rs:21:5
|
|
|
|
|
LL | *t == *t
|
|
| ^^^^^^^^
|
|
|
|
|
= note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
|
|
help: consider further restricting this bound
|
|
|
|
|
LL | const fn equals_self<T: ~const PartialEq + ~const std::cmp::PartialEq>(t: &T) -> bool {
|
|
| ++++++++++++++++++++++++++++
|
|
|
|
error[E0015]: cannot call non-const fn `<S as PartialEq>::eq` in constant functions
|
|
--> $DIR/call-generic-method-chain.rs:16:15
|
|
|
|
|
LL | !self.eq(other)
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
|
|
|
|
error: aborting due to 7 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0015`.
|