From defac67a954a55723239b94ee106615ff4e026e8 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Mon, 5 Oct 2026 14:15:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(StringIterTest):=20=E6=B6=88=E9=99=A4?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=20main=EF=BC=8C=E6=81=A2=E5=A4=8D=20inline?= =?UTF-8?q?=20list[struct,=20N]=20=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit inline_test.vp 与 main.vp 各定义一个 main,过去靠 -Wl,--allow-multiple-definition 静默丢弃其一;去掉兜底 flag 后 ld.lld 报 duplicate symbol: main。现将 inline_test 的入口改名为 inline_array_test(),由 main.vp 显式 import 并调用。 --- StringIterTest/App/inline_test.vp | 2 +- StringIterTest/App/main.vp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/StringIterTest/App/inline_test.vp b/StringIterTest/App/inline_test.vp index 719dd80..256eaf1 100644 --- a/StringIterTest/App/inline_test.vp +++ b/StringIterTest/App/inline_test.vp @@ -35,7 +35,7 @@ class Container: else: stdio.printf("FAIL: inline list[struct, N] in Container\n") -def main() -> t.CInt: +def inline_array_test() -> t.CInt: stdio.printf("=== InlineArrayTest ===\n") c1 = Container() c1.fill() diff --git a/StringIterTest/App/main.vp b/StringIterTest/App/main.vp index de476e8..8155d8d 100644 --- a/StringIterTest/App/main.vp +++ b/StringIterTest/App/main.vp @@ -3,6 +3,7 @@ import stdio import string import c import testcheck +import inline_test # ============================================================ # Test 1: 字符串指针迭代 - 逐字符直到\0 @@ -176,4 +177,5 @@ def main() -> t.CInt: test_ptr_arithmetic() test_manual_strcmp() test_struct_ptr_access() + inline_test.inline_array_test() return testcheck.end()