Rust 1.62 编程语言发布

Rust 1.62 通用编程语言的发布已经发布,该语言由 Mozilla 项目创建,但现在由独立的非营利组织 Rust 基金会赞助开发。 该语言专注于内存安全,并提供了实现高作业并行性的方法,同时避免使用垃圾收集器和运行时(运行时减少为标准库的基本初始化和维护)。

Rust 的内存处理方法使开发人员在操作指针时避免错误,并防止由于低级内存处理而出现的问题,例如在内存区域被释放后访问它、取消引用空指针、缓冲区溢出等。 为了分发库、提供构建和管理依赖项,该项目开发了 Cargo 包管理器。 crates.io 存储库支持托管库。

Rust 在编译时通过引用检查、跟踪对象所有权、跟踪对象生命周期(范围)以及评估代码执行期间内存访问的正确性来提供内存安全。 Rust 还提供防止整数溢出的保护,要求在使用前初始化变量,更好地处理标准库中的错误,默认应用不可变引用和变量的概念,并提供强静态类型以最小化逻辑错误。

主要创新:

  • “cargo”包管理器提供“add”命令,它允许您向 Cargo.toml 清单添加新的依赖项或从命令行更改现有的依赖项。 该命令还允许您指定各个功能和版本,例如:cargo add serde —features导出cargo add nom@5
  • 添加了将“#[derive(Default)]”与枚举一起使用的功能,其中使用“#[default]”属性定义默认选项。 #[derive(默认)] 枚举也许{ #[默认] 什么都没有,有什么(T), }
  • 在Linux平台上,基于Linux内核提供的futex的使用,使用更紧凑和更快的Mutex同步机制实现。 与之前使用的基于 pthreads 库的实现不同,新版本仅使用 5 个字节而不是 40 个字节来存储 Mutex 状态,同样,Condvar 和 RwLock 锁定机制也已转移到 futex。
  • 已实现对 x86_64-unknown-none 目标平台的第二级支持,旨在生成无需操作系统即可运行的可执行文件。 例如,在编写内核组件时可以使用指定的目标平台。 第二级支持涉及装配保证。
  • 已为 aarch64-pc-windows-gnullvm 和 x86_64-pc-windows-gnullvm 平台实现了第三级支持。 第三级涉及基本支持,但没有自动化测试、发布官方构建或检查代码是否可以构建。
  • API 的新部分已移至稳定类别,包括特性的方法和实现已稳定:
    • 布尔::then_some
    • f32::total_cmp
    • f64::total_cmp
    • 标准输入::行
    • 窗口::CommandExt::raw_arg
    • 暗示AssertUnwindSafe 的默认值
    • 从 > 对于遥控
    • 从 > 对于弧<[u8]>
    • EncodeWide 的 FusedIterator

    来源: opennet.ru

添加评论