How to tell what “features” are available per crate?

前端 未结 1 1900
广开言路
广开言路 2021-01-06 02:50

Is there a standard way to determine what features are available for a given crate?

I\'m trying to read Postgres timezones, and this says to use the crate post

相关标签:
1条回答
  • 2021-01-06 03:20

    The only standard way to see what features are available is to look at the Cargo.toml for the crate. This generally means that you need to navigate to the project's repository, find the correct file for the version you are interested in, and read it.

    You are primarily looking for the [features] section, but also for any dependencies that are marked as optional = true, as optional dependencies count as an implicit feature flag.

    Good crates also document their feature flags either in the README or in their documentation.

    You may be interested in crates.io issue #465, which suggests placing the feature list on the page.

    See also:

    • How do you enable a Rust "crate feature"?

    For the postgres crate, we can start at crates.io, then click "repository" to go to the repository. We then find the right tag (postgres-v0.17.0), then read the Cargo.toml:

    [features]
    with-bit-vec-0_6 = ["tokio-postgres/with-bit-vec-0_6"]
    with-chrono-0_4 = ["tokio-postgres/with-chrono-0_4"]
    with-eui48-0_4 = ["tokio-postgres/with-eui48-0_4"]
    with-geo-types-0_4 = ["tokio-postgres/with-geo-types-0_4"]
    with-serde_json-1 = ["tokio-postgres/with-serde_json-1"]
    with-uuid-0_8 = ["tokio-postgres/with-uuid-0_8"]
    
    0 讨论(0)
提交回复
热议问题