{"id":35043691,"url":"https://github.com/hack-ink/cargo-featalign","last_synced_at":"2026-04-06T05:31:10.660Z","repository":{"id":184144704,"uuid":"670058643","full_name":"hack-ink/cargo-featalign","owner":"hack-ink","description":"Cargo features alignment tool.","archived":false,"fork":false,"pushed_at":"2025-11-17T13:44:06.000Z","size":291,"stargazers_count":11,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-28T22:41:51.937Z","etag":null,"topics":["cargo","cli","features","lint","workspace"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/cargo-featalign","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hack-ink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-07-24T07:50:29.000Z","updated_at":"2025-11-17T13:43:14.000Z","dependencies_parsed_at":"2024-01-02T09:24:31.231Z","dependency_job_id":"db75cfbc-6577-409c-a613-a0d1d436d9b3","html_url":"https://github.com/hack-ink/cargo-featalign","commit_stats":null,"previous_names":["hack-ink/cargo-featalign"],"tags_count":6,"template":false,"template_full_name":"hack-ink/rust-initializer","purl":"pkg:github/hack-ink/cargo-featalign","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fcargo-featalign","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fcargo-featalign/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fcargo-featalign/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fcargo-featalign/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hack-ink","download_url":"https://codeload.github.com/hack-ink/cargo-featalign/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fcargo-featalign/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31461527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cargo","cli","features","lint","workspace"],"created_at":"2025-12-27T08:39:26.155Z","updated_at":"2026-04-06T05:31:10.653Z","avatar_url":"https://github.com/hack-ink.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n\n# Cargo Featalign\n\n### Cargo features alignment tool.\n\n[![License](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![Checks](https://github.com/hack-ink/cargo-featalign/actions/workflows/rust.yml/badge.svg?branch=main)](https://github.com/hack-ink/cargo-featalign/actions/workflows/rust.yml)\n[![Release](https://github.com/hack-ink/cargo-featalign/actions/workflows/release.yml/badge.svg)](https://github.com/hack-ink/cargo-featalign/actions/workflows/release.yml)\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/hack-ink/cargo-featalign)](https://github.com/hack-ink/cargo-featalign/tags)\n[![GitHub code lines](https://tokei.rs/b1/github/hack-ink/cargo-featalign)](https://github.com/hack-ink/cargo-featalign)\n[![GitHub last commit](https://img.shields.io/github/last-commit/hack-ink/cargo-featalign?color=red\u0026style=plastic)](https://github.com/hack-ink/cargo-featalign)\n\n\u003c/div\u003e\n\n### Introduction\n\nThe original version of this project can be found at [`subalfred check features`](https://github.com/hack-ink/subalfred).\nUpon further investigation, I have found that this tool is not only compatible with _Substrate_ projects but also works for general _Cargo_ projects, offering even more powerful features than before.\nNow, `cargo-featalign` stands out with its enhanced functionality.\n\nThe `cargo-featalign` tool offers the following features:\n\n- Checking for missing features\n- Printing the dependency path\n- Performing a dry run before overwriting\n- Automatically aligning/fixing missing features\n- Sorting alphabetically while aligning\n\n### Installation\n\n- From GitHub: [`github.com/hack-ink/cargo-featalign/releases/latest`](https://github.com/hack-ink/**cargo-featalign/releases/latest)\n- From cargo-binstall: `cargo binstall cargo-featalign`\n- From Cargo: `cargo install cargo-featalign`\n\n### Usage\n\n```sh\ncargo featalign --help\n```\n\n```\nCargo features alignment tool.\n\nUsage: cargo-featalign [OPTIONS] --features \u003c[NAME]\u003e [PATH]\n\nArguments:\n  [PATH]\n          Root `Cargo.toml`'s path.\n\n          If `Cargo.toml` is not provided, it will be searched for under the specified path.\n\n          [default: ./Cargo.toml]\n\nOptions:\n      --features \u003c[NAME]\u003e\n          Features to process\n\n      --thread \u003cNUM\u003e\n          Number of threads to use.\n\n          The default value is based on the number of logical cores.\n\n          [default: 32]\n\n      --mode \u003cMODE\u003e\n          Running mode.\n\n          Check: Prints the analysis result.\n          DryRun: Prints the resolved result without modifying the `Cargo.toml` file.\n          DryRun2: creates a `*.cargo-featalign.swap` file.\n          Overwrite: Overwrites the original `Cargo.toml` file.\n\n          [default: overwrite]\n          [possible values: check, dry-run, dry-run2, overwrite]\n\n      --indent-symbol \u003cINDENT_SYMBOL\u003e\n          Use the given symbol for indentation\n\n          [default: tab]\n          [possible values: tab, whitespace]\n\n      --indent-size \u003cSIZE\u003e\n          The number of spaces used for indentation\n\n          [default: 4]\n\n      --workspace-only\n          Determines whether to process only workspace members\n\n      --default-std\n          Determines whether to check default features.\n\n          This option is useful when working in a no-std environment. This feature checks if you have set `default-features = false` while also having a `std = [\"x/std\"]` part to control it separately.\n\n      --depth \u003cNUM\u003e\n          Depth of the dependency tree to process.\n\n          Use `-1` to process the entire tree.\n\n          !! Running with this flag under a large project, even with 128 threads configured, is incredibly challenging.\n\n          [default: 0]\n\n      --sort\n          Wether to sort the required features while aligning\n\n      --verbose\n          Verbose output\n\n  -h, --help\n          Print help (see a summary with '-h')\n\n  -V, --version\n          Print version\n```\n\n### Example\n\n#### Preparation\n\n```sh\ncargo install cargo-featalign\ngit clone https://github.com/hack-ink/cargo-featalign.git\ncd cargo-featalign\n```\n\n#### Only check the features of top-level workspace members\n\n```sh\ncargo featalign mock --features std,runtime-benchmarks,try-runtime --workspace-only --default-std --depth -1 --mode check | jq\n```\n\n```json\n{\n\t\"mock-runtime 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock)\": [\n\t\t{\n\t\t\t\"id\": \"general-c 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/general/c)\",\n\t\t\t\"alias\": \"\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": \"default-features-enabled\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-a 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/a)\",\n\t\t\t\"alias\": \"pallet-a\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-b 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/b)\",\n\t\t\t\"alias\": \"pallet-b\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"runtime-benchmarks\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-c 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/c)\",\n\t\t\t\"alias\": \"pallet-c\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"try-runtime\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-d 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/d)\",\n\t\t\t\"alias\": \"pallet-d\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"runtime-benchmarks\", \"std\", \"try-runtime\"]\n\t\t\t}\n\t\t}\n\t]\n}\n```\n\n#### Check the features of workspace members recursively\n\n```sh\ncargo featalign mock --features std,runtime-benchmarks,try-runtime --workspace-only --default-std --depth -1 --mode check | jq\n```\n\n```json\n{\n\t\"nested-a 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/a)\": [\n\t\t{\n\t\t\t\"id\": \"nested-d 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/d)\",\n\t\t\t\"alias\": \"\",\n\t\t\t\"dependency-path\": \"/mock-runtime/primitive-a/nested-a\",\n\t\t\t\"problem\": \"default-features-enabled\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"nested-b 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/b)\",\n\t\t\t\"alias\": \"nested-b\",\n\t\t\t\"dependency-path\": \"/mock-runtime/primitive-a/nested-a\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"nested-b 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/b)\": [\n\t\t{\n\t\t\t\"id\": \"nested-c 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/c)\",\n\t\t\t\"alias\": \"nested-c\",\n\t\t\t\"dependency-path\": \"/mock-runtime/primitive-a/nested-a/nested-b\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"mock-runtime 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock)\": [\n\t\t{\n\t\t\t\"id\": \"general-c 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/general/c)\",\n\t\t\t\"alias\": \"\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": \"default-features-enabled\"\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-a 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/a)\",\n\t\t\t\"alias\": \"pallet-a\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-b 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/b)\",\n\t\t\t\"alias\": \"pallet-b\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"runtime-benchmarks\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-c 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/c)\",\n\t\t\t\"alias\": \"pallet-c\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"try-runtime\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"pallet-d 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/pallet/d)\",\n\t\t\t\"alias\": \"pallet-d\",\n\t\t\t\"dependency-path\": \"/mock-runtime\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"runtime-benchmarks\", \"std\", \"try-runtime\"]\n\t\t\t}\n\t\t}\n\t]\n}\n```\n\n#### Check the features of all dependencies recursively\n\n**!! Running this under a large project, even with 128 threads configured, is incredibly challenging.**\n\n```sh\ncargo featalign . --features std --depth -1 --mode check | jq\n```\n\n```json\n{\n\t\"semver 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"serde 1.0.176 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"serde\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/cargo_metadata/semver\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"tracing-core 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"valuable 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"valuable\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/color-eyre/color-spantrace/tracing-core\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"valuable 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"valuable\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/color-eyre/tracing-error/tracing/tracing-core\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"valuable 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"valuable\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/color-eyre/tracing-error/tracing-subscriber/tracing-core\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"valuable 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"valuable\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/color-eyre/color-spantrace/tracing-error/tracing/tracing-core\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"valuable 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"valuable\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/color-eyre/color-spantrace/tracing-error/tracing-subscriber/tracing-core\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"backtrace 0.3.68 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"libc 0.2.147 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"libc\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/color-eyre/backtrace\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"rustix 0.38.4 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"libc 0.2.147 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"libc\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/clap/clap_builder/anstream/is-terminal/rustix\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"errno 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"libc 0.2.147 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"libc\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/clap/clap_builder/anstream/is-terminal/rustix/errno\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"time 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"libc 0.2.147 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"libc\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/vergen/time\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"id\": \"serde 1.0.176 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"serde\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/vergen/time\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"ahash 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"once_cell 1.18.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"once_cell\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/imara-diff/ahash\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"getrandom 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"libc 0.2.147 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"libc\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/imara-diff/ahash/getrandom\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t],\n\t\"clap 4.3.19 (registry+https://github.com/rust-lang/crates.io-index)\": [\n\t\t{\n\t\t\t\"id\": \"once_cell 1.18.0 (registry+https://github.com/rust-lang/crates.io-index)\",\n\t\t\t\"alias\": \"once_cell\",\n\t\t\t\"dependency-path\": \"/cargo-featalign/clap\",\n\t\t\t\"problem\": {\n\t\t\t\t\"missing-features\": [\"std\"]\n\t\t\t}\n\t\t}\n\t]\n}\n```\n\n#### Dry run of aligning features for workspace members\n\n```sh\ncargo featalign mock --features std,runtime-benchmarks,try-runtime --workspace-only --default-std --depth -1 --mode dry-run\n```\n\n```diff\nnested-a 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/a)\n@@ -17,4 +17,5 @@\n default = [\"std\"]\n std = [\n    \"nested-d/std\",\n+   \"nested-b/std\",\n ]\n\nnested-b 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/b)\n@@ -14,4 +14,6 @@\n\n [features]\n default = [\"std\"]\n-std     = []\n+std     = [\n+   \"nested-c/std\",\n+]\n\nmock-runtime 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock)\n@@ -45,18 +45,24 @@\n    \"pallet-c/std\",\n    # \"pallet-d/std\",\n    \"primitive-a/std\",\n+   \"pallet-a/std\",\n+   \"pallet-d/std\",\n ]\n\n runtime-benchmarks = [\n    \"pallet-a/runtime-benchmarks\",\n    # \"pallet-b/runtime-benchmarks\",\n    \"pallet-c/runtime-benchmarks\",\n+   \"pallet-b/runtime-benchmarks\",\n+   \"pallet-d/runtime-benchmarks\",\n    # \"pallet-d/runtime-benchmarks\",\n ]\n\n try-runtime = [\n    \"pallet-a/try-runtime\",\n    \"pallet-b/try-runtime\",\n+   \"pallet-c/try-runtime\",\n+   \"pallet-d/try-runtime\",\n    # \"pallet-c/try-runtime\",\n    # \"pallet-d/try-runtime\",\n ]\n```\n\n#### Dry run V2 of aligning features for workspace members\n\n```sh\ncargo featalign mock --features std,runtime-benchmarks,try-runtime --workspace-only --default-std --depth -1 --mode dry-run2\n```\n\n```sh\ndiff mock/Cargo.toml mock/Cargo.toml.cargo-featalign.swap\n```\n\n#### Sorting\n\n```sh\ncargo featalign mock --features std,runtime-benchmarks,try-runtime --workspace-only --default-std --depth -1 --mode dry-run --sort\n```\n\n```diff\n@@ -16,5 +16,6 @@\n [features]\n default = [\"std\"]\n std = [\n+   \"nested-b/std\",\n    \"nested-d/std\",\n ]\n\nnested-b 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock/nested/b)\n@@ -14,4 +14,6 @@\n\n [features]\n default = [\"std\"]\n-std     = []\n+std     = [\n+   \"nested-c/std\",\n+]\n\nmock-runtime 0.0.0 (path+file:///root/code/hack-ink/cargo-featalign/mock)\n@@ -48,24 +48,34 @@\n    \"pallet-b/std\",\n    \"pallet-c/std\",\n    # \"pallet-d/std\",\n+   \"pallet-a/std\",\n+   \"pallet-d/std\",\n    \"primitive-a/std\",\n ]\n\n runtime-benchmarks = [\n    \"pallet-a/runtime-benchmarks\",\n    # \"pallet-b/runtime-benchmarks\",\n+   \"pallet-b/runtime-benchmarks\",\n    \"pallet-c/runtime-benchmarks\",\n+   \"pallet-d/runtime-benchmarks\",\n    # \"pallet-d/runtime-benchmarks\",\n ]\n\n try-runtime = [\n    \"pallet-a/try-runtime\",\n    \"pallet-b/try-runtime\",\n+   \"pallet-c/try-runtime\",\n+   \"pallet-d/try-runtime\",\n    # \"pallet-c/try-runtime\",\n    # \"pallet-d/try-runtime\",\n ]\n\n-empty = []\n+empty = [\n+   \"primitive-b/empty\",\n+   \"primitive-c/empty\",\n+   \"primitive-d/empty\",\n+]\n\n [workspace]\n resolver = \"2\"\n```\n\n## Support Me\n\nIf you find this project helpful and would like to support its development, you can buy me a coffee!\n\nYour support is greatly appreciated and motivates me to keep improving this project.\n\n- **Fiat**\n    - [Ko-fi](https://ko-fi.com/hack_ink)\n    - [爱发电](https://afdian.com/a/hack_ink)\n- **Crypto**\n    - **Bitcoin**\n        - `bc1pedlrf67ss52md29qqkzr2avma6ghyrt4jx9ecp9457qsl75x247sqcp43c`\n    - **Ethereum**\n        - `0x3e25247CfF03F99a7D83b28F207112234feE73a6`\n    - **Polkadot**\n        - `156HGo9setPcU2qhFMVWLkcmtCEGySLwNqa3DaEiYSWtte4Y`\n\nThank you for your support!\n\n## Appreciation\n\nWe would like to extend our heartfelt gratitude to the following projects and contributors:\n\n- The Rust community for their continuous support and development of the Rust ecosystem.\n\n## Additional Acknowledgements\n\n- TODO\n\n\u003cdiv align=\"right\"\u003e\n\n### License\n\n\u003csup\u003eLicensed under [GPL-3.0](LICENSE).\u003c/sup\u003e\n\n\u003c/div\u003e\n","funding_links":["https://ko-fi.com/hack_ink"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhack-ink%2Fcargo-featalign","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhack-ink%2Fcargo-featalign","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhack-ink%2Fcargo-featalign/lists"}