| 1 | struct MyStruct { |
| 2 | x int |
| 3 | } |
| 4 | |
| 5 | fn unwrap_option(event_data ?MyStruct) int { |
| 6 | if val := event_data { |
| 7 | return val.x |
| 8 | } else { |
| 9 | return 0 |
| 10 | } |
| 11 | } |
| 12 | |
| 13 | fn wrap_unwrap_ptr(event_data &MyStruct) int { |
| 14 | return unwrap_option(event_data) |
| 15 | } |
| 16 | |
| 17 | fn main() { |
| 18 | data := MyStruct{ |
| 19 | x: 0 |
| 20 | } |
| 21 | result := wrap_unwrap_ptr(&data) |
| 22 | assert data.x == result |
| 23 | } |
| 24 |