fn match_expr_assignment() { a := 20 _ := match a { 10 { 10 } 5 { 5 } else { 2 } } } fn match_branch_comment() { a := 1 match a { 1 { println('1') } 2 { println('2') } else { // do nothing } } } fn really_long_branch_exprs() { match x { NodeError, ArrayDecompose, ArrayInit, AsCast, Assoc, AtExpr, BoolLiteral, CallExpr, MapInit, MatchExpr, None, OffsetOf, OrExpr, ParExpr, PostfixExpr, PrefixExpr, RangeExpr, SelectExpr, SelectorExpr, SizeOf, SqlExpr, StringInterLiteral, StringLiteral, StructInit { return expr.pos } InfixExpr { Foo{ x: 3 } } } } fn match_branch_extra_comma() { match x { Foo, Bar {} int, string {} } match n { 0...5 {} 2, 3 {} else {} } } fn match_index_range_expr(var string) string { return match true { var.len < 3 { 'i#' + var } var[1..2].contains('#') { var } else { 'i#' + var } } } fn match_condition_or_block() { match read_bool() { true {} } or {} }