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

Public unstable feature="inplace_iteration" APIs without a tracking issue #85373

Closed
SimonSapin opened this issue May 16, 2021 · 1 comment · Fixed by #85374
Closed

Public unstable feature="inplace_iteration" APIs without a tracking issue #85373

SimonSapin opened this issue May 16, 2021 · 1 comment · Fixed by #85374
Labels
B-unstable Blocker: Implemented in the nightly compiler and unstable. Libs-Small Libs issues that are considered "small" or self-contained T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@SimonSapin
Copy link
Contributor

The SourceIter and InPlaceIterable unstable traits are public, so they and their impls show up in docs. For example https://doc.rust-lang.org/1.52.1/std/iter/trait.InPlaceIterable.html. However unlike other unstable public APIs, there is no link to a tracking issue.

These traits were added by @the8472 in #70793. It’s not clear from the PR’s description if the traits are intended as private implementation details of the standard library that are only technically pub so that they can be used across multiple standard library crates, or if they are intended as a new public API with a possible path to eventual stabilization.

Source definitions of the traits and impls should either have #[doc(hidden)] attributes added, or a tracking issue should be filed and the #[unstable] attributes modified to point there.

@SimonSapin SimonSapin added T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. B-unstable Blocker: Implemented in the nightly compiler and unstable. Libs-Small Libs issues that are considered "small" or self-contained labels May 16, 2021
@the8472
Copy link
Member

the8472 commented May 16, 2021

It’s not clear from the PR’s description if the traits are intended as private implementation details of the standard library that are only technically pub so that they can be used across multiple standard library crates

That's the intent.

or if they are intended as a new public API with a possible path to eventual stabilization.

Not at this time. They're intended for specialization and specialization is still far from stable.

I will add #[doc(hidden)].

RalfJung added a commit to RalfJung/rust that referenced this issue May 17, 2021
…onSapin

mark internal inplace_iteration traits as hidden

resolves rust-lang#85373

r? `@SimonSapin`
@bors bors closed this as completed in fbb0d70 May 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-unstable Blocker: Implemented in the nightly compiler and unstable. Libs-Small Libs issues that are considered "small" or self-contained T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants