fn match_expr_assignment() {
    a := 20
	_ := match a {
		10 { 10	}
		else { 2 }
		5 {	5 }
	}
}

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