Rust 1.0釋出一週年,發展回顧與總結

weixin_33858249發表於2016-06-16

前言

\

Rust 1.0釋出剛剛一週年(2015.5~2016.5),這一年來Rust又取得了長足的進步。筆者嘗試從多個方面總結過去一年來Rust領域的重要動作、進度和成就。本文內容豐富,資訊量大,總結比較全面。讀者從中可以看到:開發者的辛勤努力和Rust語言的快速成長,Dropbox等公司在生產環境中的核心模組應用Rust,社群成員積極參與社群活動,Rust在國內的發展狀況,等等。\

Rust語言/編譯器/標準庫升級

\

一些零散的升級,像新增Stable API、區域性提升效能、修改某些BUG等等,在這裡就不提了。我將要說的,都是影響深遠的重大升級。當然,還有很多工作未最終完成,要等以後的版本問世。但是前期的研究、討論、設計等步驟基本走完,剩下的無非就是編碼實現、實驗性應用、標準化等步驟,只要沒有意外,後面的一切都順理成章。\

本文多次提及的RFCs,後面將有專門章節介紹,此處不展開敘述。\

impl specialization (RFC 1210)

\

這一特性類似C++的模板特化和偏特化。允許為介面或型別定義多個可重疊的impl實現,最終由編譯器依據上下文自動選擇其中一個最具體、最specific(general的對立面)的實現。它能幫助程式設計師更好的優化效能、重用程式碼,還為將來實現規劃已久的\"efficient inheritance\"提供基礎支援。\

舉個簡單的例子。Rust從1.0開始就為 “實現了Display介面的任意型別T”
實現了ToString介面。這是一個泛型實現,涉及大量型別,覆蓋面很廣。從程式碼實現細節上看,用到格式化文字輸出(fmt::Write::write_fmt)。

#[stable(feature = \"rust1\

相關文章