rust/src/test/ui/issues/issue-3820.stderr
Esteban Kuber e8fc076f23 Consider unfulfilled obligations in binop errors
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.
2021-10-05 23:34:13 +00:00

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`.