Repository navigation
Rollup of 7 pull requests - #164418
Rollup of 7 pull requests#164418
Conversation
9c1eb80 broke the compilation of all the Windows 7 targets. The mistake is trivial though: a `cfg` attribute remnant. Indeed, the `is_console` function internally handles the Win7 case already, so is effectively always available. This therefore removes the extraneous attribute in order to fix the Win7 compilation. Signed-off-by: Paul Mabileau <paul.mabileau@harfanglab.fr>
Another small issue introduced by the same commit are some warnings about `MaybeUninit` and other C constants being unused in the modules modified here. This is also a trivial oversight: it is now only used under non-Win7 targets. This therefore fixes that by gating the import and the definitions adequately. Signed-off-by: Paul Mabileau <paul.mabileau@harfanglab.fr>
…ng, r=ChrisDenton Drop WC_ERR_INVALID_CHARS from Windows stdio This PR builds on top of rust-lang#164170 and refactors the transcoding of UTF8 output to UTF16 for use with `WriteConsoleW`. Previously, the stdlib would reject any non-UTF8 strings. I argue that this is unreasonable, as historically the Windows console is a pure character device. It makes no difference to it whether text is in an invalid encoding, as such text is always represented as U+FFFD. As such, it also makes no difference if we sanitize it with U+FFFD. This is still true today, despite Windows' more modern, true PTYs. Assuming I'm right, this PR presents a major simplification: Output is not double-checked for validity anymore. Instead, its fed directly into `MultiByteToWideChar`. THe only thing we still need to do is splice chunked UTF8 output together, as well as we can. This permits us to increase the buffer size from 8Ki to 64Ki wchars, which roughly doubles throughput over the current main branch. To make the stdout behave identical to stdin, this PR also removes `MB_ERR_INVALID_CHARS` from the `WideCharToMultiByte` call. ### Linewise output of `RELEASES.md`: Output | Version | lines/s | MB/s | Speedup --------|----------|--------:|------:|-------- console | 1.99.0 | 31526 | 1.79 | console | nightly | 29251 | 1.66 | console | rust-lang#164170 | 67294 | 3.82 | 2.13x console | **this** | 73211 | 4.15 | 2.32x `NUL` | 1.99.0 | 784311 | 44.50 | `NUL` | nightly | 776529 | 44.06 | `NUL` | rust-lang#164170 | 1141618 | 64.78 | 1.46x `NUL` | **this** | 1129683 | 64.10 | 1.44x ### 128KiB chunked passthrough of `enwik8`: Output | Version | MB/s | Speedup --------|----------|--------:|-------- console | 1.99.0 | 86.99 | console | nightly | 165.27 | 1.90x console | rust-lang#164170 | 165.61 | 1.90x console | **this** | 303.51 | 3.49x `NUL` | 1.99.0 | 1123.82 | `NUL` | nightly | 1137.30 | `NUL` | rust-lang#164170 | 1289.35 | `NUL` | **this** | 1294.18 |
…en-no-target-expr, r=petrochenkov delegation: map return even if there is no target expression When we can perform `Self` mapping and there is no target expression we still should map the return value. Part of rust-lang#118212. r? @petrochenkov
…big-142147, r=GuillaumeGomez rustdoc: add disambiguators for identically named method in sidebar fixes rust-lang#142147 also affects associated fns. main improvments are to pointer and box docs. before: <img width="264" height="439" alt="image" src="https://github.com/user-attachments/assets/8347c2b8-88cb-470f-beb3-6cb377ca37f0" /> after: <img width="693" height="576" alt="image" src="https://github.com/user-attachments/assets/478d1ef5-7a1e-4024-a796-d2b0fd0f5a49" />
…bs, r=notriddle,lolbinarycat [rustdoc] Add tabs to settings popover Fixes rust-lang#137050. Looks like this: <img width="497" height="370" alt="Screenshot From 2026-09-23 18-48-19" src="https://github.com/user-attachments/assets/194f4764-ceb2-4553-a60b-1166b60a238e" /> <img width="951" height="430" alt="Screenshot From 2026-09-23 18-48-33" src="https://github.com/user-attachments/assets/d336952c-0aae-44a9-967e-95b9a482e727" /> Can be tested [here](https://guillaume-gomez.fr/rustdoc/settings-popover-tabs/foo/index.html). `tests/rustdoc-gui` changes are because we now have tabs in the settings menu. So the new feature is tested without adding a new test, yeay. =D r? @notriddle
…nic, r=GuillaumeGomez Test the interaction between `--remap-path-prefix` and doctests This PR adds a run-make test to test the interaction between `--remap-path-prefix` and doctests. Related to rust-lang#163895 (comment)
…ue-164180, r=khyperia Fix check with `is_impl_trait_in_trait()` before expecting local id Fix an ICE when implementing a const generic method with return position `impl Trait` from another crate `RPITIT` r? khyperia fixes rust-lang#164180
…tion, r=ChrisDenton Fix(lib/sys): Restore Win7 compilation Fixes rust-lang#164340. 9c1eb80 broke the compilation of all the Windows 7 targets. The mistake is trivial though: a `cfg` attribute remnant. Indeed, the `is_console` function internally handles the Win7 case already, so is effectively always available. This therefore removes the extraneous attribute in order to fix the Win7 compilation. Another small issue introduced by the same commit are some warnings about `MaybeUninit` and other C constants being unused in the modules modified here. This is also a trivial oversight: it is now only used under non-Win7 targets. This therefore fixes that by gating the import and the definitions adequately. @rustbot label O-windows-7 C-bug T-libs
This comment has been minimized.
This comment has been minimized.
Rollup of 7 pull requests try-job: dist-various-1 try-job: test-various try-job: test-x86_64-gnu-aux try-job: test-x86_64-msvc-1 try-job: test-aarch64-apple-1 try-job: test-aarch64-apple-2 try-job: test-x86_64-mingw-1 try-job: test-i686-msvc try-job: test-armhf-gnu try-job: test-x86_64-gnu-llvm-22-3
This comment has been minimized.
This comment has been minimized.
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 3e014ee (parent) -> bf9448e (this PR) Test differencesShow 46 test diffsStage 1
Stage 2
Additionally, 34 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 bf9448e42622eaba63ebc171bb4584cea22210b4 --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 |
|
Finished benchmarking commit (bf9448e): comparison URL. Overall result: ❌ regressions - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesResults (secondary 2.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 490.364s -> 488.875s (-0.30%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 3e014ee7cf In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: |
|
@rust-timer triage all |
Running triage with 1 benchmarkTriage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
#164175 0195a78 Drop WC_ERR_INVALID_CHARS from Windows stdioThis perf run didn't have relevant results for the `instruction count` metric.Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. #164361 cc51031 delegation: map return even if there is no target expressionThis perf run didn't have relevant results for the `instruction count` metric.Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. #162778 7278160 rustdoc: add disambiguators for identically named method in sidebarInstruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. #163224 bf025b2 [rustdoc] Add tabs to settings popoverThis perf run didn't have relevant results for the `instruction count` metric.Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. #164220 8514875 Test the interaction between
|
Successful merges:
--remap-path-prefixand doctests #164220 (Test the interaction between--remap-path-prefixand doctests)is_impl_trait_in_trait()before expecting local id #164318 (Fix check withis_impl_trait_in_trait()before expecting local id)r? @ghost
Create a similar rollup