Rust 1.55 穩定版發佈

Rust 1.55 是 2021 Edition 正式發佈之前的倒數第二個版本,此版本主要更新如下:

  • range 操作符支持半開語法
match x as u32 {
      0 => println!("zero!"),
      1.. => println!("positive number!"),
}
  • 極大的提高浮點數的解析速度

採用新的 Eisel-Lemire 算法解析浮點數,不僅在速度上有很大提升,之前一些解析失敗的邊緣 case 也全都修復了

  • cargo 構建的時候不再重複報 Error
  • 細化 io::ErrorKind

使用 ErrorKind::Other 來區分標準庫之外產生的 io Error,標準庫之內不會再產生 ErrorKind::Other 的 Error。標準庫未來暫未分類的 Error 類型,統一使用 Uncategorized。

  • 數組增加 map() 方法

數組的 map() 方法返回的依然是數組,對數組來説更方便!

  • 穩定 ops::ControlFlow

這是未來要穩定的 try trait v2 的一部分。

pub enum ControlFlow<B, C = ()> {
    Continue(C),
    Break(B),
}

標準庫裏面很多地方都用到了這個類型,很有用。

  • cargo clippy --fix 可以自動幫你修復 clippy 的警告