rust/src/test/ui/binop
Camelid 7b33ae642e Improve wording of "cannot multiply" type error
For example, if you had this code:

    fn foo(x: i32, y: f32) -> f32 {
        x * y
    }

You would get this error:

    error[E0277]: cannot multiply `f32` to `i32`
     --> src/lib.rs:2:7
      |
    2 |     x * y
      |       ^ no implementation for `i32 * f32`
      |
      = help: the trait `Mul<f32>` is not implemented for `i32`

However, that's not usually how people describe multiplication. People
usually describe multiplication like how the division error words it:

    error[E0277]: cannot divide `i32` by `f32`
     --> src/lib.rs:2:7
      |
    2 |     x / y
      |       ^ no implementation for `i32 / f32`
      |
      = help: the trait `Div<f32>` is not implemented for `i32`

So that's what this change does. It changes this:

    error[E0277]: cannot multiply `f32` to `i32`
     --> src/lib.rs:2:7
      |
    2 |     x * y
      |       ^ no implementation for `i32 * f32`
      |
      = help: the trait `Mul<f32>` is not implemented for `i32`

To this:

    error[E0277]: cannot multiply `i32` by `f32`
     --> src/lib.rs:2:7
      |
    2 |     x * y
      |       ^ no implementation for `i32 * f32`
      |
      = help: the trait `Mul<f32>` is not implemented for `i32`
2020-10-17 22:19:25 -07:00
..
binop-bitxor-str.rs
binop-bitxor-str.stderr
binop-consume-args.rs
binop-consume-args.stderr
binop-fail-3.rs
binop-logic-float.rs
binop-logic-float.stderr
binop-logic-int.rs
binop-logic-int.stderr
binop-move-semantics.rs
binop-move-semantics.stderr
binop-mul-bool.rs Improve wording of "cannot multiply" type error 2020-10-17 22:19:25 -07:00
binop-mul-bool.stderr Improve wording of "cannot multiply" type error 2020-10-17 22:19:25 -07:00
binop-mul-i32-f32.rs Improve wording of "cannot multiply" type error 2020-10-17 22:19:25 -07:00
binop-mul-i32-f32.stderr Improve wording of "cannot multiply" type error 2020-10-17 22:19:25 -07:00
binop-panic.rs
binop-typeck.rs
binop-typeck.stderr