有没有办法使用 Rust stable 中的不稳定模块?

2023-11-23

如果你不能使用稳定的编译器来使用不稳定的模块,那么 Rust 如何编译它的模块呢?std?例如,std::Vec uses alloc::raw_vec,一个不稳定的特征。


不,你不能在稳定的 Rust 上使用不稳定的功能。这就是不稳定功能的全部要点:

在稳定版上允许不稳定的功能存在三个问题 发布。

首先,正如网络上多次表明的那样,仅仅是广告 不稳定是行不通的。一旦功能被广泛使用,它就非常有用 很难改变它们——一旦功能可用,就很难改变它们 很难阻止它们被使用。像“供应商 网络上的“前缀”,旨在支持实验 相反导致了事实上的标准化。

其次,根据定义,不稳定的功能正在开发中。但是 beta/stable 快照会在预定的时间点冻结​​该功能, 而库作者希望使用最新版本的 特征。

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


Rust 是如何编译它的std?

无法保证 Rust 是由稳定的编译器,或者它是由提供下载的同一稳定编译器构建的。如果有一个特殊的编译器用于引导程序官方编译器。看关于信任信任的思考了解这可能是邪恶的方式。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法使用 Rust stable 中的不稳定模块? 的相关文章

随机推荐

  • 接口还是抽象类:使用哪一个?

    请解释一下我什么时候应该使用 PHPinterface当我应该使用abstract class 我怎样才能改变我的abstract class到一个interface 当您想要强制在您的系统中工作的开发人员 包括您自己 在他们将要构建的类上
  • EF代码优先:一对多两次到相同的集合类型

    简化 在我的数据库中 我有一种产品在不同日期以不同价格出售 换句话说 它有一个价格历史 我有两节课 Product and Price具有一对多关系 public class Product public int ProductId get
  • 无法使用 ASP.NET CORE 2.2 生成用于本地化的响应 cookie

    我不会对大家撒谎 我对这个问题已经束手无策了 我花了大约 4 个小时的时间尝试书中的每一个解决方案来解决一个我知道对于试图将本地化引入其 Web 应用程序的程序员来说非常常见的问题 每当我尝试将网页的文化从英语 en US 更改为韩语 ko
  • 检测用户是否使用了后退按钮

    我的网页在加载页面时运行 JavaScript 函数 但是 如果用户使用后退按钮返回此页面 我不希望该函数运行 我怎样才能使用javascript来防止这种情况发生 document ready function Do not run th
  • 将 Dask 标量转换为整数值(或将其保存到文本文件)

    我已经计算过使用dask by from dask import dataframe all data dataframe read csv path total sum all data account balance sum csv 文
  • 使用 Selenium 捕获 404 错误 [重复]

    这个问题在这里已经有答案了 我正在将 Selenium 和 JUnit 与 Java 结合使用 我想知道通过单击链接打开新弹出窗口时是否会发生 404 错误 我正在搜索像 assertTrue selenium no404error 这样的
  • 如何在集合视图单元格中添加 uibutton 操作?

    所以我有这个集合视图 其中的单元格包含位于右上角的编辑按钮 我如何将一个动作连接到其中 我尝试添加cell editbutton addTarget in collectionView collectionView UICollection
  • Jquery mobile,删除上一页

    我正在使用带有phonegap 的jquery mobile 我的应用程序有两个页面 登录页面和列表页面 登录成功后 用户将进入列表页面 之后 当他们按下手机 android 上的后退按钮时 他们将返回到登录页面 我不想要这样的行为 我想要
  • 如何将 Jenkins 从一台 PC 移动到另一台 PC

    我目前在我的开发 PC 上使用 Jenkins 我把它安装在我的开发电脑上 因为我对这个工具的了解有限 所以我在我的开发电脑上对其进行了测试 现在 我对 Jenkins 作为我在构建过程中的长期 合作伙伴 感到满意 并希望将此 Jenkin
  • 从 JavaScript 数组创建 HTML 表格

    我想获取页面上 HTML 元素的所有类 将其拆分并存储在数组中 之后 我想将其写入 div 中的表中 其中包含我已经拥有的 id table 到目前为止我有这个代码 var string html attr class var array
  • Repeater 内的 DropDownList:如何处理 SelectedIndexChange 并获取 DataItem?

    我将带有 AutoPostBack 的 DropDownList 放入中继器中 列表项填充在中继器 ItemDataBound 上
  • 如何在 swift 中修改 shell 环境变量?

    使用时如何访问 shell 环境变量之一Process 如果我使用environment要设置它们 它将更改所有环境变量 let task Process How do I modify PATH only instead of setti
  • 如何使用 phantomjs 从网站下载图像

    我想保存网站上的一些图像 目前我可以获得图像的路径 但我不知道如何使用 phantomJs 获取和保存图像 findRotationTeaserImages gt paths page evaluate gt jQuery rotate i
  • *在*iPhone 上将 .png 转换为 PVRTC

    是否有标准机制或已知库可以将 png 图像转换为 iPhone 本身上的压缩 PVRTC 纹理 不是在开发过程中使用 OS X 上的标准工具 我的应用程序中有许多 png 纹理 但交换是一个问题 如果应用程序启动时 或者首次加载应用程序时
  • 如何从 fluid-bit 日志记录中排除命名空间

    有没有办法排除某些名称空间fluent bit 我想排除某些命名空间 以便fluent bit不会将这些命名空间中创建的所有日志转发到 ELK 除了向该命名空间中的每个 pod 添加注释之外 还有其他方法可以做到这一点吗 我知道您可以通过
  • Bash One Liner:将 template_*.txt 复制到 foo_*.txt?

    假设我有三个文件 template txt 模板 x txt 模板 y txt 模板 z txt 我想将它们复制到三个新文件 foo txt foo x txt foo y txt foo z txt 有没有一些简单的方法可以用一个命令来做
  • 我希望创建一个系统,我给出一个句子,系统会输出与我给出的输入句子含义相似的句子

    这是一个 NLP 问题 我想知道我应该如何进行 问题有多难 我可以用同义词替换该单词并检查语法是否正确吗 用同义词替换单词可能是首先要尝试的事情 但要小心不要错过多个单词的表达方式和习语 另外 请确保您选择具有相同词性的同义词 他们寻找一个
  • 为什么 TargetNullValue 会更新可为 null 的 Source

    TargetNullValue应该更新绑定Target当绑定时Source评估为null 获取或设置当源值为空时目标中使用的值 除此之外 它似乎还设置了Source to null 如果可能的话 当值Target等于给定TargetNull
  • 插入新行时触发谷歌电子表格上的脚本

    我正在 google 电子表格上运行一个脚本 该脚本应该由来自 Zapier www zapier com 的 zap 的 onChange 事件 当在电子表格中插入新行时 触发 我可以看到电子表格中创建的新信息 但触发器未触发 我已经使用
  • 有没有办法使用 Rust stable 中的不稳定模块?

    如果你不能使用稳定的编译器来使用不稳定的模块 那么 Rust 如何编译它的模块呢 std 例如 std Vec uses alloc raw vec 一个不稳定的特征 不 你不能在稳定的 Rust 上使用不稳定的功能 这就是不稳定功能的全部