v2 / vlib / v / tests / fns / anon_c_keywords_closure_test.v
18 lines · 17 sloc · 407 bytes · 8ae627ff7995692f2fb2a03a7334228478f17a3e
Raw
1fn test_main() {
2 mut stderr := 0
3 mut stdout := 0
4 mut stdin := fn () {}
5
6 causes_error := fn [mut stderr, mut stdin, mut stdout] () int {
7 stderr = 0
8 stdin()
9 stdout = 2
10 assert stderr == 0
11 assert stdout == 2
12 return stderr + stdout
13 }
14 assert causes_error() == 2
15 assert voidptr(C.stdin) != unsafe { nil }
16 assert voidptr(C.stdout) != unsafe { nil }
17 assert voidptr(C.stderr) != unsafe { nil }
18}
19