v2 / vlib / v / checker / tests / call_empty_or_block_err.vv
39 lines · 33 sloc · 362 bytes · 62bdf990d03b069db82d75b35b547f9191942134
Raw
1fn foo() !bool {
2 return true
3}
4
5fn bar() ! {
6}
7
8fn main() {
9 a := foo() or { foo() or {} }
10
11 // must be error
12 y := if c := foo() {
13 dump(c)
14 bar() or {}
15 } else {
16 false
17 }
18
19 // ok
20 z := if d := foo() {
21 dump(d)
22 bar() or {}
23 true
24 } else {
25 false
26 }
27
28 // ok
29 w := foo() or {
30 bar() or {}
31 false
32 }
33
34 // ok
35 b := foo() or {
36 foo() or {}
37 false
38 }
39}
40