diff --git a/vlib/v/type_resolver/generic_resolver.v b/vlib/v/type_resolver/generic_resolver.v index 305cdbd21394c7..457c8a52340005 100644 --- a/vlib/v/type_resolver/generic_resolver.v +++ b/vlib/v/type_resolver/generic_resolver.v @@ -17,10 +17,10 @@ pub fn (mut ct TypeResolver) unwrap_generic_expr(expr ast.Expr, default_typ ast. return expr.typ } ast.InfixExpr { - if ct.info.is_comptime(expr.left) { + if expr.left_ct_expr { return ct.resolver.unwrap_generic(ct.get_type(expr.left)) } - if ct.info.is_comptime(expr.right) { + if expr.right_ct_expr { return ct.resolver.unwrap_generic(ct.get_type(expr.right)) } return default_typ diff --git a/vlib/v/type_resolver/type_resolver.v b/vlib/v/type_resolver/type_resolver.v index ff07afc874a341..2e4cd38fbf03e5 100644 --- a/vlib/v/type_resolver/type_resolver.v +++ b/vlib/v/type_resolver/type_resolver.v @@ -213,6 +213,7 @@ pub fn (mut t TypeResolver) get_type(node ast.Expr) ast.Type { return t.get_type(node.right) } } else if node is ast.CastExpr && node.typ.has_flag(.generic) { + // T(expr) return t.resolver.unwrap_generic(node.typ) } return ast.void_type