Rollup of 19 pull requests#155416
Merged
rust-bors[bot] merged 43 commits intorust-lang:mainfrom Apr 17, 2026
Merged
Conversation
* Extend `core::char`'s documentation of casing issues * Fix typos * Fix typo Co-authored-by: GrigorenkoPV <GrigorenkoPV+github@yandex.ru> * Document maximum 3x character expansion This is guaranteed by Unicode. * Fix error in `str` casing method docs
Another interal change that shouldn't impact rustc users. To prepare for the upcoming split of visit_type, we reorganise the instances of `cx.tcx.try_normalize_erasing_regions(cx.typing_env(), ty).unwrap_or(ty)` into a helper function outside of the main structs.
We don't consider it a bug that users can't break on initialization of some non-zero sized types (see comment on `maximally-steppable` at the top of the file), so it does not make sense to consider it a bug that users can't break on initialization of some zero-sized types.
When a type alias is locally re-exported from a private module (an implicit inline), rustdoc drops its `cfg` attributes because it treats it like a standard un-inlined re-export. Since type aliases have no inner fields to carry the `cfg` badge (unlike structs or enums), the portability info is lost entirely. This patch explicitly preserves the target's `cfg` metadata when the generated item is a `TypeAliasItem`, ensuring the portability badge renders correctly without breaking standard cross-crate re-export behavior.
For no apparent reason it's in a different file to `Token` itself. This commit moves it.
`rustc_ast_pretty::pp` defines `Printer` and has a 346 line `impl Printer` block for it. `rustc_ast_pretty::pp::convenience` has another `impl Printer` block with 85 lines. `rustc_ast_pretty::helpers` has another `impl Printer` block with 45 lines. This commit merges the two small `impl Printer` blocks into the bigger one, because there is no good reason for them to be separate. Doing this eliminates the `rustc_ast_pretty::pp::convenience` and `rustc_ast_pretty::helpers` modules; no great loss given that they were small and had extremely generic names.
so that we can check whether a type implements the trait
…ility tool to work with rustdoc
This directive was only being used by one test, which can just as easily use the more general `//@ failure-status` directive instead. All of the removed exit-code checks were redundant with other exit-code checks that are still present.
Suggest to bind `self.x` to `x` when field `x` may be in format string Fixes rust-lang#141350 I added the new test in the first commit, and committed the changes in the second one. r? @fmease cc @mejrs
c-variadic: fix implementation on `avr` tracking issue: rust-lang#44930 cc target maintainer @Patryk27 I ran into multiple issues, and although with this PR and a little harness I can run the test with qemu on avr, the implementation is perhaps not ideal. The problem we found is that on `avr` the `c_int/c_uint` types are `i16/u16`, and this was not handled in the c-variadic checks. Luckily there is a field in the target configuration that contains the targets `c_int_width`. However, this field is not actually used in `core` at all, there the 16-bit targets are just hardcoded. https://github.com/rust-lang/rust/blob/1500f0f47f5fe8ddcd6528f6c6c031b210b4eac5/library/core/src/ffi/primitives.rs#L174-L185 Perhaps we should expose this like endianness and pointer width? --- Finally there are some changes to the test to make it compile with `no_std`.
…Simulacrum,GuillaumeGomez Extend `core::char`'s documentation of casing issues (and fix a rustdoc bug) @rustbot label A-unicode A-docs
Use mutable pointers for Unix path buffers This gets mutable pointers for Unix path buffers to ensure they have the right provenance.
…jieyouxu Bump bootstrap to 1.96 beta See https://forge.rust-lang.org/release/process.html#default-branch-bootstrap-update-tuesday I think this will wind up needing another PR in a week or so when we pick up assert_matches getting destabilized in beta? But that seems like it can be split into its own PR.
…, r=mejrs Remove AttributeSafety from BUILTIN_ATTRIBUTES Encodes the expected attribute safety in the attribute parsers, rather than in `BUILTIN_ATTRIBUTES`, with the goal of removing `BUILTIN_ATTRIBUTES` soon. We can remove the old attribute safety logic already because unparsed attributes, just like the as of yet unparsed lint attributes, need to be safe. r? @jdonszelmann (or @mejrs if you feel like doing it, since you are in T-compiler now 🎉)
Member
Author
|
Rollup of everything.
@bors r+ rollup=never p=5 |
Contributor
This comment has been minimized.
This comment has been minimized.
Contributor
Contributor
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 1b8f2e4 (parent) -> 27dbdb5 (this PR) Test differencesShow 528 test diffsStage 1
Stage 2
Additionally, 522 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 27dbdb57a2f90b5c90247e6ef14f2657a03473da --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Collaborator
|
📌 Perf builds for each rolled up PR:
previous master: 1b8f2e46e1 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
This was referenced Apr 17, 2026
This file contains hidden or 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
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.
Successful merges:
self.xtoxwhen fieldxmay be in format string #141633 (Suggest to bindself.xtoxwhen fieldxmay be in format string)avr#152980 (c-variadic: fix implementation onavr)core::char's documentation of casing issues (and fix a rustdoc bug) #154491 (Extendcore::char's documentation of casing issues (and fix a rustdoc bug))doc(cfg)on locally re-exported type aliases #154970 (rustdoc: preservedoc(cfg)on locally re-exported type aliases)convert_while_asciiunsafe #155305 (Makeconvert_while_asciiunsafe)rustc_ast_pretty#155383 (Rearrangerustc_ast_pretty)box_newdiagnostic item for Box::new suggestions #155386 (Usebox_newdiagnostic item for Box::new suggestions)QueryJob::latchmethod #155391 (Small refactor ofQueryJob::latchmethod)as_ref_uncheckeddocs link fix #155396 (as_ref_uncheckeddocs link fix)//@ should-icedirective #155411 (compiletest: Remove the//@ should-icedirective)std::fs::hard_linkdocumentation #155413 (fix: typo instd::fs::hard_linkdocumentation)r? @ghost
Create a similar rollup