| An `if` expression is missing an `else` block. | |
| Erroneous code example: | |
| ```compile_fail,E0317 | |
| let x = 5; | |
| let a = if x == 5 { | |
| 1 | |
| }; | |
| ``` | |
| This error occurs when an `if` expression without an `else` block is used in a | |
| context where a type other than `()` is expected. In the previous code example, | |
| the `let` expression was expecting a value but since there was no `else`, no | |
| value was returned. | |
| An `if` expression without an `else` block has the type `()`, so this is a type | |
| error. To resolve it, add an `else` block having the same type as the `if` | |
| block. | |
| So to fix the previous code example: | |
| ``` | |
| let x = 5; | |
| let a = if x == 5 { | |
| 1 | |
| } else { | |
| 2 | |
| }; | |
| ``` |