├── README.md ├── src ├── lib.rs └── main.rs ├── .gitignore ├── rust-toolchain.toml ├── .ignore ├── .github ├── renovate.json └── workflows │ ├── release.yml │ ├── deny.yml │ ├── zizmor.yml │ └── ci.yml ├── Cargo.lock ├── dprint.json ├── .rustfmt.toml ├── justfile ├── LICENSE ├── Cargo.toml └── deny.toml /README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() {} 2 | -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "1.92.0" 3 | profile = "default" 4 | -------------------------------------------------------------------------------- /.ignore: -------------------------------------------------------------------------------- 1 | # For watchexec https://github.com/watchexec/watchexec/tree/main/crates/cli#features 2 | 3 | target/** 4 | **/node_modules/** 5 | -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["github>Boshen/renovate"] 4 | } 5 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 4 4 | 5 | [[package]] 6 | name = "template" 7 | version = "0.0.1" 8 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | permissions: {} 4 | 5 | on: 6 | push: 7 | branches: 8 | - main 9 | 10 | jobs: 11 | release-plz: 12 | name: Release-plz 13 | runs-on: ubuntu-latest 14 | permissions: 15 | pull-requests: write 16 | contents: write 17 | id-token: write 18 | steps: 19 | - uses: oxc-project/release-plz@44b98e8dda1a7783d4ec2ef66e2f37a3e8c1c759 # v1.0.4 20 | with: 21 | PAT: ${{ secrets.OXC_BOT_PAT }} 22 | -------------------------------------------------------------------------------- /dprint.json: -------------------------------------------------------------------------------- 1 | { 2 | "lineWidth": 120, 3 | "typescript": { 4 | "quoteStyle": "preferSingle", 5 | "binaryExpression.operatorPosition": "sameLine" 6 | }, 7 | "json": { 8 | "indentWidth": 2 9 | }, 10 | "toml": { 11 | }, 12 | "excludes": [], 13 | "plugins": [ 14 | "https://plugins.dprint.dev/typescript-0.95.13.wasm", 15 | "https://plugins.dprint.dev/json-0.21.0.wasm", 16 | "https://plugins.dprint.dev/markdown-0.20.0.wasm", 17 | "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.1.wasm", 18 | "https://plugins.dprint.dev/toml-0.7.0.wasm" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | style_edition = "2024" 2 | 3 | # Make Rust more readable given most people have wide screens nowadays. 4 | # This is also the setting used by [rustc](https://github.com/rust-lang/rust/blob/master/rustfmt.toml) 5 | use_small_heuristics = "Max" 6 | 7 | # Use field initialize shorthand if possible 8 | use_field_init_shorthand = true 9 | 10 | reorder_modules = true 11 | 12 | # All unstable features that we wish for 13 | # unstable_features = true 14 | # Provide a cleaner impl order 15 | # reorder_impl_items = true 16 | # Provide a cleaner import sort order 17 | # group_imports = "StdExternalCrate" 18 | # Group "use" statements by crate 19 | # imports_granularity = "Crate" 20 | -------------------------------------------------------------------------------- /.github/workflows/deny.yml: -------------------------------------------------------------------------------- 1 | name: Cargo Deny 2 | 3 | permissions: {} 4 | 5 | on: 6 | workflow_dispatch: 7 | pull_request: 8 | types: [opened, synchronize] 9 | paths: 10 | - "Cargo.lock" 11 | - "deny.toml" 12 | - ".github/workflows/deny.yml" 13 | push: 14 | branches: 15 | - main 16 | paths: 17 | - "Cargo.lock" 18 | - "deny.toml" 19 | - ".github/workflows/deny.yml" 20 | 21 | concurrency: 22 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} 23 | cancel-in-progress: ${{ github.ref_name != 'main' }} 24 | 25 | jobs: 26 | deny: 27 | name: Cargo Deny 28 | runs-on: ubuntu-latest 29 | steps: 30 | - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1 31 | 32 | - uses: oxc-project/setup-rust@ecabb7322a2ba5aeedb3612d2a40b86a85cee235 # v1.0.11 33 | with: 34 | restore-cache: false 35 | tools: cargo-deny 36 | 37 | - run: cargo deny check 38 | -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S just --justfile 2 | 3 | set windows-shell := ["powershell.exe", "-NoLogo", "-Command"] 4 | set shell := ["bash", "-cu"] 5 | 6 | _default: 7 | @just --list -u 8 | 9 | alias r := ready 10 | 11 | init: 12 | cargo binstall watchexec-cli cargo-insta typos-cli cargo-shear dprint -y 13 | 14 | ready: 15 | git diff --exit-code --quiet 16 | typos 17 | just fmt 18 | just check 19 | just test 20 | just lint 21 | just doc 22 | 23 | watch *args='': 24 | watchexec --no-vcs-ignore {{args}} 25 | 26 | fmt: 27 | cargo shear --fix 28 | cargo fmt --all 29 | dprint fmt 30 | 31 | check: 32 | cargo check --workspace --all-features --all-targets --locked 33 | 34 | watch-check: 35 | just watch "'cargo check; cargo clippy'" 36 | 37 | test: 38 | cargo test 39 | 40 | lint: 41 | cargo clippy --workspace --all-targets --all-features -- --deny warnings 42 | 43 | [unix] 44 | doc: 45 | RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --document-private-items 46 | 47 | [windows] 48 | doc: 49 | $Env:RUSTDOCFLAGS='-D warnings'; cargo doc --no-deps --document-private-items 50 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024-present VoidZero Inc. & Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/workflows/zizmor.yml: -------------------------------------------------------------------------------- 1 | name: Zizmor 2 | 3 | permissions: {} 4 | 5 | on: 6 | workflow_dispatch: 7 | pull_request: 8 | types: [opened, synchronize] 9 | paths: 10 | - ".github/workflows/**" 11 | push: 12 | branches: 13 | - main 14 | paths: 15 | - ".github/workflows/**" 16 | 17 | jobs: 18 | zizmor: 19 | name: zizmor 20 | runs-on: ubuntu-latest 21 | permissions: 22 | security-events: write 23 | steps: 24 | - name: Checkout repository 25 | uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 26 | with: 27 | persist-credentials: false 28 | 29 | - uses: taiki-e/install-action@61e5998d108b2b55a81b9b386c18bd46e4237e4f # v2.63.1 30 | with: 31 | tool: zizmor 32 | 33 | - name: Run zizmor 34 | run: zizmor --format sarif . > results.sarif 35 | env: 36 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 37 | 38 | - name: Upload SARIF file 39 | uses: github/codeql-action/upload-sarif@1b168cd39490f61582a9beae412bb7057a6b2c4e # v4.31.8 40 | with: 41 | sarif_file: results.sarif 42 | category: zizmor 43 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | permissions: {} 4 | 5 | on: 6 | workflow_dispatch: 7 | pull_request: 8 | types: [opened, synchronize] 9 | push: 10 | branches: 11 | - main 12 | 13 | concurrency: 14 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} 15 | cancel-in-progress: ${{ github.ref_name != 'main' }} 16 | 17 | defaults: 18 | run: 19 | shell: bash 20 | 21 | env: 22 | CARGO_INCREMENTAL: 0 23 | RUSTFLAGS: "-D warnings" 24 | 25 | jobs: 26 | test: 27 | name: Test 28 | strategy: 29 | fail-fast: false 30 | matrix: 31 | include: 32 | - os: ubuntu-latest 33 | # - os: windows-latest 34 | # - os: macos-14 35 | runs-on: ${{ matrix.os }} 36 | steps: 37 | - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1 38 | - uses: oxc-project/setup-rust@ecabb7322a2ba5aeedb3612d2a40b86a85cee235 # v1.0.11 39 | with: 40 | save-cache: ${{ github.ref_name == 'main' }} 41 | - run: cargo check --all-targets --all-features 42 | - run: cargo test 43 | 44 | lint: 45 | name: Lint 46 | runs-on: ubuntu-latest 47 | steps: 48 | - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1 49 | 50 | - uses: oxc-project/setup-rust@ecabb7322a2ba5aeedb3612d2a40b86a85cee235 # v1.0.11 51 | with: 52 | components: clippy rust-docs rustfmt 53 | 54 | - run: | 55 | cargo fmt --check 56 | cargo clippy --all-targets --all-features -- -D warnings 57 | RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --document-private-items 58 | 59 | - uses: crate-ci/typos@2d0ce569feab1f8752f1dde43cc2f2aa53236e06 # v1.40.0 60 | with: 61 | files: . 62 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "template" 3 | version = "0.0.1" 4 | authors = ["Boshen "] 5 | categories = [] 6 | edition = "2024" 7 | include = ["/src"] 8 | keywords = [] 9 | license = "MIT" 10 | publish = true 11 | readme = "README.md" 12 | repository = "" 13 | description = "" 14 | 15 | [lints.rust] 16 | absolute_paths_not_starting_with_crate = "warn" 17 | non_ascii_idents = "warn" 18 | unit-bindings = "warn" 19 | unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage)', 'cfg(coverage_nightly)'] } 20 | 21 | [lints.clippy] 22 | all = { level = "warn", priority = -1 } 23 | # restriction 24 | dbg_macro = "warn" 25 | todo = "warn" 26 | unimplemented = "warn" 27 | print_stdout = "warn" # Must be opt-in 28 | print_stderr = "warn" # Must be opt-in 29 | allow_attributes = "warn" 30 | # I like the explicitness of this rule as it removes confusion around `clone`. 31 | # This increases readability, avoids `clone` mindlessly and heap allocating by accident. 32 | clone_on_ref_ptr = "warn" 33 | # These two are mutually exclusive, I like `mod.rs` files for better fuzzy searches on module entries. 34 | self_named_module_files = "warn" # "-Wclippy::mod_module_files" 35 | empty_drop = "warn" 36 | empty_structs_with_brackets = "warn" 37 | exit = "warn" 38 | filetype_is_file = "warn" 39 | get_unwrap = "warn" 40 | impl_trait_in_params = "warn" 41 | rc_buffer = "warn" 42 | rc_mutex = "warn" 43 | rest_pat_in_fully_bound_structs = "warn" 44 | unnecessary_safety_comment = "warn" 45 | undocumented_unsafe_blocks = "warn" 46 | infinite_loop = "warn" 47 | 48 | [dependencies] 49 | 50 | [profile.release] 51 | # Configurations explicitly listed here for clarity. 52 | # Using the best options for performance. 53 | opt-level = 3 54 | lto = "fat" 55 | codegen-units = 1 56 | strip = "symbols" # set to `false` for debug information 57 | debug = false # set to `true` for debug information 58 | panic = "abort" # Let it crash and force ourselves to write safe Rust. 59 | -------------------------------------------------------------------------------- /deny.toml: -------------------------------------------------------------------------------- 1 | # This template contains all of the possible sections and their default values 2 | 3 | # Note that all fields that take a lint level have these possible values: 4 | # * deny - An error will be produced and the check will fail 5 | # * warn - A warning will be produced, but the check will not fail 6 | # * allow - No warning or error will be produced, though in some cases a note 7 | # will be 8 | 9 | # The values provided in this template are the default values that will be used 10 | # when any section or field is not specified in your own configuration 11 | 12 | # This section is considered when running `cargo deny check advisories` 13 | # More documentation for the advisories section can be found here: 14 | # https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html 15 | [advisories] 16 | # The path where the advisory database is cloned/fetched into 17 | db-path = "~/.cargo/advisory-db" 18 | # The url(s) of the advisory databases to use 19 | db-urls = ["https://github.com/rustsec/advisory-db"] 20 | # The lint level for crates that have been yanked from their source registry 21 | yanked = "warn" 22 | # A list of advisory IDs to ignore. Note that ignored advisories will still 23 | # output a note when they are encountered. 24 | ignore = [ 25 | "RUSTSEC-2024-0399", 26 | # "RUSTSEC-0000-0000", 27 | ] 28 | # Threshold for security vulnerabilities, any vulnerability with a CVSS score 29 | # lower than the range specified will be ignored. Note that ignored advisories 30 | # will still output a note when they are encountered. 31 | # * None - CVSS Score 0.0 32 | # * Low - CVSS Score 0.1 - 3.9 33 | # * Medium - CVSS Score 4.0 - 6.9 34 | # * High - CVSS Score 7.0 - 8.9 35 | # * Critical - CVSS Score 9.0 - 10.0 36 | # severity-threshold = 37 | 38 | # If this is true, then cargo deny will use the git executable to fetch advisory database. 39 | # If this is false, then it uses a built-in git library. 40 | # Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support. 41 | # See Git Authentication for more information about setting up git authentication. 42 | # git-fetch-with-cli = true 43 | 44 | # This section is considered when running `cargo deny check licenses` 45 | # More documentation for the licenses section can be found here: 46 | # https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html 47 | [licenses] 48 | # List of explicitly allowed licenses 49 | # See https://spdx.org/licenses/ for list of possible licenses 50 | # [possible values: any SPDX 3.11 short identifier (+ optional exception)]. 51 | allow = [ 52 | "Apache-2.0", 53 | "BSD-3-Clause", 54 | "ISC", 55 | "MIT", 56 | "MPL-2.0", 57 | "OpenSSL", 58 | "Unicode-DFS-2016", 59 | "Unicode-3.0", 60 | ] 61 | # The confidence threshold for detecting a license from license text. 62 | # The higher the value, the more closely the license text must be to the 63 | # canonical license text of a valid SPDX license file. 64 | # [possible values: any between 0.0 and 1.0]. 65 | confidence-threshold = 0.8 66 | # Allow 1 or more licenses on a per-crate basis, so that particular licenses 67 | # aren't accepted for every possible crate as with the normal allow list 68 | exceptions = [ 69 | 70 | # Each entry is the crate and version constraint, and its specific allow 71 | # list 72 | # { allow = ["Zlib"], name = "adler32", version = "*" }, 73 | ] 74 | 75 | # Some crates don't have (easily) machine readable licensing information, 76 | # adding a clarification entry for it allows you to manually specify the 77 | # licensing information 78 | [[licenses.clarify]] 79 | # The name of the crate the clarification applies to 80 | name = "ring" 81 | # The optional version constraint for the crate 82 | version = "*" 83 | # The SPDX expression for the license requirements of the crate 84 | expression = "MIT AND ISC AND OpenSSL" 85 | # One or more files in the crate's source used as the "source of truth" for 86 | # the license expression. If the contents match, the clarification will be used 87 | # when running the license check, otherwise the clarification will be ignored 88 | # and the crate will be checked normally, which may produce warnings or errors 89 | # depending on the rest of your configuration 90 | license-files = [ 91 | # Each entry is a crate relative path, and the (opaque) hash of its contents 92 | { path = "LICENSE", hash = 0xbd0eed23 }, 93 | ] 94 | 95 | [licenses.private] 96 | # If true, ignores workspace crates that aren't published, or are only 97 | # published to private registries. 98 | # To see how to mark a crate as unpublished (to the official registry), 99 | # visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field. 100 | ignore = false 101 | # One or more private registries that you might publish crates to, if a crate 102 | # is only published to private registries, and ignore is true, the crate will 103 | # not have its license(s) checked 104 | registries = [ 105 | 106 | # "https://sekretz.com/registry 107 | ] 108 | 109 | # This section is considered when running `cargo deny check bans`. 110 | # More documentation about the 'bans' section can be found here: 111 | # https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html 112 | [bans] 113 | # Lint level for when multiple versions of the same crate are detected 114 | multiple-versions = "warn" 115 | # Lint level for when a crate version requirement is `*` 116 | wildcards = "allow" 117 | # The graph highlighting used when creating dotgraphs for crates 118 | # with multiple versions 119 | # * lowest-version - The path to the lowest versioned duplicate is highlighted 120 | # * simplest-path - The path to the version with the fewest edges is highlighted 121 | # * all - Both lowest-version and simplest-path are used 122 | highlight = "all" 123 | # The default lint level for `default` features for crates that are members of 124 | # the workspace that is being checked. This can be overridden by allowing/denying 125 | # `default` on a crate-by-crate basis if desired. 126 | workspace-default-features = "allow" 127 | # The default lint level for `default` features for external crates that are not 128 | # members of the workspace. This can be overridden by allowing/denying `default` 129 | # on a crate-by-crate basis if desired. 130 | external-default-features = "allow" 131 | # List of crates that are allowed. Use with care! 132 | allow = [ 133 | 134 | # { name = "ansi_term", version = "=0.11.0" }, 135 | ] 136 | # List of crates to deny 137 | deny = [ 138 | 139 | # Each entry the name of a crate and a version range. If version is 140 | # not specified, all versions will be matched. 141 | # { name = "ansi_term", version = "=0.11.0" }, 142 | # 143 | # Wrapper crates can optionally be specified to allow the crate when it 144 | # is a direct dependency of the otherwise banned crate 145 | # { name = "ansi_term", version = "=0.11.0", wrappers = [] }, 146 | ] 147 | 148 | # List of features to allow/deny 149 | # Each entry the name of a crate and a version range. If version is 150 | # not specified, all versions will be matched. 151 | # [[bans.features]] 152 | # name = "reqwest" 153 | # Features to not allow 154 | # deny = ["json"] 155 | # Features to allow 156 | # allow = [ 157 | # "rustls", 158 | # "__rustls", 159 | # "__tls", 160 | # "hyper-rustls", 161 | # "rustls", 162 | # "rustls-pemfile", 163 | # "rustls-tls-webpki-roots", 164 | # "tokio-rustls", 165 | # "webpki-roots", 166 | # ] 167 | # If true, the allowed features must exactly match the enabled feature set. If 168 | # this is set there is no point setting `deny` 169 | # exact = true 170 | 171 | # Certain crates/versions that will be skipped when doing duplicate detection. 172 | skip = [ 173 | 174 | # { name = "ansi_term", version = "=0.11.0" }, 175 | ] 176 | # Similarly to `skip` allows you to skip certain crates during duplicate 177 | # detection. Unlike skip, it also includes the entire tree of transitive 178 | # dependencies starting at the specified crate, up to a certain depth, which is 179 | # by default infinite. 180 | skip-tree = [ 181 | 182 | # { name = "ansi_term", version = "=0.11.0", depth = 20 }, 183 | ] 184 | 185 | # This section is considered when running `cargo deny check sources`. 186 | # More documentation about the 'sources' section can be found here: 187 | # https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html 188 | [sources] 189 | # Lint level for what to happen when a crate from a crate registry that is not 190 | # in the allow list is encountered 191 | unknown-registry = "warn" 192 | # Lint level for what to happen when a crate from a git repository that is not 193 | # in the allow list is encountered 194 | unknown-git = "warn" 195 | # List of URLs for allowed crate registries. Defaults to the crates.io index 196 | # if not specified. If it is specified but empty, no registries are allowed. 197 | allow-registry = ["https://github.com/rust-lang/crates.io-index"] 198 | # List of URLs for allowed Git repositories 199 | allow-git = [] 200 | 201 | [sources.allow-org] 202 | # 1 or more github.com organizations to allow git sources for 203 | # github = [""] 204 | # 1 or more gitlab.com organizations to allow git sources for 205 | # gitlab = [""] 206 | # 1 or more bitbucket.org organizations to allow git sources for 207 | # bitbucket = [""] 208 | 209 | [graph] 210 | # If 1 or more target triples (and optionally, target_features) are specified, 211 | # only the specified targets will be checked when running `cargo deny check`. 212 | # This means, if a particular package is only ever used as a target specific 213 | # dependency, such as, for example, the `nix` crate only being used via the 214 | # `target_family = "unix"` configuration, that only having windows targets in 215 | # this list would mean the nix crate, as well as any of its exclusive 216 | # dependencies not shared by any other crates, would be ignored, as the target 217 | # list here is effectively saying which targets you are building for. 218 | targets = [ 219 | 220 | # The triple can be any string, but only the target triples built in to 221 | # rustc (as of 1.40) can be checked against actual config expressions 222 | # { triple = "x86_64-unknown-linux-musl" }, 223 | # You can also specify which target_features you promise are enabled for a 224 | # particular target. target_features are currently not validated against 225 | # the actual valid features supported by the target architecture. 226 | # { triple = "wasm32-unknown-unknown", features = ["atomics"] }, 227 | ] 228 | # When creating the dependency graph used as the source of truth when checks are 229 | # executed, this field can be used to prune crates from the graph, removing them 230 | # from the view of cargo-deny. This is an extremely heavy hammer, as if a crate 231 | # is pruned from the graph, all of its dependencies will also be pruned unless 232 | # they are connected to another crate in the graph that hasn't been pruned, 233 | # so it should be used with care. The identifiers are [Package ID Specifications] 234 | # (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html) 235 | # exclude = [] 236 | # If true, metadata will be collected with `--all-features`. Note that this can't 237 | # be toggled off if true, if you want to conditionally enable `--all-features` it 238 | # is recommended to pass `--all-features` on the cmd line instead 239 | all-features = false 240 | # If true, metadata will be collected with `--no-default-features`. The same 241 | # caveat with `all-features` applies 242 | no-default-features = false 243 | 244 | # If set, these feature will be enabled when collecting metadata. If `--features` 245 | # is specified on the cmd line they will take precedence over this option. 246 | # features = [] 247 | 248 | [output] 249 | # When outputting inclusion graphs in diagnostics that include features, this 250 | # option can be used to specify the depth at which feature edges will be added. 251 | # This option is included since the graphs can be quite large and the addition 252 | # of features from the crate(s) to all of the graph roots can be far too verbose. 253 | # This option can be overridden via `--feature-depth` on the cmd line 254 | feature-depth = 1 255 | --------------------------------------------------------------------------------