|
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