近日,Rust 語言設計團隊 Lang Team 在官方部落格中公佈了 Rust 語言 2024 年的更新路線圖,Rust 2024 是繼 Rust 2015、Rust 2018 和 Rust 2021 之後的第四版程式語言路線圖。
Lang Team 表示該路線圖只是一個起點,具體內容會隨著時間而改變,將不斷審視這些內容,檢視所取得的進展,以及是否需要調整該路線圖。
該路線圖重點涉及三個方向,分別是降低學習門檻-使新老使用者都更容易使用 Rust、擴充套件生態系統-賦予庫作者權力,同時也推動庫作者賦予使用者權力和、Rust 專案擴充套件-完善開發流程,以適應越來越多的使用者需求和用例,評估已經開始的專案。
降低學習門檻
Lang Team 表示在 Rust 2024 中他們的目標是簡化程式,使開發者只需處理其領域的固有複雜性,不再需要處理 Rust 的意外複雜性。
為了實現這一願景,團隊有四個目標:
- 更精確的分析,更少的繁瑣:通過對借用檢查器、型別推理的改進,使編譯器能夠更好地識別程式碼是否正確。識別並消除 "boilerplate" 模式,例如到處複製貼上同一組 where。
- 更容易、更直接地表達程式碼的意圖:例如通過語法糖的形式(如 let-else),或者擴充套件型別系統(如泛型關聯型別))
- 改進非同步支援:將 async-await 支援擴充套件到當前的 "MVP" 之外,如traits 中的 async fns、async drop 等特性。
- 讓 dyn Trait 更有用:拓寬可用於 dyn 的特性集,讓使用 dyn 更接近於使用泛型。
擴充套件生態系統
Lang Team 表示有許多事情是庫作者不能做的,或者不容易做的——例如,他們不能控制使用者看到的錯誤訊息,或者部署一個需要特殊選擇才能使用的“不穩定”特性。因此對於 Rust 2024,設計團隊希望通過幫助管理功能的生命週期或擴充套件庫的功能,使庫作者能夠更好地為使用者服務。
為了實現這一願景,團隊計劃專注於四類工作:
- 生命週期功能:幫助庫作者管理他們的開發生命週期和演進。
- 更豐富的抽象:擴充套件語言,讓庫作者表達更豐富的抽象。
- 定製開發體驗:例如,當trait沒有實現時,可以定製使用者得到的錯誤訊息,或者引入定製lint
- 互操作性:庫作者可以隨心所欲地編寫跨多種環境移植或特定於一種環境的程式碼。
Rust 專案擴充套件
為了釋出 Rust 2024 並讓 Rust 儘可能地發揮作用,確保 Rust 的質量、穩定性和整體一致性,團隊將專注於以下工作:
- 及時檢視狀態:能夠很容易確定團隊正在進行哪些工作以及這些工作的完成進展。團隊希望每一個跟蹤問題都能清楚地識別出需要哪些步驟來推動該特定功能的完成,並確保這些步驟對潛在的貢獻者來說是足夠清楚的。
- 明確的所有者和溝通:Rust 通過共識來運營,但這並不意味著每個人都必須知道所有事情的所有細節。因此需要一個系統,該系統對要完成的工作有明確的所有者,理想情況下,所有者不屬於 Lang Team。雖然簡單的分工可能會導致以後的衝突,所以也需要頻繁的溝通和更新,以確保每個人都能跟上事情發展的總體方向,並儘早提出問題。
- 具有工具支援的高效、開放的流程:Lang Team 一直在尋找改進運營方式的方法,以幫助掌握 Rust 專案的進展情況,並更快地得出結論。團隊發現由機器人或其他工具支援的流程往往工作得更好。
路線圖的更多詳情可檢視 :https://blog.rust-lang.org/in...