[英]Is there some sort of sequence in which the compiler operates?
我正在将一个 C++ 程序重写为 Rust,有一件事让我情绪过山车。 在第一次迭代时,它给了我 50 个错误,然后我一个一个地解决它们,当我解决最后一个错误时,编译器给了我 60 个新的错误,然后我解决了它们,又得到了几十个错误。
最后一组(至今)错误似乎完全由借用检查器生成。 那么为什么会这样呢? 编译过程是否有一些层次或阶段,如果有,它们是什么?
我想知道这一点,因为我喜欢可预测性,不喜欢情绪过山车(我也想知道这次冒险什么时候结束)。
是的,有一个命令:
前两个对于大多数类型化语言来说是常见的。 在检查它们之前,您需要构建某种类型关系的 model,如果语法不正确,它将很快失败。 在 Rust 中,一旦基本类型检查通过,后续步骤是验证所有借用是否有效。
您可以在博文Introducing MIR中阅读更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.