File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -444,7 +444,7 @@ fn (mut g Gen) assign_stmt(node_ ast.AssignStmt) {
444444 g.is_assign_lhs = false
445445 g.is_arraymap_set = false
446446 if mut left is ast.IndexExpr {
447- sym := g.table.sym (left.left_type)
447+ sym := g.table.final_sym (left.left_type)
448448 if sym.kind in [.map , .array] {
449449 g.expr (val)
450450 g.writeln ('});' )
Original file line number Diff line number Diff line change 1+ module main
2+
3+ pub struct Tree {}
4+
5+ pub type TreeBelt = map [string ]fn (input & Tree, belt TreeBelt) []& Tree
6+
7+ pub 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+
15+ fn 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+ }
You can’t perform that action at this time.
0 commit comments