From 850e76857d5605f567ed95c421e4b3749cde19de Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Mon, 11 Dec 2023 07:23:12 -0300 Subject: [PATCH] cgen: fix mutable comptimeselector usage (fix #20027) (#20134) --- vlib/v/checker/check_types.v | 4 +--- vlib/v/gen/c/fn.v | 3 --- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/vlib/v/checker/check_types.v b/vlib/v/checker/check_types.v index a4b56ebceb02bf..7fe74e92d7df6a 100644 --- a/vlib/v/checker/check_types.v +++ b/vlib/v/checker/check_types.v @@ -930,9 +930,7 @@ fn (mut c Checker) infer_fn_generic_types(func ast.Fn, mut node ast.CallExpr) { } } } - - if arg.expr.is_auto_deref_var() - || (arg.expr is ast.ComptimeSelector && arg.expr.left.is_auto_deref_var()) { + if arg.expr.is_auto_deref_var() { typ = typ.deref() } // resolve &T &&T ... diff --git a/vlib/v/gen/c/fn.v b/vlib/v/gen/c/fn.v index a8847b07ce807c..1372aa00718979 100644 --- a/vlib/v/gen/c/fn.v +++ b/vlib/v/gen/c/fn.v @@ -1166,9 +1166,6 @@ fn (mut g Gen) resolve_comptime_args(func ast.Fn, mut node_ ast.CallExpr, concre && param_typ_sym.kind == .array { comptime_args[k] = g.get_generic_array_element_type(arg_sym.info as ast.Array) } - if call_arg.expr.left.is_auto_deref_var() { - comptime_args[k] = comptime_args[k].deref() - } if param_typ.nr_muls() > 0 && comptime_args[k].nr_muls() > 0 { comptime_args[k] = comptime_args[k].set_nr_muls(0) }