惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
P
Palo Alto Networks Blog
腾讯CDC
I
Intezer
A
Arctic Wolf
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
Simon Willison's Weblog
Simon Willison's Weblog
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
Cloudbric
Cloudbric
Apple Machine Learning Research
Apple Machine Learning Research
Last Week in AI
Last Week in AI
博客园 - 司徒正美
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cyberwarzone
Cyberwarzone
T
Threat Research - Cisco Blogs
T
Troy Hunt's Blog
美团技术团队
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
小众软件
小众软件
T
The Exploit Database - CXSecurity.com
Latest news
Latest news
N
News and Events Feed by Topic
S
Schneier on Security
量子位
罗磊的独立博客
V2EX - 技术
V2EX - 技术
雷峰网
雷峰网
Security Latest
Security Latest
L
LINUX DO - 热门话题
J
Java Code Geeks
博客园 - 【当耐特】
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
L
Lohrmann on Cybersecurity

Rust Blog

Security Advisory for Cargo (CVE-2026-5223) | Rust Blog Security Advisory for Cargo (CVE-2026-5222) | Rust Blog Project goals update — April 2026 (end of 2025H2) | Rust Blog Rust is participating in Outreachy | Rust Blog Raising the baseline for the `nvptx64-nvidia-cuda` target | Rust Blog Announcing Google Summer of Code 2026 selected projects | Rust Blog Announcing Rust 1.95.0 | Rust Blog docs.rs: building fewer targets by default | Rust Blog Changes to WebAssembly targets and handling undefined symbols | Rust Blog Announcing Rust 1.94.1 | Rust Blog Security advisory for Cargo | Rust Blog What we heard about Rust's challenges | Rust Blog Call for Testing: Build Dir Layout v2 | Rust Blog Announcing rustup 1.29.0 | Rust Blog Announcing Rust 1.94.0 | Rust Blog 2025 State of Rust Survey Results | Rust Blog Rust debugging survey 2026 | Rust Blog Update on the October 15, 2018 incident on crates.io Announcing Rust 1.29.2 Announcing Rust 1.29 Announcing Rust 1.28 What is Rust 2018? Announcing Rust 1.27.2 Announcing Rust 1.27.1 Security Advisory for rustdoc Announcing Rust 1.27 Announcing Rust 1.26.2 Announcing Rust 1.26.1 Rust turns three Announcing Rust 1.26 The Rust Team All Hands in Berlin: a Recap Increasing Rust’s Reach 2018 Announcing Rust 1.25 Rust's 2018 roadmap Announcing Rust 1.24.1 Announcing Rust 1.24 The 2018 Rust Event Lineup Announcing Rust 1.23 New Year's Rust: A Call for Community Blogposts Rust in 2017: what we achieved Announcing Rust 1.22 (and 1.22.1) Fearless Concurrency in Firefox Quantum Announcing Rust 1.21 impl Future for Rust Rust 2017 Survey Results Announcing Rust 1.20 Announcing Rust 1.19 The 2017 Rust Conference Lineup Rust's 2017 roadmap, six months in Increasing Rust’s Reach Announcing Rust 1.18 Two years of Rust The Rust Libz Blitz Launching the 2017 State of Rust Survey Announcing Rust 1.17 Announcing Rust 1.16 Rust's language ergonomics initiative Announcing Rust 1.15.1 Rust's 2017 roadmap Announcing Rust 1.15 Announcing Rust 1.14 Announcing the First Underhanded Rust Contest Announcing Rust 1.13 Announcing Rust 1.12.1 Announcing Rust 1.12 Incremental Compilation Announcing Rust 1.11 Shape of errors to come The 2016 Rust Conference Lineup Announcing Rust 1.10 State of Rust Survey 2016 Announcing Rust 1.9 One year of Rust Taking Rust everywhere with rustup Launching the 2016 State of Rust Survey Cargo: predictable dependency management Introducing MIR Announcing Rust 1.8 Announcing Rust 1.7 Announcing Rust 1.6 Announcing Rust 1.5 Announcing Rust 1.4 Announcing Rust 1.3 Rust in 2016 Announcing Rust 1.2 Rust 1.1 stable, the Community Subteam, and RustCamp Announcing Rust 1.0 Abstraction without overhead: traits in Rust Rust Once, Run Everywhere Mixing matching, mutation, and moves in Rust Fearless Concurrency with Rust Announcing Rust 1.0 Beta Announcing Rust 1.0.0.alpha.2 Rust 1.0: status report and final timeline Announcing Rust 1.0 Alpha Rust 1.0: Scheduling the trains Yehuda Katz and Steve Klabnik are joining the Rust Core Team Cargo: Rust's community crate host Stability as a Deliverable Road to Rust 1.0
Cargo changes how arrays in config are merged | Inside Rust Blog
Arlo Siemsen on behalf of the Cargo team · 2023-08-24 · via Rust Blog

Cargo will be changing the order of merged configuration arrays, and we are looking for people to help test this change and provide feedback.

When an array in Cargo's configuration is defined in multiple places, the elements are merged together. The order that the elements were merged was inconsistent with how other configuration types were merged together, and was not working as expected.

The new merging order will match the precedence order of non-array configuration, with higher-precedence configuration being placed later in the array.

In the case of build.rustflags, this resolves the confusing situation where higher precedence flags (in a project's config.toml) are overridden with lower precedence flags (in the global $CARGO_HOME, for example).

This may result in behavior changes if a project depends on the existing merging order. If you have an environment that involves merging configuration arrays, please consider testing your project with nightly to ensure it will continue to work once this change stabilizes. If you encounter a problem, please file an issue.

The change is included in Cargo starting with nightly-2023-08-24 toolchain.

Merging Order

The previous merging order was unspecified, but in practice it was the following, with earlier entries appearing first in the array:

  • config.toml in the current directory
  • config.toml in a parent directory
  • config.toml in $CARGO_HOME
  • command-line (--config)
  • environment variable (CARGO_*)

The new merging order is:

  • config.toml in $CARGO_HOME
  • config.toml in a parent directory
  • config.toml in the current directory
  • environment variable (CARGO_*)
  • command-line (--config)

The implementation is in cargo#12515.

Impacted configuration settings

The following configuration settings have arrays of strings that will be impacted by this change:

Example

The following example shows how this change may impact you and why we are making this change.

With the following in your Cargo home directory (usually ~/.cargo/config.toml):

[build]
rustflags = ["-C", "target-cpu=x86-64-v2"]

and then inside a project directory there is a .cargo/config.toml configuration file with:

[build]
rustflags = ["-C", "target-cpu=x86-64-v3"]

when you run cargo build within that project, cargo would previously merge these so that it passes -C target-cpu=x86-64-v3 -C target-cpu=x86-64-v2 to rustc. Because rustc ignores options earlier on the command-line and only honors the last one, the result would end up using x86-64-v2. This would effectively cause the merged config settings in the current directory to be ignored.

This was not the intended behavior, since config merging should always start with the lowest precedence (things in the Cargo home directory) and have more-specific config locations override those.