1 | if method_name == 'slice' && !c.is_builtin_mod { |
2 | c.error('.slice() is a private method, use `x[start..end]` instead', node.pos) |
3 | } |
4 | - array_info := left_sym.info as ast.Array |
5 | + array_info := if left_sym.info is ast.Array { |
6 | + left_sym.info as ast.Array |
7 | + } else { |
8 | + c.table.sym(c.unwrap_generic(left_type)).info as ast.Array |
9 | + } |
10 | elem_typ = array_info.elem_type |
11 | if method_name in ['filter', 'map', 'any', 'all'] { |
12 | // position of `it` doesn't matter |
13 |