diff options
| author | Olivier FAURE <couteaubleu@gmail.com> | 2020-10-24 22:02:52 +0200 |
|---|---|---|
| committer | Olivier FAURE <couteaubleu@gmail.com> | 2020-10-25 12:20:25 +0100 |
| commit | 666afba684c153d8942ce5f62581dbcb79452150 (patch) | |
| tree | d7f24e260e930f9fd65dea634e7cfd9226da71af /compiler/rustc_error_codes | |
| parent | 9fdaeb393a16951f6fdef087193fef576e36aba6 (diff) | |
| download | rust-666afba684c153d8942ce5f62581dbcb79452150.tar.gz rust-666afba684c153d8942ce5f62581dbcb79452150.zip | |
Update description for error E0308
As per #76462
Diffstat (limited to 'compiler/rustc_error_codes')
| -rw-r--r-- | compiler/rustc_error_codes/src/error_codes/E0308.md | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0308.md b/compiler/rustc_error_codes/src/error_codes/E0308.md index e2c40f03019..decee630995 100644 --- a/compiler/rustc_error_codes/src/error_codes/E0308.md +++ b/compiler/rustc_error_codes/src/error_codes/E0308.md @@ -1,18 +1,26 @@ Expected type did not match the received type. -Erroneous code example: +Erroneous code examples: ```compile_fail,E0308 -let x: i32 = "I am not a number!"; -// ~~~ ~~~~~~~~~~~~~~~~~~~~ -// | | -// | initializing expression; -// | compiler infers type `&str` -// | -// type `i32` assigned to variable `x` +fn plus_one(x: i32) -> i32 { + x + 1 +} + +plus_one("Not a number"); +// ^^^^^^^^^^^^^^ expected `i32`, found `&str` + +if "Not a bool" { +// ^^^^^^^^^^^^ expected `bool`, found `&str` +} + +let x: f32 = "Not a float"; +// --- ^^^^^^^^^^^^^ expected `f32`, found `&str` +// | +// expected due to this ``` -This error occurs when the compiler is unable to infer the concrete type of a -variable. It can occur in several cases, the most common being a mismatch -between two types: the type the author explicitly assigned, and the type the -compiler inferred. +This error occurs when an expression was used in a place where the compiler +expected an expression of a different type. It can occur in several cases, the +most common being when calling a function and passing an argument which has a +different type than the matching type in the function declaration. |
