e8fc076f23
When encountering a binop where the types would have been accepted, if all the predicates had been fulfilled, include information about the predicates and suggest appropriate `#[derive]`s if possible. Point at trait(s) that needs to be `impl`emented.
29 lines
816 B
Plaintext
29 lines
816 B
Plaintext
error[E0369]: cannot multiply `Thing` by `{integer}`
|
|
--> $DIR/issue-3820.rs:14:15
|
|
|
|
|
LL | let w = u * 3;
|
|
| - ^ - {integer}
|
|
| |
|
|
| Thing
|
|
|
|
|
note: an implementation of `Mul<_>` might be missing for `Thing`
|
|
--> $DIR/issue-3820.rs:1:1
|
|
|
|
|
LL | struct Thing {
|
|
| ^^^^^^^^^^^^ must implement `Mul<_>`
|
|
note: the following trait must be implemented
|
|
--> $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
|
LL | / pub trait Mul<Rhs = Self> {
|
|
LL | | /// The resulting type after applying the `*` operator.
|
|
LL | | #[stable(feature = "rust1", since = "1.0.0")]
|
|
LL | | type Output;
|
|
... |
|
|
LL | | fn mul(self, rhs: Rhs) -> Self::Output;
|
|
LL | | }
|
|
| |_^
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0369`.
|