源码动态 源码评测 源码技巧 网站运营 网页制作 网站开发 安全相关 软件教程 IDC资讯 业界消息
高级搜索
关键字:Discuz!  Axure  团购系统
最新更新发布资源提建议收藏本站
当前位置:A5下载 > 资讯报道 > 源码动态 > Rust 1.65.0 稳定版发布,泛型关联类型 (GATs) 正式稳定

Rust 1.65.0 稳定版发布,泛型关联类型 (GATs) 正式稳定

作者:qazwsxzxc来源:未知浏览:时间:2022-11-09 09:49我要评论
Rust 1.0 正式版发布了,这是官方首次宣布的 Rust 稳定版本。当然 1.0 版本的发布并不代表 Rust 语言已经完工,还有很多特性需要完成。

 

Rust 1.65.0 稳定版已发布。此版本包含多项重要的语法变更,以及编辑器和标准库方面的改动。值得关注的是,Rust 1.65 现在还启用了 MIR 内联来优化编译,为 crate 提供了 3-10% 的编译时间改进。

 

语言特性

为枚举类型使用#[non_exhaustive]变体进行 as转换添加错误处理
let else正式稳定
let PATTERN: TYPE = EXPRESSION else {
DIVERGING_CODE;
};
泛型关联类型 (Generic Associated Types, GATs) 正式稳定
Lifetime、type 和 const 泛型现在可以在关联类型上进行定义,如下所示:

trait Foo {
type Bar<'x>;
}
下面是一些使用示例:

/// An `Iterator`-like trait that can borrow from `Self`
trait LendingIterator {
type Item<'a> where Self: 'a;

fn next<'a>(&'a mut self) -> Option<Self::Item<'a>>;
}

/// Can be implemented over smart pointers, like `Rc` or `Arc`,
/// in order to allow being generic over the pointer type
trait PointerFamily {
type Pointer<T>: Deref<Target = T>;

fn new<T>(value: T) -> Self::Pointer<T>;
}

/// Allows borrowing an array of items. Useful for
/// `NdArray`-like types that don't necessarily store
/// data contiguously.
trait BorrowArray<T> {
type Array<'x, const N: usize> where Self: 'x;

fn borrow_array<'a, const N: usize>(&'a self) -> Self::Array<'a, N>;
}
从 Clippy 添加 lintslet_underscore_drop,let_underscore_lock 和 let_underscore_must_use
未初始化的整数、浮点数和原始指针现在会被视作未定义行为 (immediate UB)
适用于 Windows x86_64, aarch64 和 thumbv7a 架构的 raw-dylib 正式稳定
不允许在外部 ADTs 中 Dropimpl

 

相关文章
评论暂时关闭
资讯分类
本类热门资讯
  • 源码推荐
  • 软件推荐
关于我们联系我们发布资源广告服务合作伙伴网站地图版权声明与我们对话