v2 / vlib / v / checker / tests / option_receive_ptr_err.vv
23 lines · 20 sloc · 325 bytes · 0c8ce3bcb9fd4a2e5bd5f991a5a07da976d780d7
Raw
1struct MyStruct {
2 x int
3}
4
5fn unwrap_option(event_data ?MyStruct) int {
6 if val := event_data {
7 return val.x
8 } else {
9 return 0
10 }
11}
12
13fn wrap_unwrap_ptr(event_data &MyStruct) int {
14 return unwrap_option(event_data)
15}
16
17fn main() {
18 data := MyStruct{
19 x: 0
20 }
21 result := wrap_unwrap_ptr(&data)
22 assert data.x == result
23}
24