v2 / vlib / v / parser / tests / defer_propagate.vv
16 lines · 14 sloc · 157 bytes · d679146a8003be6dc21f5b677753fd1e7403faa3
Raw
1fn test1() ?int {
2 a := 3
3 return a
4}
5
6fn test2() ?int {
7 mut a := 0
8 defer {
9 a = test1()?
10 }
11 return a
12
13fn main() {
14 x := test2() or { -1 }
15 println(x)
16}
17