Rollup of 11 pull requests#150912
Conversation
…t args
Detect the `{ident?}` pattern where `?` is immediately followed by `}` and emit
a clearer diagnostic explaining that `:` is required for Debug formatting.
This avoids falling back to a generic “invalid format string” error and adds
a targeted UI test for the case.
Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
The documentation of `SipHasher` previously linked to a page about SipHash on https://131002.net, a domain registered to Jean-Philippe Aumasson, one of the co-authors of the original SipHash paper (alongside Daniel J Bernstein). That domain now redirects to another of Mr Aumasson's domains, https://www.aumasson.jp, but which does not host a similar page dedicated to SipHash. Instead, his site links to a GitHub repository containing a C implementation together with links to the original research paper. Mr Bernstein's own site, https://cr.yp.to, only hosts a copy of the research paper. Therefore the GitHub repository appears to be the most official and complete reference to which we can link.
This patch removes one call to `std::mem::take` to save two `memcpy`s: `JsonRenderer::index` can be quite large as noted rust-lang#142335. `self.index` can be passed directly to `types::Crate`. This removal makes `self` immutable. The private `serialize_and_write` method is moved as a function: the `self` argument is replaced by `sess: &Session`. This `&Session` was fetched earlier in `after_krate` in all cases. This change allows to call `serialize_and_write` after `output_crate` is created, without having a conflict around the move of `self`: the borrow checker is now happy.
67ea84d erroneously added this special-case when introducing `DesugaringKind::WhileLoop`. It had the unintended effect of emitting erroneous diagnostics in certain `while` blocks.
Remove inactive nvptx maintainer Since I just saw the discussion in [#t-compiler > Starting to enforce Tier 2-to-3 downgrade](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Starting.20to.20enforce.20Tier.202-to-3.20downgrade/with/564788312), and I saw him pinged on PRs or issues. His last active open-source contributions were in early 2022: https://github.com/RDambrosio016 and IIRC he also mentioned that he had moved on. ping @RDambrosio016 so you can confirm or correct me, if you want to chime in. I also pinged him on Zulip. cc @kjetilkjeka who is the other maintainer and active on related issues/prs for his target. I'd leave it open for a while, but r? @jieyouxu
mgca: Type-check fields of struct expr const args Fixes rust-lang#150623. Fixes rust-lang#150712. Fixes rust-lang#150714. Fixes rust-lang#150734. r? @BoxyUwU
rustc_parse_format: improve error for missing `:` before `?` in format args
Detect the `{ident?}` pattern where `?` is immediately followed by `}` and emit a clearer diagnostic explaining that `:` is required for Debug formatting. This avoids falling back to a generic “invalid format string” error and adds a targeted UI test for the case.
Fix broken documentation links to SipHash The documentation of `SipHasher` previously linked to a page about SipHash on https://131002.net, a domain registered to Jean-Philippe Aumasson, one of the co-authors of the original SipHash paper (alongside Daniel J Bernstein). That domain now redirects to another of Mr Aumasson's domains, https://www.aumasson.jp, but which does not host a similar page dedicated to SipHash. Instead, his site links to a GitHub repository containing a C implementation together with links to the original research paper. Mr Bernstein's own site, https://cr.yp.to, only hosts a copy of the research paper. Therefore the GitHub repository appears to be the most official and complete reference to which we can link. Fixes rust-lang#150806 r? reddevilmidzy
…GuillaumeGomez rustdoc_json: Remove one call to `std::mem::take` in `after_krate` This patch removes one call to `std::mem::take` to save two `memcpy`s: `JsonRenderer::index` can be quite large as noted rust-lang#142335. `self.index` can be passed directly to `types::Crate`. This removal makes `self` immutable. The private `serialize_and_write` method is moved as a function: the `self` argument is replaced by `sess: &Session`. This `&Session` was fetched earlier in `after_krate` in all cases. This change allows to call `serialize_and_write` after `output_crate` is created, without having a conflict around the move of `self`: the borrow checker is now happy. I wasn't able to measure the performance impact though because I don't know how to modify `rustc-perf` as [@nnethercote did](rust-lang#142335 (comment)) (sorry). --- Follow up of rust-lang#142335. r? @nnethercote
Fix some loop block coercion diagnostics Fixes rust-lang#150850
Ignore `rustc-src-gpl` in fast try builds I noticed that fast try builds now build this new component (unnecessarily).
…r=bjorn3 Refactor artifact keep mode in bootstrap This makes it easier to understand which artifacts will be stored in the build stamp. Should help with rust-lang#145343. Before, there were two booleans (keep .rmeta files and a special mode for rustc). I created an explicit enum for it instead. The mapping is: - `(false, false)` => `ArtifactKeepMode::OnlyRlib` - `(true, false)` => `ArtifactKeepMode::OnlyRmeta` (used for check/clippy builds) - `(false, true)` => special rustc mode r? @bjorn3
Mention that `rustc_codegen_gcc` is a subtree in `rustc-dev-guide` Was asked on [zulip](https://rust-lang.zulipchat.com/#narrow/channel/386786-rustc-codegen-gcc/topic/Subtree.20handling/with/564354089). r? @RalfJung
Supress unused_parens lint for guard patterns Fixes rust-lang#149594
Update bors email in CI postprocessing step This was breaking CI job summaries. I don't think we have to backport it, should be mostly harmless.
|
@bors p=6 |
|
@bors info |
Status of PR
|
|
@bors r- |
|
Commit 9399309 has been unapproved. |
|
@bors r+ rollup=never p=6 |
|
@bors info |
Status of PR
|
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 f57eac1 (parent) -> ad04f76 (this PR) Test differencesShow 34 test diffsStage 1
Stage 2
Additionally, 28 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 ad04f76d844d2624fa80e1186abd1497196597a1 --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 |
|
📌 Perf builds for each rolled up PR:
previous master: f57eac1bf9 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (ad04f76): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (secondary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.0%, secondary 2.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 473.812s -> 474.037s (0.05%) |
Successful merges:
:before?in format args #150765 (rustc_parse_format: improve error for missing:before?in format args)std::mem::takeinafter_krate#150867 (rustdoc_json: Remove one call tostd::mem::takeinafter_krate)rustc-src-gplin fast try builds #150874 (Ignorerustc-src-gplin fast try builds)rustc_codegen_gccis a subtree inrustc-dev-guide#150876 (Mention thatrustc_codegen_gccis a subtree inrustc-dev-guide)Failed merges:
r? @ghost
Create a similar rollup