]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_error_codes/src/error_codes/E0317.md
Rollup merge of #82691 - ehuss:update-books, r=ehuss
[rust.git] / compiler / rustc_error_codes / src / error_codes / E0317.md
1 An `if` expression is missing an `else` block.
2
3 Erroneous code example:
4
5 ```compile_fail,E0317
6 let x = 5;
7 let a = if x == 5 {
8     1
9 };
10 ```
11
12 This error occurs when an `if` expression without an `else` block is used in a
13 context where a type other than `()` is expected. In the previous code example,
14 the `let` expression was expecting a value but since there was no `else`, no
15 value was returned.
16
17 An `if` expression without an `else` block has the type `()`, so this is a type
18 error. To resolve it, add an `else` block having the same type as the `if`
19 block.
20
21 So to fix the previous code example:
22
23 ```
24 let x = 5;
25 let a = if x == 5 {
26     1
27 } else {
28     2
29 };
30 ```