Not sure if this belongs on this forum, it's more of a language RFC, I guess. Here goes: would it be a problem to allow the last else clause in and if/else chain to be a match without requiring braces? That is:
if cond1 {
val1
} else if cond2 {
expr2
} else match expr3 {
// arms
}
which is nice and concise and avoids increasing the indent level.
TBH, i don't know if the required braces is stylistic and to avoid ambiguity or a parser limitation, but I like it and it makes sense, it just seems like match warrants an exception in this case for the same reasons that the else block doesn't require braces when it's followed by another if.
This has come up before in various forms, be it else match or else loop or whatever.
FWIW, I've always thought of this as a separate else if token as part of the broader "chain of ifs" construct. Like how Python spells it elif.
So it's not "you can omit the braces after else", but rather that "else if" is just another thing you can do. Which is useful to keep the indentation from growing for the chain, but that doesn't hold for other constructs.
(Arguably the traditional chain is a bad syntax, and it should be something more like if { cond1 => val1, cond2 => expr2, … } instead, but Rust isn't the place for big changes like that.)