From df385799a23334b2e886ae93dd27083503742467 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sat, 14 Nov 2020 10:42:56 +0200 Subject: [PATCH] checker: fix `invalid type (typ=0 idx=0)` when x,y := gfn(), and gfn returns (Abc,T) --- vlib/v/checker/checker.v | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vlib/v/checker/checker.v b/vlib/v/checker/checker.v index af8823d8e3..fd7e17b35e 100644 --- a/vlib/v/checker/checker.v +++ b/vlib/v/checker/checker.v @@ -2118,6 +2118,10 @@ pub fn (mut c Checker) assign_stmt(mut assign_stmt ast.AssignStmt) { } left_type_unwrapped := c.unwrap_generic(left_type) right_type_unwrapped := c.unwrap_generic(right_type) + if right_type_unwrapped == 0 { + // right type was a generic `T` + continue + } left_sym := c.table.get_type_symbol(left_type_unwrapped) right_sym := c.table.get_type_symbol(right_type_unwrapped) left_is_ptr := left_type.is_ptr() || left_sym.is_pointer()