簡體   English   中英

Rust Prelude 中的版本控制如何工作?

[英]How does versioning in the Rust Prelude work?

我的問題是關於std::prelude

Rust 2021 中的std::prelude包括super::v1::* (Rust 前奏曲的v1 )和core::prelude::rust_2021::*

至此,Rust(2015-2024)所有版本都包含v1的前奏。

為了使用與v1不同的 Rust 的未來版本的通用核心模塊,並且不影響使用v1的 Rust 的當前(和以前)版本,計划做一個簡單的版本控制系統,如v1v2 , ..., v[x] ,還是有另一條前進的道路?

在 Rust 1.0 發布之前,只有std::prelude 根本沒有版本控制。 由於開發速度很快,並且語言高度不穩定,因此考慮保持以前的版本正常工作是沒有意義的。 Rust 0.12.0 前奏看起來與我們今天所知道的大不相同。

一旦開始計划 1.0 版本,就必須考慮向后兼容性以及語言的某些部分將如何隨着時間的推移而增長。 眾所周知,前奏曲將來可能會發生變化,因此將其刪減並放入版本化模塊中。 這就是Rust 1.0.0 前奏曲必須被命名為std::prelude::v1的方式。

Rust 2018 版的前奏保持不變,因此它保持為std::prelude::v1

Rust 2021 版在完成開發過程中,在前奏中添加了一些內容:最終添加了FromIteratorTryFromTryInto 這會是std::prelude::v2嗎? 不。 自創建v1以來,已經開發了 Rust 的全新版本控制方案(版本系統),是時候追溯更新前奏以反映正在使用的版本。 所以在 2021 年中期:

隨着我們向未來邁進, Rust 1.62.0 前奏已經添加了一個rust_2024實驗模塊。 在更接近 Rust 2024 版發布之前,它可能不會穩定下來,但它已經表明前進的道路是明確的。

所以不,不會很快有std::prelude::v2 序曲將跟隨版本。


也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM