forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 46
Update subtree/library to 2025-04-07 #321
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
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Currently, `write` for stdout and stderr on Trusty is implemented with the semantics of `write_all`. Instead, call the underlying syscall only once in `write` and use the default implementation of `write_all` like other platforms. Also, implement `write_vectored` by adding support for `IoSlice`. Refactor stdin to reuse the unsupported type like rust-lang#136769.
Generates branchless code
This avoids generating extra instructions that needlessly modify the slice's pointer
Following `rust-lang#135937` and `rust-lang#136642`, tests for core and alloc are in coretests and alloctests. Fix tidy to lint for the new paths. Also, update comments referring to the old locations. Some context for changes which don't match that pattern: * library/std/src/thread/local/dynamic_tests.rs and library/std/src/sync/mpsc/sync_tests.rs were moved under library/std/tests/ in 332fb7e (Move std::thread_local unit tests to integration tests, 2025-01-17) and b8ae372 (Move std::sync unit tests to integration tests, 2025-01-17), respectively, so are no longer special cases. * There never was a library/core/tests/fmt.rs file. That comment previously referred to src/test/ui/ifmt.rs, which was folded into library/alloc/tests/fmt.rs in 949c966 (move format! interface tests, 2020-09-08).
compiler & tools dependencies: Locking 11 packages to latest compatible versions Updating blake3 v1.8.0 -> v1.8.1 Updating ctrlc v3.4.5 -> v3.4.6 Updating env_logger v0.11.7 -> v0.11.8 Updating errno v0.3.10 -> v0.3.11 Updating flate2 v1.1.0 -> v1.1.1 Updating indexmap v2.8.0 -> v2.9.0 Updating miniz_oxide v0.8.5 -> v0.8.7 Updating openssl-sys v0.9.106 -> v0.9.107 Updating redox_syscall v0.5.10 -> v0.5.11 Updating smallvec v1.14.0 -> v1.15.0 Updating tokio v1.44.1 -> v1.44.2 note: pass `--verbose` to see 40 unchanged dependencies behind latest library dependencies: Locking 1 package to latest compatible version Updating miniz_oxide v0.8.5 -> v0.8.7 note: pass `--verbose` to see 4 unchanged dependencies behind latest rustbook dependencies: Locking 30 packages to latest compatible versions Updating cc v1.2.17 -> v1.2.18 Updating clap v4.5.32 -> v4.5.35 Updating clap_builder v4.5.32 -> v4.5.35 Updating darling v0.20.10 -> v0.20.11 Updating darling_core v0.20.10 -> v0.20.11 Updating darling_macro v0.20.10 -> v0.20.11 Updating env_logger v0.11.7 -> v0.11.8 Updating errno v0.3.10 -> v0.3.11 Updating flate2 v1.1.0 -> v1.1.1 Updating iana-time-zone v0.1.61 -> v0.1.63 Updating icu_locid_transform_data v1.5.0 -> v1.5.1 Updating icu_normalizer_data v1.5.0 -> v1.5.1 Updating icu_properties_data v1.5.0 -> v1.5.1 Updating indexmap v2.8.0 -> v2.9.0 Updating log v0.4.26 -> v0.4.27 Updating miniz_oxide v0.8.5 -> v0.8.7 Updating once_cell v1.21.1 -> v1.21.3 Updating pest v2.7.15 -> v2.8.0 Updating pest_derive v2.7.15 -> v2.8.0 Updating pest_generator v2.7.15 -> v2.8.0 Updating pest_meta v2.7.15 -> v2.8.0 Updating redox_syscall v0.5.10 -> v0.5.11 Updating rustix v1.0.3 -> v1.0.5 Updating smallvec v1.14.0 -> v1.15.0 Updating string_cache v0.8.8 -> v0.8.9 Updating windows-core v0.52.0 -> v0.61.0 Adding windows-implement v0.60.0 Adding windows-interface v0.59.1 Adding windows-result v0.3.2 Adding windows-strings v0.4.0
… r=bjorn3 tidy: Fix paths to `coretests` and `alloctests` Following `rust-lang#135937` and `rust-lang#136642`, tests for core and alloc are in coretests and alloctests. Fix tidy to lint for the new paths. Also, update comments referring to the old locations. Some context for changes which don't match that pattern: - `library/std/src/thread/local/dynamic_tests.rs` and `library/std/src/sync/mpsc/sync_tests.rs` were moved under `library/std/tests/` in 332fb7e (Move std::thread_local unit tests to integration tests, 2025-01-17) and b8ae372 (Move std::sync unit tests to integration tests, 2025-01-17), respectively, so are no longer special cases. - There never was a `library/core/tests/fmt.rs` file. That comment previously referred to `src/test/ui/ifmt.rs`, which was folded into `library/alloc/tests/fmt.rs` in 949c966 (move format! interface tests, 2020-09-08). Now, the only matches for `(alloc|core)/tests` are in `compiler/rustc_codegen_{cranelift,gcc}/patches`. I don't know why CI hasn't broken because those patches can't apply. Or maybe they somehow still can apply? r? `@bjorn3`
Optimize slice {Chunks,Windows}::nth I've noticed that the `nth` functions on slice iters had non-optimized-out bounds checks. The new implementation even generates branchless code.
Trusty: Implement `write_vectored` for stdio Currently, `write` for stdout and stderr on Trusty is implemented with the semantics of `write_all`. Instead, call the underlying syscall only once in `write` and use the default implementation of `write_all` like other platforms. Also, implement `write_vectored` by adding support for `IoSlice`. Refactor stdin to reuse the unsupported type like rust-lang#136769. It requires rust-lang#138875 to fix the build for Trusty, though they do not conflict and can merge in either order. cc `@randomPoison`
…k-Simulacrum Add `slice::align_to_uninit_mut` Add new `slice::align_to_uninit_mut` method. Tracking issue: rust-lang#139062 ACP: rust-lang/libs-team#564
…r=Urgau Add `*_value` methods to proc_macro lib This is the (re-)implementation of rust-lang/libs-team#459. It allows to get the actual value (unescaped) of the different string literals. It was originally done in rust-lang#136355 but it broke the artifacts build so we decided to move the crate to crates.io to go around this limitation. Part of rust-lang#136652. Considering this is a copy-paste of the originally approved PR, no need to go through the whole process again. \o/ r? `@Urgau`
Weekly `cargo update` Automation to keep dependencies in `Cargo.lock` current. The following is the output from `cargo update`: ```txt compiler & tools dependencies: Locking 11 packages to latest compatible versions Updating blake3 v1.8.0 -> v1.8.1 Updating ctrlc v3.4.5 -> v3.4.6 Updating env_logger v0.11.7 -> v0.11.8 Updating errno v0.3.10 -> v0.3.11 Updating flate2 v1.1.0 -> v1.1.1 Updating indexmap v2.8.0 -> v2.9.0 Updating miniz_oxide v0.8.5 -> v0.8.7 Updating openssl-sys v0.9.106 -> v0.9.107 Updating redox_syscall v0.5.10 -> v0.5.11 Updating smallvec v1.14.0 -> v1.15.0 Updating tokio v1.44.1 -> v1.44.2 note: pass `--verbose` to see 40 unchanged dependencies behind latest library dependencies: Locking 1 package to latest compatible version Updating miniz_oxide v0.8.5 -> v0.8.7 note: pass `--verbose` to see 4 unchanged dependencies behind latest rustbook dependencies: Locking 30 packages to latest compatible versions Updating cc v1.2.17 -> v1.2.18 Updating clap v4.5.32 -> v4.5.35 Updating clap_builder v4.5.32 -> v4.5.35 Updating darling v0.20.10 -> v0.20.11 Updating darling_core v0.20.10 -> v0.20.11 Updating darling_macro v0.20.10 -> v0.20.11 Updating env_logger v0.11.7 -> v0.11.8 Updating errno v0.3.10 -> v0.3.11 Updating flate2 v1.1.0 -> v1.1.1 Updating iana-time-zone v0.1.61 -> v0.1.63 Updating icu_locid_transform_data v1.5.0 -> v1.5.1 Updating icu_normalizer_data v1.5.0 -> v1.5.1 Updating icu_properties_data v1.5.0 -> v1.5.1 Updating indexmap v2.8.0 -> v2.9.0 Updating log v0.4.26 -> v0.4.27 Updating miniz_oxide v0.8.5 -> v0.8.7 Updating once_cell v1.21.1 -> v1.21.3 Updating pest v2.7.15 -> v2.8.0 Updating pest_derive v2.7.15 -> v2.8.0 Updating pest_generator v2.7.15 -> v2.8.0 Updating pest_meta v2.7.15 -> v2.8.0 Updating redox_syscall v0.5.10 -> v0.5.11 Updating rustix v1.0.3 -> v1.0.5 Updating smallvec v1.14.0 -> v1.15.0 Updating string_cache v0.8.8 -> v0.8.9 Updating windows-core v0.52.0 -> v0.61.0 Adding windows-implement v0.60.0 Adding windows-interface v0.59.1 Adding windows-result v0.3.2 Adding windows-strings v0.4.0 ```
carolynzech
approved these changes
Apr 14, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an automated PR to update the subtree/library branch to the changes from 2025-04-04 (rust-lang/rust@00095b3) to 2025-04-07 (rust-lang/rust@2fa8b11), inclusive.
Review this PR as usual, but do not merge this PR using the GitHub web interface. Instead, once it is approved, use
git push
to literally push the changes tosubtree/library
without any rebase or merge.