v2 / vlib / v / tests / indexexpr_with_anon_fn_test.v
21 lines · 17 sloc · 442 bytes · 3b0cfbfd0fa5e04c66b37aece56ad4ac79b371c2
Raw
1module main
2
3pub struct Tree {}
4
5pub type TreeBelt = map[string]fn (input &Tree, belt TreeBelt) []&Tree
6
7pub fn (tree &Tree) processed() TreeBelt {
8 mut blet := TreeBelt(map[string]fn (&Tree, TreeBelt) []&Tree{})
9 blet['foo'] = fn (input &Tree, belt TreeBelt) []&Tree {
10 return [input]
11 }
12 return blet
13}
14
15fn test_main() {
16 tree := Tree{}
17 ret := tree.processed()
18 assert ret.len == 1
19 ret2 := ret['foo'](tree, ret)
20 assert ret2[0] == tree
21}
22