Rust 1.35 编程语言发布

发生 系统编程语言发布 锈1.35,由 Mozilla 项目开发。 该语言专注于内存安全,提供自动内存管理,并提供一种无需使用垃圾收集器或运行时即可实现高任务并行性的方法。

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

创新:

  • 性状 一次调用, 突变体 и Fn 为堆分配实现 盒装类型 Box、Box 和 Box;
  • 添加者 机会 将闭包强制转换为不安全函数指针 (unsafe fn);
  • 实现了调用宏“dbg!”的功能不带参数,在stderr中显示文件名和行号,无需检查变量,方便调试条件表达式的运行;
  • 添加了方法 " 到浮点类型 f32 和 f64文案» 将字符从一个数字复制到另一个数字;
  • 向 Range* 类型添加了方法“包含”,可以检查指定的值是否在范围内;
  • 添加方法 参考:单元格:map_split,允许您反映和分离借用数据的不同组件的借用 RefCell 值;
  • 添加方法 RefCell::replace_with 替换当前 RefCell 值并返回旧值作为结果;
  • 添加方法 指针::散列 通过地址而不是寻址值来散列指针或引用;
  • 添加方法 选项::已复制 复制 Option 或 Option 选项的内容;
  • 新的部分 API 已转移到稳定类别,包括已稳定的方法
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::哈希值,
    范围::包含,
    RangeFrom::包含,
    RangeTo::包含,
    范围包含::包含,
    RangeToInclusive::包含和
    选项::已复制;

  • 向clippy(linter)添加了drop_bounds检查,当向函数添加“T:Drop”绑定时会触发该检查;
  • 编译器添加了对新目标平台的支持
    wasm32-未知-wasi(接口 瓦西 在浏览器外使用 WebAssembly);

  • Rust 工具包适用于基于标准 C 库 Musl 的发行版。

来源: opennet.ru

添加评论