-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Remove unsizing coercions for tuples #137728
Conversation
r? @Nadrieril rustbot has assigned @Nadrieril. Use |
The Miri subtree was changed cc @rust-lang/miri rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead. cc @rust-lang/rust-analyzer |
Does this mean we can't ever have unstable unsizing coercions again? That seems problematic? |
I replied to that on the tracking issue. |
This comment has been minimized.
This comment has been minimized.
Let's crater this just to see if anything interesting in the ecosystem is using this. Nightly feature gates are definitely free to be removed regardless, but it would be a good data point. @bors try |
Remove unsizing coercions for tuples See rust-lang#42877 (comment) and below comments for justification. Tracking issue: rust-lang#42877 Fixes: rust-lang#135217
☀️ Try build successful - checks-actions |
@craterbot check |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🎉 Experiment
|
The only real failure is in a game engine that seems to be entirely C++ nowadays: https://github.com/inexorgame/vulkan-renderer |
What is the correct way to list an unstable feature as removed? Right now, I just completely remove the feature, so |
You can add it to the list in https://github.com/rust-lang/rust/blob/8cab0ba91afce2b9f0c0947e61a2d2ace329ca48/compiler/rustc_feature/src/removed.rs |
Done. |
The type system still assumes unsized tuples can exist, but now there is no way to produce them. @rust-lang/types Should we make the |
I personally think so, but believe this requires an FCP. I would like to do this in a separate PR. Right now |
Rollup of 20 pull requests Successful merges: - rust-lang#134063 (dec2flt: Clean up float parsing modules) - rust-lang#136581 (Retire the legacy `Makefile`-based `run-make` test infra) - rust-lang#136662 (Count char width at most once in `Formatter::pad`) - rust-lang#136764 (Make `ptr_cast_add_auto_to_object` lint into hard error) - rust-lang#136798 (Added documentation for flushing per rust-lang#74348) - rust-lang#136865 (Perform deeper compiletest path normalization for `$TEST_BUILD_DIR` to account for compare-mode/debugger cases, and normalize long type file filename hashes) - rust-lang#136975 (Look for `python3` first on MacOS, not `py`) - rust-lang#136977 (Upload Datadog metrics with citool) - rust-lang#137240 (Slightly reformat `std::fs::remove_dir_all` error docs) - rust-lang#137298 (Check signature WF when lowering MIR body) - rust-lang#137463 ([illumos] attempt to use posix_spawn to spawn processes) - rust-lang#137477 (uefi: Add Service Binding Protocol abstraction) - rust-lang#137569 (Stabilize `string_extend_from_within`) - rust-lang#137633 (Only use implied bounds hack if bevy, and use deeply normalize in implied bounds hack) - rust-lang#137679 (Various coretests improvements) - rust-lang#137723 (Make `rust.description` more general-purpose and pass `CFG_VER_DESCRIPTION`) - rust-lang#137728 (Remove unsizing coercions for tuples) - rust-lang#137731 (Resume one waiter at once in deadlock handler) - rust-lang#137875 (mir_build: Integrate "simplification" steps into match-pair-tree creation) - rust-lang#138028 (compiler: add `ExternAbi::is_rustic_abi`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#137728 - Darksonn:no-tuple-unsize, r=oli-obk Remove unsizing coercions for tuples See rust-lang#42877 (comment) and below comments for justification. Tracking issue: rust-lang#42877 Fixes: rust-lang#135217
Make tuples implicitly sized Since rust-lang#137728 there is no sound way to create unsized tuples anymore. Let's see if we can get away with making tuples unsized at least as far as crater is concerned. With that information we can then discuss whether to actually do this or what path forward we have. r? `@ghost`
See #42877 (comment) and below comments for justification.
Tracking issue: #42877
Fixes: #135217