我正在尝试在 rust 的 nightly-x86_64-unknown-linux-gnu 版本中编译以下代码。
#![cfg_attr(feature = "htm", feature(link_llvm_intrinsics))]
#![cfg_attr(feature = "nightly", feature(stdsimd))]
#![cfg_attr(feature = "nightly", feature(rtm_target_feature))]
#![warn(missing_docs)]
use core::arch::x86_64 as x86;
use x86::{
_xabort, _xbegin, _xend, _xtest, _XABORT_CONFLICT, _XABORT_EXPLICIT, _XABORT_RETRY,
_XBEGIN_STARTED,
};
fn main() {
let mut x:i64=0;
_xbegin();
x+=1;
_xabort(0);
}
但是它没有编译并给出以下错误。 错误[E0658]:使用不稳定的库功能“stdsimd”
我希望使用它来创建硬件事务
我使用以下命令编译它:-
rustup 默认每晚
货物运行
以下是给出的完整错误代码:-
feature = "nightly"
不会变为 true,而是在启用 nightly
Cargo 功能 时变为 true。要启用它,您需要在 Cargo.toml 中的 [features]
下声明它,并将 --features nightly
传递给 Cargo 命令(例如 cargo build
)(如果您是主 crate,或者如果您是图书馆,您的客户需要通过设置 features = ["nightly"]
来激活依赖项中的功能。
因此,由于删除了
#![feature]
,编译器会抱怨使用了实验性功能。
这是否是您想要做的事情取决于三件事:
#![feature]
。如果使用非夜间编译器运行,用户将收到错误。当然,请务必记录您的板条箱每晚需要的事实。rustversion
板条箱。