cargo 总是使用最新的 compiler_builtins 吗?
Does cargo always use the latest compiler_builtins?
我正在构建一些 ,我只需要 libcore 和 compiler_builtins。我也在构建我自己的 rustc,因为我在一个不受支持的目标架构上——我想我对最新的稳定 rustc 1.60.0 进行了更改,而不是每晚。
显然最新的 compiler_builtins 0.1.72
与 rustc 1.60.0
不兼容,因为它依赖于一些尚未稳定的东西,例如this feature.
我以为我会恢复到以前的 compiler_builtins
版本,但是 cargo 仍然坚持从 github 获取最新的 v0.1.72,现在它正在构建两个!
$ cat Cargo.toml
...
[dependencies]
[target.arc-pc-unknown-gnu.dependencies]
core = { version = "0.0.0", path = "/home/valeriyk/proj/rust-arc/1.60.0/library/core"}
#compiler_builtins = { git = "https://github.com/rust-lang/compiler-builtins"}
compiler_builtins = "0.1.70"
$ cat .cargo/config.toml
[unstable]
build-std = [
"core",
"compiler_builtins"
]
build-std-features = ["compiler-builtins-mem"]
[build]
target = "arc-pc-unknown-gnu"
$ cargo check
Compiling compiler_builtins v0.1.70
Compiling core v0.0.0 (/home/valeriyk/proj/rust-arc/1.60.0/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/src/rust/library/core)
Compiling compiler_builtins v0.1.72
Compiling rustc-std-workspace-core v1.99.0 (/home/valeriyk/proj/rust-arc/1.60.0/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Checking core v0.0.0 (/home/valeriyk/proj/rust-arc/1.60.0/library/core)
error[E0412]: cannot find type `c_char` in module `core::ffi`
--> /home/valeriyk/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.72/src/mem/mod.rs:74:58
有没有办法告诉 cargo 不要使用最新的内置函数并坚持使用 Cargo.toml 中明确提到的内容?
这comment表明今天不可能。
为了解决这个问题,我需要升级到最新的 nightly 和 re-aply 我的所有更改。
我正在构建一些
显然最新的 compiler_builtins 0.1.72
与 rustc 1.60.0
不兼容,因为它依赖于一些尚未稳定的东西,例如this feature.
我以为我会恢复到以前的 compiler_builtins
版本,但是 cargo 仍然坚持从 github 获取最新的 v0.1.72,现在它正在构建两个!
$ cat Cargo.toml
...
[dependencies]
[target.arc-pc-unknown-gnu.dependencies]
core = { version = "0.0.0", path = "/home/valeriyk/proj/rust-arc/1.60.0/library/core"}
#compiler_builtins = { git = "https://github.com/rust-lang/compiler-builtins"}
compiler_builtins = "0.1.70"
$ cat .cargo/config.toml
[unstable]
build-std = [
"core",
"compiler_builtins"
]
build-std-features = ["compiler-builtins-mem"]
[build]
target = "arc-pc-unknown-gnu"
$ cargo check
Compiling compiler_builtins v0.1.70
Compiling core v0.0.0 (/home/valeriyk/proj/rust-arc/1.60.0/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/src/rust/library/core)
Compiling compiler_builtins v0.1.72
Compiling rustc-std-workspace-core v1.99.0 (/home/valeriyk/proj/rust-arc/1.60.0/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Checking core v0.0.0 (/home/valeriyk/proj/rust-arc/1.60.0/library/core)
error[E0412]: cannot find type `c_char` in module `core::ffi`
--> /home/valeriyk/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.72/src/mem/mod.rs:74:58
有没有办法告诉 cargo 不要使用最新的内置函数并坚持使用 Cargo.toml 中明确提到的内容?
这comment表明今天不可能。
为了解决这个问题,我需要升级到最新的 nightly 和 re-aply 我的所有更改。