From 66b75c28b8c9e6a63c5ee70443a0bbb631a9c8f7 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Fri, 5 Dec 2025 03:09:29 -0300 Subject: [PATCH] markused: fix const as fn mark as used (fix #25888) (#25895) --- vlib/v/markused/walker.v | 4 +++- vlib/v/tests/consts/const_markused_test.v | 6 ++++++ vlib/v/tests/consts/my_utils/my_utils.v | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 vlib/v/tests/consts/const_markused_test.v create mode 100644 vlib/v/tests/consts/my_utils/my_utils.v diff --git a/vlib/v/markused/walker.v b/vlib/v/markused/walker.v index 0addbbd83..c4debab61 100644 --- a/vlib/v/markused/walker.v +++ b/vlib/v/markused/walker.v @@ -454,7 +454,9 @@ fn (mut w Walker) expr(node_ ast.Expr) { } ast.CallExpr { w.call_expr(mut node) - if node.name == 'json.decode' { + if node.is_fn_a_const { + w.mark_const_as_used(node.name) + } else if node.name == 'json.decode' { w.mark_by_type((node.args[0].expr as ast.TypeNode).typ) } else if node.name == 'json.encode' && node.args[0].typ != 0 { sym := w.table.final_sym(node.args[0].typ) diff --git a/vlib/v/tests/consts/const_markused_test.v b/vlib/v/tests/consts/const_markused_test.v new file mode 100644 index 000000000..c9d5ea4c5 --- /dev/null +++ b/vlib/v/tests/consts/const_markused_test.v @@ -0,0 +1,6 @@ +import my_utils + +fn test_main() { + v := f64(1.0 / 8) + assert my_utils.my_round(v, 2) == '0.13' +} diff --git a/vlib/v/tests/consts/my_utils/my_utils.v b/vlib/v/tests/consts/my_utils/my_utils.v new file mode 100644 index 000000000..e351f3b4b --- /dev/null +++ b/vlib/v/tests/consts/my_utils/my_utils.v @@ -0,0 +1,5 @@ +module my_utils + +import strconv + +pub const my_round = strconv.f64_to_str_lnd1 -- 2.39.5