【问题标题】:How does versioning in the Rust Prelude work?Rust Prelude 中的版本控制如何工作?
【发布时间】:2022-09-24 07:35:53
【问题描述】:

我的问题是关于std::prelude

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

此时,所有版本的 Rust (2015-2024) 包括v1的前奏。

为了在未来版本的 Rust 中使用不同于v1, 并且在不影响 Rust 的当前(和以前)版本的情况下使用v1, 是计划做一个简单的版本控制系统,比如v1,v2, ...,v[x],还是有另一条前进的道路?

  • std::prelude::v1 指的是 Rust v1.0.0 的前奏曲,其他的前奏曲是分版的。

标签: rust


【解决方案1】:

在 Rust 1.0 发布之前,只有 std::prelude;根本没有版本控制。由于开发速度很快,并且语言高度不稳定,因此考虑保持以前的版本正常工作是没有意义的。 The Rust 0.12.0 prelude 看起来与我们今天所知道的大不相同。

一旦开始计划 1.0 版本,就必须考虑向后兼容性以及语言的某些部分将如何随着时间的推移而增长。众所周知,未来可能会改变前奏,因此添加了一个简单的版本控制方案。前奏被修剪并放入版本化模块中。这就是the Rust 1.0.0 prelude 被命名为std::prelude::v1 的方式。

Rust 2018 版的前奏没有改变,所以它保持为std::prelude::v1

在 Rust 2021 版本正在完成开发的过程中,前奏曲中要添加一些内容:最终添加 FromIteratorTryFromTryInto。这会是std::prelude::v2吗?不。自从v1 创建以来,已经为 Rust 开发了一个全新的版本控制方案(版本系统),是时候追溯更新前奏以反映正在使用的版本。所以在 2021 年中期:

随着我们向未来迈进,the Rust 1.62.0 prelude 已经添加了一个rust_2024 实验模块。在更接近 Rust 2024 版本发布之前,它可能不会稳定下来,但它已经表明前进的道路是明确的。

所以不,不会很快有std::prelude::v2;序曲将跟随版本。

【讨论】:

    猜你喜欢
    • 2016-12-13
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 2010-10-17
    • 2018-10-09
    • 1970-01-01
    相关资源
    最近更新 更多