From 6284c27ab6037faa6df1cb5804629a6f43fc2512 Mon Sep 17 00:00:00 2001 From: kbkpbot Date: Wed, 15 Jan 2025 15:16:33 +0800 Subject: [PATCH] builtin,checker: remove `@[markused]` from `fn isnil()`, set `c.table.used_features.auto_str_ptr = true` instead (#23464) --- vlib/builtin/builtin.v | 2 +- vlib/v/checker/str.v | 6 +++--- vlib/v/tests/skip_unused/auto_string.run.out | 3 +++ vlib/v/tests/skip_unused/auto_string.skip_unused.run.out | 3 +++ vlib/v/tests/skip_unused/auto_string.vv | 9 +++++++++ 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 vlib/v/tests/skip_unused/auto_string.run.out create mode 100644 vlib/v/tests/skip_unused/auto_string.skip_unused.run.out create mode 100644 vlib/v/tests/skip_unused/auto_string.vv diff --git a/vlib/builtin/builtin.v b/vlib/builtin/builtin.v index 7f83d0ef7..ba6c8c8c0 100644 --- a/vlib/builtin/builtin.v +++ b/vlib/builtin/builtin.v @@ -5,7 +5,7 @@ module builtin // isnil returns true if an object is nil (only for C objects). -@[inline; markused] +@[inline] pub fn isnil(v voidptr) bool { return v == 0 } diff --git a/vlib/v/checker/str.v b/vlib/v/checker/str.v index 75f8ae987..e5cec6f14 100644 --- a/vlib/v/checker/str.v +++ b/vlib/v/checker/str.v @@ -56,12 +56,12 @@ fn (mut c Checker) string_inter_lit(mut node ast.StringInterLiteral) ast.Type { if c.pref.skip_unused && !c.is_builtin_mod { if !c.table.sym(ftyp).has_method('str') { c.table.used_features.auto_str = true - if ftyp.is_ptr() { - c.table.used_features.auto_str_ptr = true - } } else { c.table.used_features.print_types[ftyp.idx()] = true } + if ftyp.is_ptr() { + c.table.used_features.auto_str_ptr = true + } c.table.used_features.interpolation = true } c.fail_if_unreadable(expr, ftyp, 'interpolation object') diff --git a/vlib/v/tests/skip_unused/auto_string.run.out b/vlib/v/tests/skip_unused/auto_string.run.out new file mode 100644 index 000000000..4ff935d8a --- /dev/null +++ b/vlib/v/tests/skip_unused/auto_string.run.out @@ -0,0 +1,3 @@ +Hello Tom +C->&Tom +&1.24 diff --git a/vlib/v/tests/skip_unused/auto_string.skip_unused.run.out b/vlib/v/tests/skip_unused/auto_string.skip_unused.run.out new file mode 100644 index 000000000..4ff935d8a --- /dev/null +++ b/vlib/v/tests/skip_unused/auto_string.skip_unused.run.out @@ -0,0 +1,3 @@ +Hello Tom +C->&Tom +&1.24 diff --git a/vlib/v/tests/skip_unused/auto_string.vv b/vlib/v/tests/skip_unused/auto_string.vv new file mode 100644 index 000000000..cf10a93c7 --- /dev/null +++ b/vlib/v/tests/skip_unused/auto_string.vv @@ -0,0 +1,9 @@ +a := 'Tom' +b := 'Hello ${a}' +c := &a +println(b) +println('C->${c}') + +f := 1.24 +f_p := &f +println('${f_p}') -- 2.39.5