Error code E0317

An if expression is missing an else block.

Erroneous code example:

#![allow(unused)] fn main() { 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:

#![allow(unused)] fn main() { let x = 5; let a = if x == 5 { 1 } else { 2 }; }