vxx2 / vlib / v / checker / tests / structured_generic_receiver_pattern_mismatch_err.vv
28 lines · 25 sloc · 465 bytes · a8cc0bb64eb2e3d48acfa0409c1e95b2226c8e5c
Raw
1struct ReceiverPatternExpect[T] {
2 value T
3}
4
5fn (e ReceiverPatternExpect[[]T]) array_item(value T) T {
6 if e.value.len == 0 {
7 return value
8 }
9 return e.value[0]
10}
11
12fn (e ReceiverPatternExpect[map[K]V]) map_value(key K, value V) V {
13 if key in e.value {
14 return e.value[key]
15 }
16 return value
17}
18
19fn main() {
20 ReceiverPatternExpect[map[string]int]{
21 value: {
22 'one': 1
23 }
24 }.array_item(0)
25 ReceiverPatternExpect[[]int]{
26 value: [1, 2, 3]
27 }.map_value(0, 0)
28}
29