标准库经常使用稳定工具链上的夜间和实验特性。
例如,扩展#[derive(Debug)]
包含夜间/实验功能。
我想做一个扩展标准库功能的机箱,引入u1
、u2
、u3
等类型,这需要#[rustc_layout_scalar_valid_range_end(_)]
和#[rustc_layout_scalar_valid_range_start(_)]
,而#[rustc_layout_scalar_valid_range_start(_)]
需要#![feature(rustc_attrs)]
。
我如何模仿标准库的行为并允许在stable上使用夜间特性?
我知道关于同一主题How to enable nightly features on stable builds?的问题,其中指出RUSTC_BOOTSTRAP=1
是一种可能性,但它没有提供示例,我还没有能够弄清楚如何将其用于我的用例。
1条答案
按热度按时间bjg7j2ky1#
你不能。
如果你发布了一个使用不稳定特性的crate,那么crate的用户必须使用夜间版本来构建它。标准库是有特权的,你不能在你自己的crate中做同样的事情。