|
1 | 1 | {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
|
2 | 2 |
|
3 |
| -Erroneous code example: |
| 3 | +Erroneous code examples: |
4 | 4 |
|
5 | 5 | ```compile_fail,E0308
|
6 |
| -let x: i32 = \"I am not a number!\"; |
7 |
| -// ~~~ ~~~~~~~~~~~~~~~~~~~~ |
8 |
| -// | | |
9 |
| -// | initializing expression; |
10 |
| -// | compiler infers type `&str` |
11 |
| -// | |
12 |
| -// type `i32` assigned to variable `x` |
| 6 | +fn plus_one(x: i32) -> i32 { |
| 7 | + x + 1 |
| 8 | +} |
| 9 | + |
| 10 | +plus_one(\"Not a number\"); |
| 11 | +// ^^^^^^^^^^^^^^ expected `i32`, found `&str` |
| 12 | + |
| 13 | +if \"Not a bool\" { |
| 14 | +// ^^^^^^^^^^^^ expected `bool`, found `&str` |
| 15 | +} |
| 16 | + |
| 17 | +let x: f32 = \"Not a float\"; |
| 18 | +// --- ^^^^^^^^^^^^^ expected `f32`, found `&str` |
| 19 | +// | |
| 20 | +// expected due to this |
13 | 21 | ```
|
14 | 22 |
|
15 |
| -This error occurs when the compiler is unable to infer the concrete type of a |
16 |
| -variable. It can occur in several cases, the most common being a mismatch |
17 |
| -between two types: the type the author explicitly assigned, and the type the |
18 |
| -compiler inferred. |
| 23 | +This error occurs when an expression was used in a place where the compiler |
| 24 | +expected an expression of a different type. It can occur in several cases, the |
| 25 | +most common being when calling a function and passing an argument which has a |
| 26 | +different type than the matching type in the function declaration. |
19 | 27 | "},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":"expected struct `String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":612,"byte_end":618,"line_start":17,"line_end":17,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":621,"byte_end":622,"line_start":17,"line_end":17,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1; // Error in the middle of line.","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:17:22: error[E0308]: mismatched types
|
20 | 28 | "}
|
21 | 29 | {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
|
22 | 30 |
|
23 |
| -Erroneous code example: |
| 31 | +Erroneous code examples: |
24 | 32 |
|
25 | 33 | ```compile_fail,E0308
|
26 |
| -let x: i32 = \"I am not a number!\"; |
27 |
| -// ~~~ ~~~~~~~~~~~~~~~~~~~~ |
28 |
| -// | | |
29 |
| -// | initializing expression; |
30 |
| -// | compiler infers type `&str` |
31 |
| -// | |
32 |
| -// type `i32` assigned to variable `x` |
| 34 | +fn plus_one(x: i32) -> i32 { |
| 35 | + x + 1 |
| 36 | +} |
| 37 | + |
| 38 | +plus_one(\"Not a number\"); |
| 39 | +// ^^^^^^^^^^^^^^ expected `i32`, found `&str` |
| 40 | + |
| 41 | +if \"Not a bool\" { |
| 42 | +// ^^^^^^^^^^^^ expected `bool`, found `&str` |
| 43 | +} |
| 44 | + |
| 45 | +let x: f32 = \"Not a float\"; |
| 46 | +// --- ^^^^^^^^^^^^^ expected `f32`, found `&str` |
| 47 | +// | |
| 48 | +// expected due to this |
33 | 49 | ```
|
34 | 50 |
|
35 |
| -This error occurs when the compiler is unable to infer the concrete type of a |
36 |
| -variable. It can occur in several cases, the most common being a mismatch |
37 |
| -between two types: the type the author explicitly assigned, and the type the |
38 |
| -compiler inferred. |
| 51 | +This error occurs when an expression was used in a place where the compiler |
| 52 | +expected an expression of a different type. It can occur in several cases, the |
| 53 | +most common being when calling a function and passing an argument which has a |
| 54 | +different type than the matching type in the function declaration. |
39 | 55 | "},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":"expected struct `String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":672,"byte_end":678,"line_start":19,"line_end":19,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = 1","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":681,"byte_end":682,"line_start":19,"line_end":19,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":" let s : String = 1","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:19:22: error[E0308]: mismatched types
|
40 | 56 | "}
|
41 | 57 | {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
|
42 | 58 |
|
43 |
| -Erroneous code example: |
| 59 | +Erroneous code examples: |
44 | 60 |
|
45 | 61 | ```compile_fail,E0308
|
46 |
| -let x: i32 = \"I am not a number!\"; |
47 |
| -// ~~~ ~~~~~~~~~~~~~~~~~~~~ |
48 |
| -// | | |
49 |
| -// | initializing expression; |
50 |
| -// | compiler infers type `&str` |
51 |
| -// | |
52 |
| -// type `i32` assigned to variable `x` |
| 62 | +fn plus_one(x: i32) -> i32 { |
| 63 | + x + 1 |
| 64 | +} |
| 65 | + |
| 66 | +plus_one(\"Not a number\"); |
| 67 | +// ^^^^^^^^^^^^^^ expected `i32`, found `&str` |
| 68 | + |
| 69 | +if \"Not a bool\" { |
| 70 | +// ^^^^^^^^^^^^ expected `bool`, found `&str` |
| 71 | +} |
| 72 | + |
| 73 | +let x: f32 = \"Not a float\"; |
| 74 | +// --- ^^^^^^^^^^^^^ expected `f32`, found `&str` |
| 75 | +// | |
| 76 | +// expected due to this |
53 | 77 | ```
|
54 | 78 |
|
55 |
| -This error occurs when the compiler is unable to infer the concrete type of a |
56 |
| -variable. It can occur in several cases, the most common being a mismatch |
57 |
| -between two types: the type the author explicitly assigned, and the type the |
58 |
| -compiler inferred. |
| 79 | +This error occurs when an expression was used in a place where the compiler |
| 80 | +expected an expression of a different type. It can occur in several cases, the |
| 81 | +most common being when calling a function and passing an argument which has a |
| 82 | +different type than the matching type in the function declaration. |
59 | 83 | "},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":"expected struct `String`, found integer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":735,"byte_end":741,"line_start":22,"line_end":22,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String =","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"try using a conversion method","code":null,"level":"help","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":745,"byte_end":746,"line_start":23,"line_end":23,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"1; // Error after the newline.","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":"1.to_string()","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:23:1: error[E0308]: mismatched types
|
60 | 84 | "}
|
61 | 85 | {"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
|
62 | 86 |
|
63 |
| -Erroneous code example: |
| 87 | +Erroneous code examples: |
64 | 88 |
|
65 | 89 | ```compile_fail,E0308
|
66 |
| -let x: i32 = \"I am not a number!\"; |
67 |
| -// ~~~ ~~~~~~~~~~~~~~~~~~~~ |
68 |
| -// | | |
69 |
| -// | initializing expression; |
70 |
| -// | compiler infers type `&str` |
71 |
| -// | |
72 |
| -// type `i32` assigned to variable `x` |
| 90 | +fn plus_one(x: i32) -> i32 { |
| 91 | + x + 1 |
| 92 | +} |
| 93 | + |
| 94 | +plus_one(\"Not a number\"); |
| 95 | +// ^^^^^^^^^^^^^^ expected `i32`, found `&str` |
| 96 | + |
| 97 | +if \"Not a bool\" { |
| 98 | +// ^^^^^^^^^^^^ expected `bool`, found `&str` |
| 99 | +} |
| 100 | + |
| 101 | +let x: f32 = \"Not a float\"; |
| 102 | +// --- ^^^^^^^^^^^^^ expected `f32`, found `&str` |
| 103 | +// | |
| 104 | +// expected due to this |
73 | 105 | ```
|
74 | 106 |
|
75 |
| -This error occurs when the compiler is unable to infer the concrete type of a |
76 |
| -variable. It can occur in several cases, the most common being a mismatch |
77 |
| -between two types: the type the author explicitly assigned, and the type the |
78 |
| -compiler inferred. |
| 107 | +This error occurs when an expression was used in a place where the compiler |
| 108 | +expected an expression of a different type. It can occur in several cases, the |
| 109 | +most common being when calling a function and passing an argument which has a |
| 110 | +different type than the matching type in the function declaration. |
79 | 111 | "},"level":"error","spans":[{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":801,"byte_end":809,"line_start":25,"line_end":26,"column_start":22,"column_end":6,"is_primary":true,"text":[{"text":" let s : String = (","highlight_start":22,"highlight_end":23},{"text":" ); // Error spanning the newline.","highlight_start":1,"highlight_end":6}],"label":"expected struct `String`, found `()`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"$DIR/json-bom-plus-crlf-multifile-aux.rs","byte_start":792,"byte_end":798,"line_start":25,"line_end":25,"column_start":13,"column_end":19,"is_primary":false,"text":[{"text":" let s : String = (","highlight_start":13,"highlight_end":19}],"label":"expected due to this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"$DIR/json-bom-plus-crlf-multifile-aux.rs:25:22: error[E0308]: mismatched types
|
80 | 112 | "}
|
81 | 113 | {"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors
|
|
0 commit comments