Switch Expression

Like if, switch also works as an expression.


This means that a [`switch`] expression can appear anywhere a regular expression can,
e.g. as [function] call arguments.

[`switch`] expressions can be disabled via [`Engine::set_allow_switch_expression`][options].
let x = switch foo { 1 => true, _ => false };

func(switch foo {
    "hello" => 42,
    "world" => 123,
    _ => 0
});

// The above is somewhat equivalent to:

let x = if foo == 1 { true } else { false };

if foo == "hello" {
    func(42);
} else if foo == "world" {
    func(123);
} else {
    func(0);
}