An if
expression is missing an else
block.
Erroneous code example:
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 };