货物构建失败:无法在此范围内找到宏' llvm_asm '



我正在尝试构建rust-fractal-gui,但构建总是失败与这些错误:

$ cargo build --release
...
Compiling parking_lot v0.11.2
error: cannot find macro `llvm_asm` in this scope
--> /home/riley/.cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.2/src/elision.rs:77:13
|
77 |             llvm_asm!("xacquire; lock; cmpxchgq $2, $1"
|             ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /home/riley/.cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.2/src/elision.rs:108:13
|
108 |             llvm_asm!("xrelease; lock; xaddq $2, $1"
|             ^^^^^^^^
error[E0635]: unknown feature `llvm_asm`
--> /home/riley/.cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.2/src/lib.rs:14:42
|
14 | #![cfg_attr(feature = "nightly", feature(llvm_asm))]
|                                          ^^^^^^^^
For more information about this error, try `rustc --explain E0635`.
error: could not compile `parking_lot` due to 3 previous errors
warning: build failed, waiting for other jobs to finish...

rustup show输出:

rustup home:  /home/riley/.rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu
1.48.0-x86_64-unknown-linux-gnu
active toolchain
----------------
nightly-x86_64-unknown-linux-gnu (directory override for '/home/riley/projects/rust-fractal-gui')
rustc 1.64.0-nightly (c2f428d2f 2022-07-14)

我已经用rustup update nightly更新了我的夜间工具链到最新版本,然后rustup override set nightly看到这个问题,但它没有解决这个问题。

rustc-nightly-2022-01-17以来,宏llvm_asm!被删除,以支持新的asm!宏。rust-fractal-gui使用的是parking_lot的过时版本,该版本仍然使用llvm_asm!宏,导致此错误。已经合并了一个PR来修复这个问题。