RFC正式确立Rust中指针来源的存在


该文指出:Rust 中的指针(包括引用类型的值)由两个部分组成。

  • 指针的 "地址 "表示指针当前指向的内存位置。
  • 指针的 "出处 "说明指针何时可以访问内存中的哪个位置。

(这里不考虑宽指针可能附带的任何 "元数据",只讨论瘦指针/宽指针的数据部分)。

使用给定指针访问内存是否会导致未定义行为(UB)取决于地址和出处:使用一种出处访问同一地址可能没有问题,而使用另一种出处访问则会导致 UB。

与此相反,整数不包含出处成分。

其余大部分细节,如具体的出处模型,则故意不作说明。

本 RFC 的目标是尽可能简约,让整个 Rust 项目在语言未来的长期发展上保持 "一致"。

详细点击标题