docs(TODO): 记录 Mixin 方法直接调用合法性静态检查待办
MixinC2.outer2(c) 用非组合类实例直接调用编译通过但运行期 this_adjust 越界——Mixin 方法必须经组合类实例调用。日后编译器提前报错预警功能需在调用处验证 self 类型的组合完整性。
This commit is contained in:
1 parent
8a0da29461
commit
e37cdf2eb0
1 file changed
+6
-1
@@ -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"
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user