1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

vlib: fix missing else{} in match statements

This commit is contained in:
Alexander Medvednikov
2019-12-07 17:13:25 +03:00
parent 2fb7fba856
commit ad6adf327e
15 changed files with 88 additions and 85 deletions

View File

@ -203,14 +203,8 @@ fn (p mut Parser) match_statement(is_expr bool) string {
i++
p.fgen_nl()
}
//if is_expr {
// we get here if no else found, ternary requires "else" branch
p.warn('match expression requires `else`')
//}
p.returns = false // only get here when no default, so return is not guaranteed
p.error('match expression requires `else`')
//p.returns = false // only get here when no default, so return is not guaranteed
return ''
}

View File

@ -21,7 +21,7 @@ fn test_match_integers() {
2 { 3 }
else { 5 }
} == 3
assert match 0 {
1 { 2 }
2 { 3 }
@ -31,7 +31,7 @@ fn test_match_integers() {
assert match 1 {
else { 5 }
} == 5
a = 0
match 2 {
0 { a = 1 }
@ -42,7 +42,7 @@ fn test_match_integers() {
}
}
assert a == 3
a = 0
match 1 {
0 { a = 1 }
@ -51,6 +51,7 @@ fn test_match_integers() {
a = a + 2
a = a + 2
}
else {}
}
assert a == 6
@ -61,7 +62,7 @@ fn test_match_integers() {
}
}
assert a == -2
}
}
fn test_match_enums(){
mut b := Color.red