diff --git a/vlib/builtin/array.v b/vlib/builtin/array.v index 7b0e828904..64fe8849cf 100644 --- a/vlib/builtin/array.v +++ b/vlib/builtin/array.v @@ -27,17 +27,6 @@ fn __new_array(mylen int, cap int, elm_size int) array { } return arr } -fn new_array(mylen int, cap int, elm_size int) array { - cap_ := if cap == 0 { 1 } else { cap } - arr := array{ - len: mylen - cap: cap_ - element_size: elm_size - data: vcalloc(cap_ * elm_size) - } - return arr - -} // TODO pub fn make(len int, cap int, elm_size int) array { diff --git a/vlib/v/parser/struct.v b/vlib/v/parser/struct.v index c69328a9ac..e5c681de22 100644 --- a/vlib/v/parser/struct.v +++ b/vlib/v/parser/struct.v @@ -237,7 +237,7 @@ fn (mut p Parser) interface_decl() ast.InterfaceDecl { foo: 'foo' } } - typ := p.table.register_type_symbol(t) + typ := table.new_type(p.table.register_type_symbol(t)) ts := p.table.get_type_symbol(typ) // TODO t vs ts // Parse methods mut methods := []ast.FnDecl diff --git a/vlib/v/table/table.v b/vlib/v/table/table.v index 18a3b1592a..d198b89198 100644 --- a/vlib/v/table/table.v +++ b/vlib/v/table/table.v @@ -485,7 +485,7 @@ pub fn (t &Table) check(got, expected Type) bool { exp_type_sym := t.get_type_symbol(expected) // if exp_type_sym.kind == .interface_ { - info := got_type_sym.info as Interface + info := exp_type_sym.info as Interface println('gen_types before') println(info.gen_types) info.gen_types << got_type_sym.name