Rust 1.83.0 稳定版已正式发布,主要带来以下变化:
此版本对在 const contexts 中运行的代码的功能进行了多项重大扩展。指的是编译器在编译时必须评估的所有代码:const和static项的初始值、数组长度、枚举判别值、const 泛型参数以及可从此类上下文调用的函数(const fn)。
对 statics 的引用。 到目前为止,除了static项的初始化表达式之外,const contexts 都禁止引用static项。此限制现已取消:
值得注意的是,在 const contexts 中仍然不允许读取可变或内部可变静态的值。此外,常量的最终值不得引用任何可变或内部可变静态:
这些限制确保 constants 仍然是“constant”:它们的求值及以及它们作为模式的含义(可能涉及取消引用引用)在整个程序执行过程中将是相同的。
尽管如此,还是允许常量求值到指向可变静态或内部可变静态的原始指针:
可变引用和指针。 现在可以在 const contexts 中使用可变引用:
还支持可变原始指针和内部可变性:
但是,可变引用和指针只能在常量的计算中使用,它们不能成为常量最终值的一部分:
此版本还附带了一整套新功能,这些函数现在在 const contexts 中很稳定。
详情可查看官方公告:https://blog.rust-lang.org/2024/11/28/Rust-1.83.0.html
未经允许不得转载:岩猫星空网 » Rust 1.83.0 发布