2024-06-21 12:22:29 +00:00
|
|
|
warning: the feature `effects` is incomplete and may not be safe to use and/or cause compiler crashes
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:6:30
|
|
|
|
|
|
|
|
|
|
|
LL | #![feature(const_trait_impl, effects)]
|
|
|
|
|
| ^^^^^^^
|
|
|
|
|
|
|
|
|
|
|
= note: see issue #102090 <https://github.com/rust-lang/rust/issues/102090> for more information
|
|
|
|
|
= note: `#[warn(incomplete_features)]` on by default
|
|
|
|
|
|
2024-06-21 11:57:24 +00:00
|
|
|
error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:10: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[E0207]: the const parameter `host` is not constrained by the impl trait, self type, or predicates
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:10:6
|
|
|
|
|
|
|
|
|
|
|
LL | impl const PartialEq for S {
|
|
|
|
|
| ^^^^^ unconstrained const parameter
|
|
|
|
|
|
|
|
|
|
|
= note: expressions using a const parameter must map each value to a distinct output value
|
|
|
|
|
= note: proving the result of expressions other than the parameter are unique is not supported
|
|
|
|
|
|
|
|
|
|
error: `~const` can only be applied to `#[const_trait]` traits
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:19:32
|
|
|
|
|
|
|
|
|
|
|
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:23:40
|
|
|
|
|
|
|
|
|
|
|
LL | const fn equals_self_wrapper<T: ~const PartialEq>(t: &T) -> bool {
|
|
|
|
|
| ^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
error[E0284]: type annotations needed
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:27:22
|
|
|
|
|
|
|
|
|
|
|
LL | pub const EQ: bool = equals_self_wrapper(&S);
|
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer the value of the constant `_`
|
|
|
|
|
|
|
|
|
|
|
note: required for `S` to implement `PartialEq`
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:10:12
|
|
|
|
|
|
|
|
|
|
|
LL | impl const PartialEq for S {
|
|
|
|
|
| ----- ^^^^^^^^^ ^
|
|
|
|
|
| |
|
|
|
|
|
| unsatisfied trait bound introduced here
|
|
|
|
|
|
|
|
|
|
error[E0284]: type annotations needed
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:15:10
|
|
|
|
|
|
|
|
|
|
|
LL | !self.eq(other)
|
|
|
|
|
| ^^^^^^^^^^^^^^ cannot infer the value of the constant `_`
|
|
|
|
|
|
|
|
|
|
|
note: required for `S` to implement `PartialEq`
|
|
|
|
|
--> $DIR/call-generic-method-chain.rs:10:12
|
|
|
|
|
|
|
|
|
|
|
LL | impl const PartialEq for S {
|
|
|
|
|
| ----- ^^^^^^^^^ ^
|
|
|
|
|
| |
|
|
|
|
|
| unsatisfied trait bound introduced here
|
|
|
|
|
|
2024-06-21 12:22:29 +00:00
|
|
|
error: aborting due to 6 previous errors; 1 warning emitted
|
2024-06-21 11:57:24 +00:00
|
|
|
|
|
|
|
|
Some errors have detailed explanations: E0207, E0284.
|
|
|
|
|
For more information about an error, try `rustc --explain E0207`.
|