Bloki if
, match
, funkcji oraz zakresów - w Ruscie wszystkie one mają swoje własne sposoby na zwracanie wartości.
Ostatnie wyrażenie bloku if
, match
czy bloku funkcji lub zakresu może być wyjątkowo niezakończone średnikiem ;
. W takim wypadku Rust zinterpretuje to jako wyrażenie które zwraca wartość bloku.
Takie zwracanie wartości przez ominięcie średnika stanowi prosty sposób na zwiększenie czytelności kodu. Zwrócona przez blok wartość może zostać przypisana do nowej wartości.
Zauważ, że pozwala to również na stworzenie z pomocą if
czegoś co przypomina zwięzłą wersję klasycznego wyrażenia trójskładnikowego (ternary expression).