Rust 1.69 编程语言发布

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

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

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

主要创新:

  • Cargo 包管理器实现了对可自动解决的警告的检测,并输出运行“cargo fix”或“cargo Clippy -fix”的适当建议。 警告:未使用的导入:'std::hash::Hash' —> src/main.rs:1:5 | 1 | 使用 std::hash::Hash; | ^^^^^^^^^^^^^^^^ | = 注意:'#[warn(unused_imports)]' 默认打开警告:'foo' (bin "foo") 生成 1 个警告(运行 'cargo fix —bin "foo"' 以应用 1 个建议)
  • Cargo 添加了在尝试使用“cargo install”命令安装库时使用“cargo add”命令的建议输出。
  • 为了减少编译时间,默认情况下已停止在构建脚本中包含调试信息。 如果构建脚本成功运行,则更改不会导致任何明显的差异,但如果发生故障,回溯转储将包含较少的信息。 要将旧行为返回到 Cargo.toml,您应该添加: [profile.dev.build-override] debug = true [profile.release.build-override] debug = true
  • API 的新部分已移至稳定类别,包括特性的方法和实现已稳定:
    • CStr::from_bytes_until_nul
    • 核心::ffi::FromBytesUntilNulError
  • 函数中使用了“const”属性,它决定了在任何上下文中使用它而不是常量的可能性:
    • SocketAddr::新
    • 套接字地址::ip
    • SocketAddr::端口
    • SocketAddr::is_ipv4
    • SocketAddr::is_ipv6
    • SocketAddrV4::新
    • SocketAddrV4::ip
    • SocketAddrV4::端口
    • SocketAddrV6::新
    • SocketAddrV6::ip
    • SocketAddrV6::端口
    • SocketAddrV6::流信息
    • SocketAddrV6::scope_id
  • 添加了在编译器参数中使用 true 和 false 标志的功能。

来源: opennet.ru

添加评论