Valen 的借用检查器通过跟踪引用指向的位置来允许可变别名。
Evan Ovadia 的实验性语言建立在 Nick Smith 的组借用提案之上,以与 Rust 的互操作性为设计目标。
By RuntimeWire Staff · Published · Updated
Primary source: Evan Ovadia
为何重要
Valen 正在测试编译时安全性是否能够在不产生悬垂引用的前提下容纳可变别名,这一权衡对系统语言和与 Rust 的互操作性具有重要影响。它的原型实现以及对 patched-rustc 的依赖使其仍属早期设计,而非可替代 Rust 的生产级方案。

Evan Ovadia 于 10 月 11 日发表了一篇关于 Valen 借用检查器的新叙述,描述了一种编译器设计,该设计允许对同一对象的多个引用进行读写,同时追踪这些引用是否可能变为无效。该提案称为 group borrowing(组借用),它将安全性检查从禁止某些引用组合转变为记录每个引用指向的位置以及某个操作可能使哪些引用失效。
Ovadia 多年来一直在围绕这一权衡构建编程语言。他自 2013 年起领导 Vale,此前在 Google 担任软件工程师,参与过 Google Earth、Google MyMaps 和 Google Chat 的工作,他的简历 显示了这些经历。Valen 将这一长期努力延续下来,目标是在编译时实现内存安全的同时,保留开发者从引用计数或垃圾回收中期望的灵活性。Ovadia 将这一雄心描述为寻找一种既具有 Rust 式安全性又具有那些替代方案易用性的系统。…
When you purchase through links in our articles, we may earn a small commission. This doesn’t affect our editorial independence.