fn nested_match() {
	match 100 {
		0...1 {
			println('0 to 1')
		}
		else {
			match 200 {
				0...1 { println('0 to 1') }
				else { println('unknown value') }
			}
		}
	}
}

fn branches_are_struct_inits() {
	match 'a' {
		'b' { SpamStruct{} }
	}
	match 'a' {
		'b' {
			SpamStruct{
				x: 42
			}
		}
	}
	match 'a' {
		'b' {
			SpamStruct{
				// comment inside init
			}
		}
	}
}

fn branches_are_call_exprs_with_or_blocks() {
	match 'a' {
		'b' { foo() or { panic(err.msg) } }
	}
	match 'a' {
		'b' {
			foo() or {
				// do stuff
				panic(err.msg)
			}
		}
	}
	match 'a' {
		'b' {
			foo() or {
				another_stmt()
				panic(err.msg)
			}
		}
	}
}

fn keep_branch_linebreaks() {
	a := 10
	match a {
		// first comment
		10 {
			println('10')
		}
		20 {
			println('20')
		}
		else {}
	}
	match a {
		// first comment
		10 { println('10') }
		// post_comment of the first branch
		20 { println('20') }
		else {}
	}
}
