From ad269929c15eb7730de028395b4732f464dfc3d1 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Sun, 15 Dec 2024 11:46:10 -0300 Subject: [PATCH] markused: fix short program printing option (fix #23163) (#23167) --- vlib/v/checker/fn.v | 3 +++ vlib/v/tests/skip_unused/option_int_println.run.out | 1 + .../tests/skip_unused/option_int_println.skip_unused.run.out | 1 + vlib/v/tests/skip_unused/option_int_println.vv | 4 ++++ 4 files changed, 9 insertions(+) create mode 100644 vlib/v/tests/skip_unused/option_int_println.run.out create mode 100644 vlib/v/tests/skip_unused/option_int_println.skip_unused.run.out create mode 100644 vlib/v/tests/skip_unused/option_int_println.vv diff --git a/vlib/v/checker/fn.v b/vlib/v/checker/fn.v index c567e6978..55547a06b 100644 --- a/vlib/v/checker/fn.v +++ b/vlib/v/checker/fn.v @@ -1422,6 +1422,9 @@ fn (mut c Checker) fn_call(mut node ast.CallExpr, mut continue_check &bool) ast. if !c.table.sym(c.unwrap_generic(node.args[0].typ)).has_method('str') { c.table.used_features.auto_str = true } else { + if node.args[0].typ.has_option_or_result() { + c.table.used_features.option_or_result = true + } c.table.used_features.print_types[node.args[0].typ.idx()] = true } if node.args[0].typ.is_ptr() { diff --git a/vlib/v/tests/skip_unused/option_int_println.run.out b/vlib/v/tests/skip_unused/option_int_println.run.out new file mode 100644 index 000000000..6ef4d3d08 --- /dev/null +++ b/vlib/v/tests/skip_unused/option_int_println.run.out @@ -0,0 +1 @@ +Option(none) diff --git a/vlib/v/tests/skip_unused/option_int_println.skip_unused.run.out b/vlib/v/tests/skip_unused/option_int_println.skip_unused.run.out new file mode 100644 index 000000000..6ef4d3d08 --- /dev/null +++ b/vlib/v/tests/skip_unused/option_int_println.skip_unused.run.out @@ -0,0 +1 @@ +Option(none) diff --git a/vlib/v/tests/skip_unused/option_int_println.vv b/vlib/v/tests/skip_unused/option_int_println.vv new file mode 100644 index 000000000..cb73f142c --- /dev/null +++ b/vlib/v/tests/skip_unused/option_int_println.vv @@ -0,0 +1,4 @@ +fn main() { + n := ?int(none) + println(n) +} -- 2.39.5