Skip to content

Switch public/private dependencies to a non-blocking feature gate #13308

Closed
@epage

Description

@epage

#13307 updates our documentation to distinguish blocking and non-blocking feature gates. Currently, public dependencies use a blocking feature gate and should be switched to a non-blocking feature gate.

When discussing this as a team, we tried to balance

  • Avoiding MSRV bumps for using the feature, allowing earlier adoption
  • How long this feature has until it is stabilized to make much of a difference for MSRVs

Due to some outstanding rustc bugs, the timeline for stabilization is out of our hands and so we feel moving forward with switching to non-blocking gating is worth it.

Parts of this change include

  • Switching the cargo-features to a -Z
  • Warning if public is used without -Z and setting it to false
    • We should also warn if the data type changes but that is less likely to happen and could possibly be skipped
  • Ensuring the published version of the package does not have public

Metadata

Metadata

Assignees

Labels

A-manifestArea: Cargo.toml issuesC-enhancementCategory: enhancementS-acceptedStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewZ-public-dependencyNightly: public-dependency

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions