Skip to content

Commit 0b72ca6

Browse files
authored
Rollup merge of #78332 - PoignardAzur:doc_E0308, r=camelid
Update description for error E0308 Fixes #76462 r? @camelid
2 parents 9d7db48 + 666afba commit 0b72ca6

File tree

4 files changed

+200
-120
lines changed

4 files changed

+200
-120
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
Expected type did not match the received type.
22

3-
Erroneous code example:
3+
Erroneous code examples:
44

55
```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
1321
```
1422

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.

src/test/ui/json-bom-plus-crlf-multifile.stderr

+80-48
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,113 @@
11
{"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
22

3-
Erroneous code example:
3+
Erroneous code examples:
44

55
```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
1321
```
1422

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.
1927
"},"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
2028
"}
2129
{"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
2230

23-
Erroneous code example:
31+
Erroneous code examples:
2432

2533
```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
3349
```
3450

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.
3955
"},"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
4056
"}
4157
{"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
4258

43-
Erroneous code example:
59+
Erroneous code examples:
4460

4561
```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
5377
```
5478

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.
5983
"},"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
6084
"}
6185
{"message":"mismatched types","code":{"code":"E0308","explanation":"Expected type did not match the received type.
6286

63-
Erroneous code example:
87+
Erroneous code examples:
6488

6589
```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
73105
```
74106

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.
79111
"},"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
80112
"}
81113
{"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors

0 commit comments

Comments
 (0)