Skip to content

Allow multiple #[unstable] attributes on one item #94770

@m-ou-se

Description

@m-ou-se

We sometimes have things that should be gated by multiple features. E.g. ScopedJoinHandle::is_running is part of scoped_threads, but also of thread_is_running. In these cases we now just apply only one of the #[unstable] attributes, and because of that sometimes accidentally stabilize something when only one of the features gets stabilized.

It'd be great if we could add multiple #[unstable] attributes to a single item. Allowing multiple #[stable] tags isn't a necessity. We could just remove the #[unstable] tag if the feature gets stabilized and there are other #[unstable] tags left. The most important part is that we don't forget about the other unstable tags and don't stabilize something by accident.

Another option would be multiple feature = arguments to #[unstable].

Metadata

Metadata

Assignees

Labels

A-stabilityArea: `#[stable]`, `#[unstable]` etc.C-feature-requestCategory: A feature request, i.e: not implemented / a PR.E-help-wantedCall for participation: Help is requested to fix this issue.E-mediumCall for participation: Medium difficulty. Experience needed to fix: Intermediate.F-staged_api`#![feature(staged_api)]`T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions