Skip to content

Remove some unsized tuple impls now that we don't support unsizing tuples anymore #138340

New issue

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

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

Already on GitHub? # to your account

Merged
merged 1 commit into from
Jul 3, 2025

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Mar 11, 2025

Since #137728 there is no sound way to create unsized tuples anymore. While we can't remove them from the language (tried here: #138093) due to people using PhantomData<(T, U)> where U: ?Sized (they'd have to use (PhantomData<T>, PhantomData<U>) now), we can remove the impls from libcore I believe.

r? libs I guess?

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Mar 11, 2025
@oli-obk
Copy link
Contributor Author

oli-obk commented Mar 11, 2025

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 11, 2025
Remove some unsized tuple impls now that we don't support unsizing tuples anymore

Since rust-lang#137728 there is no sound way to create unsized tuples anymore. While we can't remove them from the language due to people using `PhantomData<(T, U)>` where `U: ?Sized` (they'd have to use `(PhantomData<T>, PhantomData<U>)` now), we can remove the impls from libcore I believe.

r? ghost
@bors
Copy link
Collaborator

bors commented Mar 11, 2025

⌛ Trying commit 93f64c5 with merge 0fe3684...

@bors
Copy link
Collaborator

bors commented Mar 11, 2025

☀️ Try build successful - checks-actions
Build commit: 0fe3684 (0fe3684930279e4d3be3aca66b30f82946ce9ac2)

@oli-obk
Copy link
Contributor Author

oli-obk commented Mar 11, 2025

@craterbot check

@craterbot
Copy link
Collaborator

👌 Experiment pr-138340 created and queued.
🤖 Automatically detected try build 0fe3684
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 11, 2025
@craterbot
Copy link
Collaborator

🚧 Experiment pr-138340 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🎉 Experiment pr-138340 is completed!
📊 27 regressed and 1 fixed (596183 total)
📰 Open the full report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-crater Status: Waiting on a crater run to be completed. labels Mar 12, 2025
@oli-obk
Copy link
Contributor Author

oli-obk commented Mar 12, 2025

The only regression is https://crates.io/crates/ord_subset/3.1.1 which was last updated 6 years ago. I'll check if I can contract the author, as there are a few crates depending on it

The author was unresponsive for a month, so moving ahead now.

@oli-obk oli-obk marked this pull request as ready for review April 17, 2025 14:19
@tgross35
Copy link
Contributor

Requesting libs-api since this will need FCP

r? libs-api

@rustbot rustbot added the T-libs-api Relevant to the library API team, which will review and decide on the PR/issue. label Apr 17, 2025
@rustbot rustbot assigned m-ou-se and unassigned tgross35 Apr 17, 2025
@tgross35 tgross35 added needs-fcp This change is insta-stable, or significant enough to need a team FCP to proceed. I-libs-api-nominated Nominated for discussion during a libs-api team meeting. and removed T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Apr 17, 2025
@joshtriplett
Copy link
Member

@rfcbot merge

@rfcbot
Copy link
Collaborator

rfcbot commented Apr 22, 2025

Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rfcbot rfcbot added proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. final-comment-period In the final comment period and will be merged soon unless new substantive objections are raised. labels Apr 22, 2025
@rfcbot
Copy link
Collaborator

rfcbot commented Apr 22, 2025

🔔 This is now entering its final comment period, as per the review above. 🔔

@rfcbot rfcbot removed the proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. label Apr 22, 2025
@Amanieu Amanieu removed the I-libs-api-nominated Nominated for discussion during a libs-api team meeting. label Apr 29, 2025
@rfcbot rfcbot added finished-final-comment-period The final comment period is finished for this PR / Issue. and removed final-comment-period In the final comment period and will be merged soon unless new substantive objections are raised. labels May 2, 2025
@rfcbot
Copy link
Collaborator

rfcbot commented May 2, 2025

The final comment period, with a disposition to merge, as per the review above, is now complete.

As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed.

This will be merged soon.

@rfcbot rfcbot added the to-announce Announce this issue on triage meeting label May 2, 2025
@oli-obk oli-obk removed the needs-fcp This change is insta-stable, or significant enough to need a team FCP to proceed. label May 27, 2025
@apiraino apiraino removed the to-announce Announce this issue on triage meeting label Jun 5, 2025
@oli-obk oli-obk force-pushed the one-size-fits-all branch from 93f64c5 to 36eb7d0 Compare July 2, 2025 13:55
@rust-log-analyzer

This comment has been minimized.

@oli-obk oli-obk force-pushed the one-size-fits-all branch from 36eb7d0 to 845d9ff Compare July 2, 2025 14:17
@m-ou-se
Copy link
Member

m-ou-se commented Jul 2, 2025

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 2, 2025

📌 Commit 845d9ff has been approved by m-ou-se

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 2, 2025
bors added a commit that referenced this pull request Jul 2, 2025
Rollup of 11 pull requests

Successful merges:

 - #131923 (Derive `Copy` and `Hash` for `IntErrorKind`)
 - #138340 (Remove some unsized tuple impls now that we don't support unsizing tuples anymore)
 - #141219 (Change `{Box,Arc,Rc,Weak}::into_raw` to only work with `A = Global`)
 - #142212 (bootstrap: validate `rust.codegen-backends` & `target.<triple>.codegen-backends`)
 - #142237 (Detect more cases of unused_parens around types)
 - #142964 (Attribute rework: a parser for single attributes without arguments)
 - #143070 (Rewrite `macro_rules!` parser to not use the MBE engine itself)
 - #143235 (Assemble const bounds via normal item bounds in old solver too)
 - #143261 (Feed `explicit_predicates_of` instead of `predicates_of`)
 - #143276 (loop match: handle opaque patterns)
 - #143306 (Add `track_caller` attributes to trace origin of Clippy lints)

r? `@ghost`
`@rustbot` modify labels: rollup

try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-gnu
try-job: dist-i586-gnu-i586-i686-musl
try-job: test-various
bors added a commit that referenced this pull request Jul 2, 2025
Rollup of 11 pull requests

Successful merges:

 - #131923 (Derive `Copy` and `Hash` for `IntErrorKind`)
 - #138340 (Remove some unsized tuple impls now that we don't support unsizing tuples anymore)
 - #141219 (Change `{Box,Arc,Rc,Weak}::into_raw` to only work with `A = Global`)
 - #142212 (bootstrap: validate `rust.codegen-backends` & `target.<triple>.codegen-backends`)
 - #142237 (Detect more cases of unused_parens around types)
 - #142964 (Attribute rework: a parser for single attributes without arguments)
 - #143070 (Rewrite `macro_rules!` parser to not use the MBE engine itself)
 - #143235 (Assemble const bounds via normal item bounds in old solver too)
 - #143261 (Feed `explicit_predicates_of` instead of `predicates_of`)
 - #143276 (loop match: handle opaque patterns)
 - #143306 (Add `track_caller` attributes to trace origin of Clippy lints)

r? `@ghost`
`@rustbot` modify labels: rollup

try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-gnu
try-job: dist-i586-gnu-i586-i686-musl
try-job: test-various
@bors bors merged commit 7c9a03b into rust-lang:master Jul 3, 2025
10 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jul 3, 2025
rust-timer added a commit that referenced this pull request Jul 3, 2025
Rollup merge of #138340 - oli-obk:one-size-fits-all, r=m-ou-se

Remove some unsized tuple impls now that we don't support unsizing tuples anymore

Since #137728 there is no sound way to create unsized tuples anymore. While we can't remove them from the language (tried here: #138093) due to people using `PhantomData<(T, U)>` where `U: ?Sized` (they'd have to use `(PhantomData<T>, PhantomData<U>)` now), we can remove the impls from libcore I believe.

r? libs I guess?
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. finished-final-comment-period The final comment period is finished for this PR / Issue. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs-api Relevant to the library API team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.