cargo-all-features
brew install cargo-all-features
v1.12.0
Apache-2.0 OR MIT
Cargo subcommands to build and test all feature flag combinations
19
30-day installs · #6914
58
90-day · #6888
317
365-day · #6185
186
★ GitHub stars · updated 8mo ago
Build dependencies
GitHub topics
cargo
feature-flags
rust
testing
Links
- https://github.com/frewsxcv/cargo-all-features
- GitHub: frewsxcv/cargo-all-features
- Brew formula source: Formula/c/cargo-all-features.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"rust"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Cargo subcommands to build and test all feature flag combinations",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:36:07+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "cargo-all-features",
"github_default_branch": "master",
"github_last_commit_at": "2025-11-27T03:49:24Z",
"github_readme_excerpt": "# cargo-all-features\n\nCargo subcommands that build and test all feature flag combinations for a crate.\n\n\u003cimg src=https://i.imgur.com/OVBRtEC.png width=500\u003e\n\n## Install\n\n```\ncargo install cargo-all-features\n```\n\n## Usage\n\nRun cargo subcommands on a Cargo package or at the root of a Cargo workspace with all feature flag combinations:\n\n```\ncargo all-features \u003cSUBCOMMAND\u003e \u003cCARGO SUBCOMMAND FLAGS\u003e\n```\n\n### Example\n\nBuild crate with all feature flag combinations:\n\n```\ncargo all-features build \u003cCARGO BUILD FLAGS\u003e\n```\n\nCheck crate with all feature flag combinations:\n\n```\ncargo all-features check \u003cCARGO CHECK FLAGS\u003e\n```\n\nTest crate with all feature flag combinations:\n\n```\ncargo all-features test \u003cCARGO TEST FLAGS\u003e\n```\n\n## Why?\n\nIf you have a crate that utilizes Rust feature flags, it\u2019s common to set up a test matrix in your continuous integration tooling to _individually_ test all feature flags. This setup can be difficult to maintain and easy to forget to update as feature flags come and go. It\u2019s also not exhaustive, as it\u2019s possible enabling _combinations_ of feature flags could result in a compilation error that should be fixed. This utility was built to address these concerns.\n\n## Options\n\nYou can add the following options to your Cargo.toml file to configure the behavior of cargo-all-features under the heading `[package.metadata.cargo-all-features]`:\n\n```toml\n[package.metadata.cargo-all-features]\n\n# Features \"foo\" and \"bar\" are incompatible, so skip permutations including them\nskip_feature_sets = [\n [\"foo\", \"bar\"],\n]\n\n# If your crate has a large number of optional dependencies, skip them for speed\nskip_optional_dependencies = true\n\n# Add back certain optional dependencies that you want to include in the permutations\nextra_features = [\n \"log\",\n]\n\n# Exclude certain features from the build matrix\ndenylist = [\"foo\", \"bar\"]\n\n# Always include these features in combinations.\n# These features should not be included in `skip_feature_sets` or `denylist`, they get\n# added in",
"github_repo": "frewsxcv/cargo-all-features",
"github_stars": 186,
"github_topics": [
"cargo",
"feature-flags",
"rust",
"testing"
],
"homepage": "https://github.com/frewsxcv/cargo-all-features",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 19,
"installs_365d": 317,
"installs_90d": 58,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0 OR MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "cargo-all-features",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 6914,
"rank_365d": 6185,
"rank_90d": 6888,
"raw_hash": "0aa7922458d72335",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/c/cargo-all-features.rb",
"tap": "homebrew/core",
"test_dependencies": [
"rustup"
],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.12.0",
"versioned_formulae": [],
"why_use_this": null
}