Skip to content

Tracking issue for 1.0.0 tracking issues #39954

Closed
@SimonSapin

Description

@SimonSapin

In the months before Rust 1.0, the stability mechanism was introduced. At first all of the standard library was marked as unstable, then features were stabilized one by one.

I was curious what remains from that time that is still unstable today. I got some data by running:

grep 'active.*1\.0\.0", Some' src/libsyntax/feature_gate.rs

To get them out of the way, I expect these feature gates to be made obsolete (deprecated and eventually removed) by procedural macros 2.0 (#38356):

These have also been proposed for deprecation:

These are "permanently unstable":

Which leaves feature flags dating from 1.0.0, that are still unstable today as of 2017-02-19, and that have some likelihood of being stabilized in the future:

(Individual features should be discussed in their respective tracking issues.)

Edit: I realized that feature_gate.rs does not include library features, so I got more data:

./x.py test src/tools/tidy | grep unstable | grep None | cut -d' ' -f2 | sort > /tmp/now

And in a checkout of the 1.0.0 git tag:

rg '#\[unstable' | grep -o 'feature *= *"[^"]*"' | cut -d\" -f2 | sort -u > /tmp/1.0.0

Got the intersection (com -12 /tmp/now /tmp/1.0.0), and looked manually to remove deprecated features and implementation details, and add tracking issue numbers. This leaves these feature flags:

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCmetabugIssues about issues themselves ("bugs about bugs")

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions