-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Rollup of 13 pull requests #142613
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
Rollup of 13 pull requests #142613
Conversation
Streamlined the explanation of covariance for `NonNull<T>`, focusing on practical usage and reducing scary explanation. Added a concise example for cases where invariance is required, showing how to use `PhantomData<Cell<T>> Signed-off-by: xizheyin <[email protected]>
In particular, there should be no additional errors (default field values for `union` fields are currently erroneously accepted).
more information to Display implementation for BorrowError/BorrowMutError - The BorrowError/BorrowMutError Debug implementations do not print anything differently from what the derived implementation does, so we don't need it. - This change also adds the location field of BorrowError/BorrowMutError to the the Display output when it is present, rewords the error message, and uses the Display trait for outputting the error message instead of Debug.
It's actually used as a counter so update the name to reflect that.
In a PR to emit warnings on misuse of `--print native-static-libs`, we did not consider the matter of composing parts of build systems. If you are not directly invoking rustc, it can be difficult to know when you will in fact compile a staticlib, so making sure everyone uses `--print native-static-lib` correctly can be just a nuisance. This reverts the following commits: - f66787a - 72a9219 - 98bb597 - c59b708 Next cycle we can reland a slightly more narrowly focused variant or one that focuses on `--emit` instead of `--print native-static-libs`. But in its current state, I am not sure the warning is very useful.
This minimizes the chance of two PRs changing it from N to N+1.
…u` unwind mechanism
Make performance description of String::{insert,insert_str,remove} more precise
std: refactor explanation of `NonNull` Fixes rust-lang#141933 I cut out the excessive explanation and used an example to explain how to maintain invariance, but I think what is quoted in the *rust reference* in the document needs to be added with a more layman's explanation and example. (I'm not sure if I deleted too much) r? `@workingjubilee`
Miscellaneous RefCell cleanups - Clarify `RefCell` error messages when borrow rules are broken - Remove `Debug` impl for `BorrowError`/`BorrowMutError` since `#derive(Debug)` provides identical functionality - Rename `BorrowFlag` to `BorrowCounter`
…r=SparrowLii Manually invalidate caches in SimplifyCfg. The current `SimplifyCfg` pass unconditionally invalidates CFG caches. This is unfortunate if there are no modifications that require this invalidation.
…i865 Refine run-make test ignores due to unpredictable `i686-pc-windows-gnu` unwind mechanism Closes rust-lang#128911. This PR *re-enables* the `dump-ice-to-disk` test and the unstable feature usage metrics tests for {x86_64,i686} Windows MSVC hosts and x86_64 Windows GNU host. I'll keep an eye out for these tests, and will broaden the ignores if this test is still flaky on not just `i686-pc-windows-gnu`. r? mati865 try-job: x86_64-msvc-1 try-job: i686-msvc-1 try-job: x86_64-mingw-1
Reject union default field values Fixes rust-lang#142555. The [`default_field_values` RFC][rfc] does not specify that default field values may be used on `union`s, and it's not clear how default field values may be used with `union`s without an design extension to the RFC. So, for now, reject trying to use default field values with `union`s. ### Review notes - The first commit adds the `union` with default field values test case to `tests/ui/structs/default-field-values/failures.rs`, where `union`s with default field values are currently accepted. - The second commit rejects trying to supply default field values to `union` definitions. - When `default_field_values` feature gate is disabled, we show the feature gate error when the user tries to write `union`s with default field values. When the feature gate is enabled, we reject this usage with > unions cannot have default field values ``@rustbot`` label: +F-default_field_values [rfc]: https://rust-lang.github.io/rfcs/3681-default-field-values.html
Handle same-crate macro for borrowck semicolon suggestion Handles rust-lang#142543 (comment) cc ``@m-ou-se`` r? ``@fmease``
Update books ## rust-lang/book 1 commits in 634724ea85ebb08a542970bf8871ac8b0f77fd15..4433c9f0cad8460bee05ede040587f8a1fa3f1de 2025-06-03 16:34:00 UTC to 2025-06-03 16:34:00 UTC - Chapter 11 from tech review (rust-lang/book#4391) ## rust-lang/reference 10 commits in 8e0f593a30f3b56ddb0908fb7ab9249974e08738..d4c66b346f4b72d29e70390a3fa3ea7d4e064db1 2025-06-13 17:05:11 UTC to 2025-06-03 21:28:42 UTC - Align pattern destructuring with rest of patterns documentation (rust-lang/reference#1853) - Use extern "system" instead of "stdcall" in example (rust-lang/reference#1854) - Mention that `thiscall` is a 32-bit calling convention (rust-lang/reference#1855) - Add doc for keylocker target features (rust-lang/reference#1829) - Add doc for `sha512`, `sm3` and `sm4` target features (rust-lang/reference#1830) - Fix(typo): 'though' should be 'through' (rust-lang/reference#1850) - intro note: make text more simple (rust-lang/reference#1844) - nit: add missing period (rust-lang/reference#1843) - add a warning about using `safe` on extern c-variadic functions (rust-lang/reference#1839) - remove the `safe` keyword from a c-variadic foreign function. (rust-lang/reference#1838) ## rust-lang/rust-by-example 3 commits in 21f4e32b8b40d36453fae16ec07ad4b857c445b6..9baa9e863116cb9524a177d5a5c475baac18928a 2025-06-11 13:00:27 UTC to 2025-06-10 12:43:14 UTC - introduce new ``@media`` query to set a higher content width on ultra wide screens (rust-lang/rust-by-example#1937) - Fix syntax highligting (rust-lang/rust-by-example#1935) - fix(rust-lang#1656): update doc tests to use `playground` as the crate name (rust-lang/rust-by-example#1934)
…t-field-def, r=fmease Fold unnecessary `visit_struct_field_def` in AstValidator We don't need it anymore since we removed the `_: struct { }` syntax experiment.
…lds, r=jieyouxu Make sure to propagate result from `visit_expr_fields` We weren't propagating the `ControlFlow::Break` out of a struct field, which means that the solution implemented in rust-lang#130443 didn't work for nested fields. Fixes rust-lang#142525.
…39, r=ChrisDenton Revert overeager warning for misuse of `--print native-static-libs` In a PR to emit warnings on misuse of `--print native-static-libs`, we did not consider the matter of composing parts of build systems. If you are not directly invoking rustc, it can be difficult to know when you will in fact compile a staticlib, so making sure uses `--print native-static-lib` correctly can be just a nuisance. Next cycle we can reland a slightly more narrowly focused variant or one that focuses on `--emit` instead of `--print native-static-libs`. But in its current state, I am not sure the warning is very useful.
@bors r+ rollup=never p=5 |
@bors r- |
@bors2 try jobs=dist-apple-various |
Rollup of 13 pull requests Successful merges: - #138538 (Make performance description of String::{insert,insert_str,remove} more precise) - #141946 (std: refactor explanation of `NonNull`) - #142216 (Miscellaneous RefCell cleanups) - #142542 (Manually invalidate caches in SimplifyCfg.) - #142563 (Refine run-make test ignores due to unpredictable `i686-pc-windows-gnu` unwind mechanism) - #142570 (Reject union default field values) - #142584 (Handle same-crate macro for borrowck semicolon suggestion) - #142585 (Update books) - #142586 (Fold unnecessary `visit_struct_field_def` in AstValidator) - #142587 (Make sure to propagate result from `visit_expr_fields`) - #142595 (Revert overeager warning for misuse of `--print native-static-libs`) - #142598 (Set elf e_flags on ppc64 targets according to abi) - #142601 (Add a comment to `FORMAT_VERSION`.) r? `@ghost` `@rustbot` modify labels: rollup <!-- homu-ignore:start --> [Create a similar rollup](https://bors.rust-lang.org/queue/rust?prs=138538,141946,142216,142542,142563,142570,142584,142585,142586,142587,142595,142598,142601) <!-- homu-ignore:end --> try-job: dist-apple-various
@bors r+ |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 86d0aef (parent) -> f3db639 (this PR) Test differencesShow 292 test diffsStage 1
Stage 2
Additionally, 279 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard f3db63916e541ff039ac3cd7364c2d612749b61b --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
📌 Perf builds for each rolled up PR:
previous master: 86d0aef804 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Successful merges:
NonNull
#141946 (std: refactor explanation ofNonNull
)i686-pc-windows-gnu
unwind mechanism #142563 (Refine run-make test ignores due to unpredictablei686-pc-windows-gnu
unwind mechanism)visit_struct_field_def
in AstValidator #142586 (Fold unnecessaryvisit_struct_field_def
in AstValidator)visit_expr_fields
#142587 (Make sure to propagate result fromvisit_expr_fields
)--print native-static-libs
#142595 (Revert overeager warning for misuse of--print native-static-libs
)FORMAT_VERSION
. #142601 (Add a comment toFORMAT_VERSION
.)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup