v2 / vlib / v / tests / options / option_unwrapped_arg_generic_opt_test.v
17 lines · 15 sloc · 255 bytes · a298fb8aba367cf7e877ac9636d1635014dab56a
Raw
1fn test_main() {
2 mut arr := ?[]int(none)
3 if arr == none {
4 arr = []int{}
5 } else {
6 ret := unwrap(arr)
7 assert ret == arr
8 }
9 assert arr?.len == 0
10}
11
12fn t(a ?int) {}
13
14@[inline]
15pub fn unwrap[T](t ?T) T {
16 return t or { panic('unexpected `none`') }
17}
18