-
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
Update the standard library to Rust 2024 #138162
base: master
Are you sure you want to change the base?
Conversation
@bors try |
Update the standard library to Rust 2024 This updates the standard library to Rust 2024. This includes the following notable changes: - Macros are updated to use new expression fragment specifiers. This PR includes a test to illustrate the changes, primarily allowing `const {...}` expressions now. - Some tests show a change in MIR drop order. We do not believe this will be an observable change ([see zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/268952-edition/topic/standard.20library.20migration/near/500972873)). Fixes rust-lang#133081 (Draft while I do some try jobs, as this is a high-risk of breakage.) try-job: aarch64-apple try-job: aarch64-gnu try-job: arm-android try-job: armhf-gnu try-job: dist-aarch64-apple try-job: dist-aarch64-linux try-job: dist-aarch64-msvc try-job: dist-android try-job: dist-apple-various try-job: dist-arm-linux try-job: dist-armhf-linux try-job: dist-armv7-linux try-job: dist-i586-gnu-i586-i686-musl try-job: dist-i686-linux try-job: dist-i686-mingw try-job: dist-i686-msvc try-job: dist-loongarch64-linux try-job: dist-loongarch64-musl try-job: dist-ohos try-job: dist-powerpc-linux
☀️ Try build successful - checks-actions |
@bors try |
Update the standard library to Rust 2024 This updates the standard library to Rust 2024. This includes the following notable changes: - Macros are updated to use new expression fragment specifiers. This PR includes a test to illustrate the changes, primarily allowing `const {...}` expressions now. - Some tests show a change in MIR drop order. We do not believe this will be an observable change ([see zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/268952-edition/topic/standard.20library.20migration/near/500972873)). Fixes rust-lang#133081 (Draft while I do some try jobs, as this is a high-risk of breakage.) try-job: dist-powerpc64-linux try-job: dist-powerpc64le-linux try-job: dist-riscv64-linux try-job: dist-s390x-linux try-job: dist-various-1 try-job: dist-various-2 try-job: dist-x86_64-apple try-job: dist-x86_64-freebsd try-job: dist-x86_64-illumos try-job: dist-x86_64-linux try-job: dist-x86_64-mingw try-job: dist-x86_64-msvc try-job: dist-x86_64-musl try-job: dist-x86_64-netbsd try-job: i686-gnu-1 try-job: i686-gnu-2 try-job: i686-mingw-1 try-job: i686-mingw-2 try-job: i686-mingw-3 try-job: i686-msvc-1
⌛ Trying commit fab07c3 with merge d5db9948be8ef00a4525ae10add3f9f79e9c3d27... |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
☔ The latest upstream changes (presumably #138208) made this pull request unmergeable. Please resolve the merge conflicts. |
2df2508
to
39d5d92
Compare
@bors try |
Update the standard library to Rust 2024 This updates the standard library to Rust 2024. This includes the following notable changes: - Macros are updated to use new expression fragment specifiers. This PR includes a test to illustrate the changes, primarily allowing `const {...}` expressions now. - Some tests show a change in MIR drop order. We do not believe this will be an observable change ([see zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/268952-edition/topic/standard.20library.20migration/near/500972873)). Fixes rust-lang#133081 (Draft while I do some try jobs, as this is a high-risk of breakage.) try-job: dist-powerpc64le-linux try-job: i686-gnu-1 try-job: i686-msvc-1 try-job: i686-msvc-2 try-job: mingw-check try-job: test-various try-job: x86_64-apple-1 try-job: x86_64-apple-2 try-job: x86_64-fuchsia try-job: x86_64-gnu-distcheck try-job: x86_64-gnu-tools try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: x86_64-msvc-ext1 try-job: x86_64-msvc-ext2 try-job: x86_64-msvc-ext3 try-job: x86_64-rust-for-linux
⌛ Trying commit 39d5d92 with merge fc2f6df187740a61ca2241b22b3748ae663a2e2d... |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
@bors try (weird random stack overflow in x86_64-mingw-1) |
Update the standard library to Rust 2024 This updates the standard library to Rust 2024. This includes the following notable changes: - Macros are updated to use new expression fragment specifiers. This PR includes a test to illustrate the changes, primarily allowing `const {...}` expressions now. - Some tests show a change in MIR drop order. We do not believe this will be an observable change ([see zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/268952-edition/topic/standard.20library.20migration/near/500972873)). Fixes rust-lang#133081 (Draft while I do some try jobs, as this is a high-risk of breakage.) try-job: dist-powerpc64le-linux try-job: i686-gnu-1 try-job: i686-msvc-1 try-job: i686-msvc-2 try-job: x86_64-apple-1 try-job: x86_64-gnu-tools try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: x86_64-msvc-1 try-job: x86_64-msvc-2 try-job: x86_64-msvc-ext1 try-job: x86_64-msvc-ext2 try-job: x86_64-msvc-ext3
⌛ Trying commit 39d5d92 with merge 4758198d7efd16e1e2e77180e300780b6b3eb881... |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Posted #138248 with the current blocker here. |
@@ -1064,7 +1064,7 @@ mod move_keyword {} | |||
/// ```rust,compile_fail,E0502 | |||
/// let mut v = vec![0, 1]; | |||
/// let mut_ref_v = &mut v; | |||
/// ##[allow(unused)] | |||
/// # #[allow(unused)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this ## -> # #
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a workaround for #136899. Sorry, should have mentioned that in the description.
When migrating the standard library to 2024, there will be some behavior changes that users will be able to observe. This test should cover that (I cannot think of any other observable differences).
@bors try |
Update the standard library to Rust 2024 This updates the standard library to Rust 2024. This includes the following notable changes: - Macros are updated to use new expression fragment specifiers. This PR includes a test to illustrate the changes, primarily allowing `const {...}` expressions now. - Some tests show a change in MIR drop order. We do not believe this will be an observable change ([see zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/268952-edition/topic/standard.20library.20migration/near/500972873)). Fixes rust-lang#133081 (Draft while I do some try jobs, as this is a high-risk of breakage.) try-job: dist-powerpc64le-linux try-job: i686-gnu-1 try-job: i686-msvc-1 try-job: i686-msvc-2 try-job: x86_64-mingw-1 try-job: x86_64-mingw-2 try-job: x86_64-msvc-1 try-job: x86_64-msvc-ext1 try-job: x86_64-msvc-ext3
StorageDead(_8); | ||
StorageDead(_5); | ||
StorageDead(_2); | ||
StorageDead(_10); | ||
StorageDead(_8); | ||
StorageDead(_7); | ||
StorageDead(_5); | ||
StorageDead(_4); | ||
StorageDead(_2); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is obviously not the main point of e2024, but it's fun to see that these just end up in decreasing order now. It obviously doesn't actually matter, but it's a nice indication that how the temporaries are getting cleaned up really is in a more reasonable order.
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
@bors try |
Update the standard library to Rust 2024 This updates the standard library to Rust 2024. This includes the following notable changes: - Macros are updated to use new expression fragment specifiers. This PR includes a test to illustrate the changes, primarily allowing `const {...}` expressions now. - Some tests show a change in MIR drop order. We do not believe this will be an observable change ([see zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/268952-edition/topic/standard.20library.20migration/near/500972873)). Fixes rust-lang#133081 (Draft while I do some try jobs, as this is a high-risk of breakage.) try-job: dist-powerpc64le-linux try-job: i686-gnu-1 try-job: i686-msvc-1 try-job: x86_64-mingw-1 try-job: x86_64-msvc-1 try-job: x86_64-msvc-ext1 try-job: x86_64-msvc-ext3
This updates the standard library to Rust 2024. This includes the following notable changes:
const {...}
expressions now.Fixes #133081
(Draft while I do some try jobs, as this is a high-risk of breakage.)
try-job: dist-powerpc64le-linux
try-job: i686-gnu-1
try-job: i686-msvc-1
try-job: x86_64-mingw-1
try-job: x86_64-msvc-1
try-job: x86_64-msvc-ext1
try-job: x86_64-msvc-ext3