Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 2.09 KB

CRATE_POLICY.md

File metadata and controls

53 lines (39 loc) · 2.09 KB

Playground crate inclusion policy

The playground selects a number of root crates to include:

A recent non-prerelease version of these crates are available, as well as whatever dependencies these crates require.

Please do not open issues or pull requests about adding or updating crates available in the playground. This list is maintained semi-automatically and all crates are updated at once to reduce duplicate work. The update frequency is sporadic, but usually corresponds to when a new stable version of Rust is released: every six weeks.

Why is there a policy?

The number of crates must be restricted because time and space are limited resources and the playground is a volunteer-supported open source project. It would be infeasible to provide every possible crate.

This inclusion policy is used to avoid "playing favorites" for which crates are available. Hand-picking crates will lead to resentment about which crates were not included between the playground maintainers and crate authors or even the broader Rust community. Neither of these outcomes is desired.

Exclusion policy

Occasionally, some crates that would otherwise meet the above criteria will not be available on the playground. A non-exhaustive list of reasons is:

  • Does not compile on Linux
  • Does not compile on the stable release channel
  • Does not compile due to invalid feature flag selection

In these cases, we will temporarily exclude the crate to allow the playground to continue to be updated. We usually also notify the crate maintainers so they can adjust their crates and be re-included.

I don't like the current system!

We are open to well-reasoned alternate algorithms, but be aware that any proposal would likely be expected to also provide the majority of implementation work.