From e37cdf2eb0a34b03b3678b274ab8bf39818ceb1c Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 21 Aug 2026 01:30:25 +0800 Subject: [PATCH] =?UTF-8?q?docs(TODO):=20=E8=AE=B0=E5=BD=95=20Mixin=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E7=9B=B4=E6=8E=A5=E8=B0=83=E7=94=A8=E5=90=88?= =?UTF-8?q?=E6=B3=95=E6=80=A7=E9=9D=99=E6=80=81=E6=A3=80=E6=9F=A5=E5=BE=85?= =?UTF-8?q?=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MixinC2.outer2(c) 用非组合类实例直接调用编译通过但运行期 this_adjust 越界——Mixin 方法必须经组合类实例调用。日后编译器提前报错预警功能需在调用处验证 self 类型的组合完整性。 --- TODO | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 9abb85d..06d9f6d 100644 --- a/TODO +++ b/TODO @@ -50,7 +50,12 @@ TPV 虚类判断问题,参见 ast/parser.vp:2037行 结构子(反射型 runtime lookup 鸭子(看起来像跑起来像,就是鸭子,愿意)) 函数前后父子构造钩子 元对象协议 MOP 的编译期版本 -多分派实验 +多分派实验 +Mixin 方法直接调用的合法性静态检查:MixinC2.outer2(c) 用非组合类实例直接调用,编译通过(兜底 this_adjust 前移)但运行期越界——Mixin 方法必须经组合类实例调用。日后"编译器提前报错预警"功能需在调用处验证 self 类型的组合完整性(NoVTableCrossMixinTest Test 2/3 边界) + + + +$env:TPC_ASAN="0"