Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unstable features accidentally usable on the Stable release chanel are still unstable #2405

Merged
merged 1 commit into from
May 31, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions text/1105-api-evolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ The RFC covers only API issues; other issues related to language features,
lints, type inference, command line arguments, Cargo, and so on are considered
out of scope.

The stability promise specifically does *not* apply to unstable features,
even if they are accidentally usable on the Stable release channel
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we remove the accidentally wording here? Things like the bootstrap environment variable aren't accidental, but we still don't consider them stable.

under certain conditions such as because of bugs in the compiler.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm; Maybe say 1-2 words about who decides this? (I assume the responsible team does?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is intended to be the decision?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I mean is: if we in the future find new "bugs" wrt. unstable; who decides if it was really a bug, or working as intended? I guess the criteria for bug could be / is that something became stable without going through a stabilization FCP?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the standard library at least I think there’s no ambiguity since every public item is required to have either #[stable] or #[unstable]. Though you’re right that it’s may not that clear cut for language features.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small note re. standard library: trait impls are insta-stable regardless of #[unstable] afaik and macros do not respect stability attributes either.


# Motivation

Both Rust and its library ecosystem have adopted [semver](http://semver.org/), a
Expand Down