An if
expression is missing an else
block.
Erroneous code example:
let x = 5;
let a = if x == 5 {
1
};
RunThis 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
};
Run