Email me

Rust errors / Everything else

Rust compiler error · checked with rustc 1.99.0

Rust error E0317: `if` may be missing an `else` clause

What it meansAn if expression is missing an else block.

What rustc prints

error[E0317]: `if` may be missing an `else` clause
 --> main.rs:4:9
  |
4 |   let a = if x == 5 {
  |  _________^
5 | |     1
  | |     - found here
6 | | };
  | |_^ expected integer, found `()`
  |
  = note: `if` expressions without `else` evaluate to `()`
  = help: consider adding an `else` block that evaluates to the expected type

Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.

E0317Everything else
Activein rustc 1.99.0
8related errors linked below

The compiler team's explanation

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
};

From rustc --explain E0317 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.

Related errors

All 518 Rust error codes · Rust crate data · Glossary

Up next

Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →

Did this answer your question?

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ