有没有一种方法可以使用Rust-stable中的不稳定模块



如果不能将不稳定的模块与稳定的编译器一起使用,Rust如何编译其std?例如,std::Vec使用alloc::raw_vec,这是一个不稳定的特性。

不,您不能在稳定的Rust上使用不稳定的特性这就是不稳定特征的全部意义

在稳定释放

首先,正如网络多次显示的那样,仅仅是广告不稳定是行不通的。一旦功能得到广泛使用很难更改它们&一旦功能可用很难阻止它们被使用。类似"供应商"的机制网络上的"前缀",旨在支持实验反而导致了事实上的标准化。

其次,根据定义,不稳定的特征正在进行中。但是β/稳定快照在预定的时间点冻结特征,而库作者则希望使用最新版本的特色

最后,除非我们强制执行,否则我们根本无法为Rust提供稳定性我们的承诺是,如果您使用Rust的稳定版本,您永远不会害怕升级到下一个版本。如果图书馆可以选择不稳定,那么我们只有在所有人图书馆的作者通过支持这三者来保证同样的事情同时释放通道。


Rust如何编译其std

不能保证Rust是由稳定编译器构建的,也不能保证它是由提供下载的同一稳定编译器构建的。如果有一个特殊的编译器来引导官方编译器,那将是非常直接的。请参阅关于信任的思考了解如何进行这种邪恶的行为。

事实上,Rust以前使用过一个特殊的自举编译器,但现在没有了。相反,有一个神奇的配置值,它允许不稳定的特性与稳定的编译器一起使用。这样做是为了让Linux发行版可以选择使用自己的工具链构建自己版本的Rust。

出于尊重,我觉得公开分享具体细节是不合适的。找到答案的努力应该足以劝阻大多数人在没有充分理由的情况下使用它。如果有一个单行答案,任何人都可以在不考虑后果的情况下使用搜索引擎轻松找到,这似乎并不理想。如果有人足够关心,他们可以研究Rust源代码并构建系统,这当然是开放的。

如果需要使用不稳定的功能,请使用Rust的夜间版本。这是最诚实的方法。

最新更新