gpt4 book ai didi

rust - 编译器运行有某种顺序吗?

转载 作者:行者123 更新时间:2023-11-29 07:57:07 24 4
gpt4 key购买 nike

我正在用 Rust 重写一个 C++ 程序,有一件事让我情绪激动。在第一次迭代时,它给了我,比如说 50 个错误,然后我一个一个地解决它们,就在我解决最后一个错误时,编译器给我 60 个新错误,然后我解决它们并得到另外几十个错误。

最后(至今)一组错误似乎完全是由借用检查器产生的。那么为什么会这样呢?编译过程中是否有某些层次或阶段,如果有,它们是什么?

我想知道这一点,因为我喜欢可预测性,不喜欢情绪化的过山车(我还想知道这次冒险何时结束)。

最佳答案

是的,有一个命令:

  1. 语法错误,来自解析源代码
  2. 非生命周期类型错误,来自类型检查器
  3. 终身错误,来自借用检查器

前两个是大多数类型化语言所共有的。在检查它们之前,您需要构建某种类型关系的模型,如果语法不正确,这将很快失败。在 Rust 中,一旦基本类型检查通过,后续步骤是验证所有借用是否有效。

您可以在博文 Introducing MIR 中阅读更多内容.

关于rust - 编译器运行有某种顺序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com