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
};
}
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0317.html