RX0026

领域: 引擎

错误消息

DataHeap 被提供了一个不是惰性回答所推导出的种类:%s

消息中的 %s 表示引擎抛出错误时填入的具体内容。

小故事

想象一栋楼,有两个入口:一个是给值住的,叫 DataHeap;另一个是给动词和流住的,叫 ExecHeap。住哪边,由这个存在的种类决定。这一次,有人带着一个要执行的东西,走进了值的大门,DataHeap 立刻拦住了它:这里只收惰性的值。为什么要在收录之前就检查呢?因为如果先收录,再检查,那么执行体可能会拿到一个已经存在的值的坐标,没有新的单元产生,所有的扫描依然显得一切正常,可是一个执行体,却已经持有了值的地址。那就乱了套。你可能会想,伪造一个惰性种类不就能混进去吗?不行,引擎里没有任何东西能铸造、复制、改写一个种类。怎么办?找出是谁把执行体送错了门。记住:各回各家,各走各门。

文本来自 Rush 引擎的错误目录。