macOS
brew install cargo-expandlocal Homebrew formula metadata
安装
brew install cargo-expandlocal Homebrew formula metadata
sudo apk add cargo-expandAlpine Linux edge package indexes · cargo-expand · 来源: dl-cdn.alpinelinux.org
nix profile install nixpkgs#cargo-expandnixpkgs package indexes · pkgs/by-name/ca/cargo-expand/package.nix · 来源: api.github.com
sudo pacman -S cargo-expandArch Linux sync databases · cargo-expand · 来源: geo.mirror.pkgbuild.com
概览
Show what Rust code looks like with macros expanded
历史
cargo-expand is the standard Rust developer tool for seeing macro-expanded code from a Cargo project. It wraps compiler expansion output in an ergonomic Cargo subcommand and formats the result for human inspection.
The GitHub repository and crates.io crate were both created in June 2016. The README describes cargo-expand as a wrapper around `cargo rustc --profile=check -- -Zunpretty=expanded`, printing the result of macro expansion and derive expansion for the current crate.
The project was created by David Tolnay, whose broader Rust tooling ecosystem includes heavily used macro and parsing crates. cargo-expand became especially useful as Rust derive macros, procedural macros, and macro-heavy libraries became common in everyday Rust code.
The README includes an explicit disclaimer that macro expansion to text is lossy and intended as a debugging aid, not a promise that the printed code can be compiled or behaves exactly like the original.
cargo-expand is widely adopted: it is packaged by Homebrew, Nix, Arch Linux, and Alpine in the supplied facts, and crates.io records millions of downloads. Its GitHub repository also has thousands of stars, strong evidence that it is a mainstream Rust diagnostic tool.
Its adoption tracks the rise of procedural macros and derive-heavy frameworks in Rust. When generated code is hard to reason about, `cargo expand` became the common first tool for understanding what the compiler is seeing.
Users run `cargo expand` in a Cargo project to print expanded code. Common variants include expanding a test target, selecting a module or item path, disabling rustfmt with `--ugly`, or using configuration under the `[expand]` section of `$CARGO_HOME/config.toml`.
cargo-expand optionally formats output with rustfmt and can use themes or paging configured in Cargo's user config file, making compiler-oriented output easier to read in terminals.
cargo-expand matters because macro expansion is one of Rust packaging's hidden dependency surfaces: derives and procedural macros can add trait impls, bounds, helper items, and code paths that are invisible in source form. Seeing that generated code helps maintainers debug builds, features, and public API behavior.
It is also a classic Cargo-subcommand success story: a thin, focused wrapper around a compiler capability became the community default because it matched how Rust developers actually inspect package code.
安全态势
没有找到 cargo-expand 的匹配本地密钥处理 manifest。Nucleus 软件包元数据仍在此发布,以便未来覆盖拥有稳定的软件包 URL。
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
$CARGO_HOME/config.toml~/.cargo/config.toml可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
cargo-expand | cli | 全局可执行文件 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
https://github.com/dtolnay/cargo-expand
安装元数据
| 软件包键 | brew:cargo-expand |
|---|---|
| 版本 | 1.0.123 |
| 软件包管理器 | Homebrew |
| 软件包管理器页面 | https://formulae.brew.sh/formula/cargo-expand |
| 主页 | https://github.com/dtolnay/cargo-expand |
| 仓库 | https://github.com/dtolnay/cargo-expand |
| 上游文档 | https://github.com/dtolnay/cargo-expand#readme |
| 许可证 | Apache-2.0 OR MIT |
| 源码归档 | https://github.com/dtolnay/cargo-expand/archive/refs/tags/1.0.123.tar.gz |
| 最后更新 | 2026-06-16T20:12:02Z |
| Pulse | updated |
| 构建依赖 | rust |
| Bottle | 可用 (于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | 未定义 |
| 服务 | 未声明 |
注册表事实
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | cargo-expand |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
源数据库匹配
匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。
cargo-expand
nix profile install nixpkgs#cargo-expandcargo-expand 1.0.122-r0
Cargo subcommand to show result of macro expansion
https://github.com/dtolnay/cargo-expand
sudo apk add cargo-expandcargo-expand-doc 1.0.122-r0
Cargo subcommand to show result of macro expansion (documentation)
https://github.com/dtolnay/cargo-expand
sudo apk add cargo-expand-doccargo-expand 1.0.122-1
Subcommand to show result of macro expansion
https://github.com/dtolnay/cargo-expand
sudo pacman -S cargo-expand来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.