v2 / vlib / v / tests / options / option_fn_guard_test.v
23 lines · 19 sloc · 285 bytes · c141d34592abb9f3c296d94fdc7107e11f7c0b1d
Raw
1type MyFn = fn ()
2
3fn hello() {
4 println(@FN)
5}
6
7fn get_ptr() ?&MyFn {
8 return &hello
9}
10
11fn test_main() {
12 if p := get_ptr() {
13 assert voidptr(*p) == voidptr(hello)
14 dump(p)
15 w := *p
16 w()
17 }
18
19 p2 := get_ptr() or { return }
20 w2 := *p2
21 w2()
22 assert voidptr(*p2) == voidptr(hello)
23}
24