[英]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 的当前(和以前)版本,计划做一个简单的版本控制系统,如v1 , v2 , ..., 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 版在完成开发过程中,在前奏中添加了一些内容:最终添加了FromIterator
、 TryFrom
和TryInto
。 这会是std::prelude::v2
吗? 不。 自创建v1
以来,已经开发了 Rust 的全新版本控制方案(版本系统),是时候追溯更新前奏以反映正在使用的版本。 所以在 2021 年中期:
rust_2015
、 rust_2018
和rust_2021
作为实验模块随着我们向未来迈进, Rust 1.62.0 前奏已经添加了一个rust_2024
实验模块。 在更接近 Rust 2024 版发布之前,它可能不会稳定下来,但它已经表明前进的道路是明确的。
所以不,不会很快有std::prelude::v2
; 序曲将跟随版本。
也可以看看:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.