Skip to content

Non-transitive version of external-default-features  #699

Open
@sergiimk

Description

Is your feature request related to a problem? Please describe.
I have a large workspace with 900+ crate dependencies in total. I would like to enforce that every dependency added to the project uses default-features = false and lists needed features explicitly to prevent bloat.

If I specify external-default-features = "deny" currently I get errors for creates with default features enabled including transitive dependencies, deep in the dependency hierarchy, on which I have no control over.

I would like to have an ability to separately "deny" default features on immediate dependencies, and "warn" on transitive dependencies so I could consider submitting upstream PRs to those.

Describe the solution you'd like
Perhaps allow syntax like:

external-default-features = { transitive = "deny", immediate = "warn" }

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions