Rust 1.43 编程语言发布

发表 系统编程语言发布 锈1.43,由 Mozilla 项目创建。 该语言专注于内存安全,提供自动内存管理,并提供在不使用垃圾收集器和 运行.

Rust 的自动内存管理使开发人员免于指针操作,并防止低级内存操作引起的问题,例如释放后内存访问、空指针取消引用、缓冲区溢出等。 正在开发一个包管理器来分发库、确保组装并管理项目的依赖关系。 货物,让您一键获取程序所需的库。 支持存储库来托管库 箱子.

创新:

  • 宏提供了使用元素片段将其转换为特征(trait)、实现(impl)或外部块的代码的能力。 例如:

    宏规则! mac_trait {
    ($i:项目) => {
    特质 T { $i }
    }
    }
    mac_trait! {
    fn foo() {}
    }

    将导致生成:

    特质 T {
    fn foo() {}
    }

  • 改进了原语、引用和二进制操作的类型检测。
    例如,以下代码以前会导致错误,现在可以编译(Rust 现在可以正确确定 0.0 和 &0.0 必须是 f32 类型):

    令 n: f32 = 0.0 + &0.0;

  • Cargo 中添加了一个新的环境变量 CARGO_BIN_EXE_{name},该变量在构建集成测试时设置,并允许您确定包的“[[bin]]”部分中定义的可执行文件的完整路径。
  • If 语句允许使用“#[cfg()]”等属性。
  • 该库提供了直接将关联常量用于整数和小数类型的能力,而无需导入模块。 例如,您可以立即写入 u32::MAX 或 f32::NAN,而无需先指定“use std::u32”和“use std::f32”。
  • 添加了新模块 原始,它重新导出 Rust 原始类型,例如当您需要编写宏并确保类型不隐藏时。
  • 新的部分 API 已转移到稳定类别,包括稳定的

    一旦::is_completed,
    f32::LOG10_2,
    f32::LOG2_10,
    f64::LOG10_2,
    f64::LOG2_10 和
    迭代器::once_with。

来源: opennet.ru

添加评论