1 error[E0053]: method `mul` has an incompatible type for trait
2 --> $DIR/wrong-mul-method-signature.rs:16:5
4 LL | fn mul(self, s: &f64) -> Vec1 {
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected f64, found &f64
7 = note: expected fn pointer `fn(Vec1, f64) -> Vec1`
8 found fn pointer `fn(Vec1, &f64) -> Vec1`
10 error[E0053]: method `mul` has an incompatible type for trait
11 --> $DIR/wrong-mul-method-signature.rs:33:5
13 LL | fn mul(self, s: f64) -> Vec2 {
14 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Vec2`, found f64
16 = note: expected fn pointer `fn(Vec2, Vec2) -> f64`
17 found fn pointer `fn(Vec2, f64) -> Vec2`
19 error[E0053]: method `mul` has an incompatible type for trait
20 --> $DIR/wrong-mul-method-signature.rs:52:5
22 LL | fn mul(self, s: f64) -> f64 {
23 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected i32, found f64
25 = note: expected fn pointer `fn(Vec3, f64) -> i32`
26 found fn pointer `fn(Vec3, f64) -> f64`
28 error[E0308]: mismatched types
29 --> $DIR/wrong-mul-method-signature.rs:63:45
31 LL | let x: Vec2 = Vec2 { x: 1.0, y: 2.0 } * 2.0; // trait had reversed order
32 | ^^^ expected struct `Vec2`, found floating-point number
34 error[E0308]: mismatched types
35 --> $DIR/wrong-mul-method-signature.rs:63:19
37 LL | let x: Vec2 = Vec2 { x: 1.0, y: 2.0 } * 2.0; // trait had reversed order
38 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Vec2`, found f64
40 error: aborting due to 5 previous errors
42 Some errors have detailed explanations: E0053, E0308.
43 For more information about an error, try `rustc --explain E0053`.