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

Tracking Issue for Rust 2024: Box<[T]>: IntoIter #123759

Closed
4 tasks done
traviscross opened this issue Apr 10, 2024 · 6 comments
Closed
4 tasks done

Tracking Issue for Rust 2024: Box<[T]>: IntoIter #123759

traviscross opened this issue Apr 10, 2024 · 6 comments
Assignees
Labels
A-edition-2024 Area: The 2024 edition C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. S-tracking-ready-for-edition Status: This issue is ready for inclusion in the edition. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.

Comments

@traviscross
Copy link
Contributor

traviscross commented Apr 10, 2024

This is a tracking issue for Box<[T]>: IntoIter in Rust 2024.

About tracking issues

Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions. A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.

Steps

Related items

Implementation history

cc @rust-lang/libs-api @clarfonthey @jhpratt

@traviscross traviscross added T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. A-edition-2024 Area: The 2024 edition labels Apr 10, 2024
@traviscross traviscross changed the title Tracking Issue for Rust 2024: Box<[T]> (and Box<[T; N]>) IntoIter Tracking Issue for Rust 2024: Box<[T]> (and Box<[T; N]>): IntoIter Apr 14, 2024
bors added a commit to rust-lang-ci/rust that referenced this issue May 21, 2024
…fleLapkin

Add `IntoIterator` for `Box<[T]>` + edition 2024-specific lints

* Adds a similar method probe opt-out mechanism to the `[T;N]: IntoIterator` implementation for edition 2021.
* Adjusts the relevant lints (shadowed `.into_iter()` calls, new source of method ambiguity).
* Adds some tests.
* Took the liberty to rework the logic in the `ARRAY_INTO_ITER` lint, since it was kind of confusing.

Based mostly off of rust-lang#116607.

ACP: rust-lang/libs-team#263
References rust-lang#59878
Tracking for Rust 2024: rust-lang#123759

Crater run was done here: rust-lang#116607 (comment)
Consensus afaict was that there is too much breakage, so let's do this in an edition-dependent way much like `[T; N]: IntoIterator`.
@traviscross traviscross added the S-tracking-needs-documentation Status: Needs documentation. label May 21, 2024
@traviscross
Copy link
Contributor Author

Based on the results of the crater run in #124108, it doesn't seem that needs the migration hack, so when that lands it will be insta-stable and not coupled to the edition. So we can pull that off the list.

Consequently, all the remainder of this item needs now to be done is documentation.

@cuviper
Copy link
Member

cuviper commented May 21, 2024

Note, that crater run was only for Box<[T; N]>, not Box<[T]>.

@traviscross
Copy link
Contributor Author

traviscross commented May 21, 2024

Right. Box<[T]>: IntoIter is #124097, which does need the migration hack, and is coupled to the edition.

RalfJung pushed a commit to RalfJung/miri that referenced this issue May 22, 2024
Add `IntoIterator` for `Box<[T]>` + edition 2024-specific lints

* Adds a similar method probe opt-out mechanism to the `[T;N]: IntoIterator` implementation for edition 2021.
* Adjusts the relevant lints (shadowed `.into_iter()` calls, new source of method ambiguity).
* Adds some tests.
* Took the liberty to rework the logic in the `ARRAY_INTO_ITER` lint, since it was kind of confusing.

Based mostly off of #116607.

ACP: rust-lang/libs-team#263
References #59878
Tracking for Rust 2024: rust-lang/rust#123759

Crater run was done here: rust-lang/rust#116607 (comment)
Consensus afaict was that there is too much breakage, so let's do this in an edition-dependent way much like `[T; N]: IntoIterator`.
@clarfonthey

This comment was marked as resolved.

@traviscross traviscross changed the title Tracking Issue for Rust 2024: Box<[T]> (and Box<[T; N]>): IntoIter Tracking Issue for Rust 2024: Box<[T]>: IntoIter May 23, 2024
flip1995 pushed a commit to flip1995/rust-clippy that referenced this issue May 24, 2024
Add `IntoIterator` for `Box<[T]>` + edition 2024-specific lints

* Adds a similar method probe opt-out mechanism to the `[T;N]: IntoIterator` implementation for edition 2021.
* Adjusts the relevant lints (shadowed `.into_iter()` calls, new source of method ambiguity).
* Adds some tests.
* Took the liberty to rework the logic in the `ARRAY_INTO_ITER` lint, since it was kind of confusing.

Based mostly off of #116607.

ACP: rust-lang/libs-team#263
References #59878
Tracking for Rust 2024: rust-lang/rust#123759

Crater run was done here: rust-lang/rust#116607 (comment)
Consensus afaict was that there is too much breakage, so let's do this in an edition-dependent way much like `[T; N]: IntoIterator`.
@ehuss
Copy link
Contributor

ehuss commented Jun 12, 2024

Docs are up at rust-lang/edition-guide#307.

@traviscross traviscross added S-tracking-ready-for-edition Status: This issue is ready for inclusion in the edition. and removed S-tracking-needs-documentation Status: Needs documentation. labels Jun 13, 2024
@traviscross
Copy link
Contributor Author

We've confirmed this issue is entirely ready for Rust 2024. Thanks to @compiler-errors and @clarfonthey for the implementation work here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-edition-2024 Area: The 2024 edition C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. S-tracking-ready-for-edition Status: This issue is ready for inclusion in the edition. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

5 participants