Rollup of 8 pull requests#158268
Conversation
This is motivated by cargo-semver-checks wanting to work on the standard library, but that requires being able to filter out breaking changes to unstable items, so it can only flag breaking changes to stable items. This in turn is motivated by https://www.github.com/rust-lang/rust/issues/153486.
For s390x the vector registers are now stable. That they need the target feature is already part of the ERROR assertion
On wasm the crate metadata ends up in a custom section. It is not possible to refer to create symbols inside a custom section, so attempting to export it during linking will result in a linker error. This keeps the target spec flag to deny compiling rust dylibs for wasm, but may theoretically allow compiling wasm rust dylibs with a custom target spec. It will help with wasm proc-macros. And in the future we can try to flip the only-cdylib option to false on wasm.
…=Mark-Simulacrum Fix linking for wasm with crate metadata included On wasm the crate metadata ends up in a custom section. It is not possible to refer to create symbols inside a custom section, so attempting to export it during linking will result in a linker error. This keeps the target spec flag to deny compiling rust dylibs for wasm, but may theoretically allow compiling wasm rust dylibs with a custom target spec. It will help with wasm proc-macros. And in the future we can try to flip the only-cdylib option to false on wasm. Extracted out of rust-lang#157709, but also helps with rust-lang#157590. r? @Mark-Simulacrum
…-recovery, r=JonathanBrouwer Avoid `&raw` recovery ICE after trailing comma Fixes rust-lang#157950 This is a follow up to rust-lang#157888. For `&raw x,)`, recovery first skips `x`, then consumes the trailing comma. The old condition then fell through to `parse_token_tree()` when the next token was `)`, which causes an ICE.
…efactoring, r=petrochenkov Refactor `proc_macro_decls_static` During experiments in rust-lang#158024 I've noticed that we iterate over all `hir_free_items` and find `RustcProcMacroDecls` on each of them for rewrite of a single `Option` which is the result of the query. In this PR: - The seach for `RustcProcMacroDecls` attribute is moved into `hir_crate_items` and result is cached in `ModuleItems`, now we do not find `RustcProcMacroDecls` for each free item, we stop when it is found, - ~`self.crate_collector` is replaced with generic const `CRATE_COLLECTOR`, maybe will give perf. improvements.~ r? @petrochenkov
rustdoc: Avoid ICE on unevaluated `type const` projections in array lengths `clean_middle_ty` used `normalize_erasing_regions` when rendering array lengths, which panics on unevaluatable associated const projections such as `<T as Trait>::ASSOC` under mGCA. Fixes rust-lang#158155
…mments, r=camelid update `asm_experimental_reg` comments Trivial bit of cleanup. For s390x the vector registers are now stable, so `asm_experimental_reg` is no longer needed. That they need the target feature is already part of the ERROR assertion. In the unstable book the title was incorrect.
…oc-json, r=GuillaumeGomez Include `Item::stability` info in rustdoc JSON. Include `Item::stability` info in rustdoc JSON, to enable tools like `cargo-semver-checks` to compute stability information and (eventually, soon™️) be used to catch accidental breaking changes in the Rust standard library (cc @Amanieu). Successor to rust-lang#154603 by @aDotInTheVoid, building directly on top of its commit. Differences relative to that PR: - Added `since` information for stable items. - `Stability` is now boxed to ensure a smaller bump in `Item` size. Most non-built-in crates won't have stability information, so minimizing that memory use is material for them. - We have well-defined stability semantics for items, optimizing for consistency with how existing JSON users already must perform reachability and `#[doc(hidden)]` analysis, instead of how rustdoc HTML presentation works. Note the detailed inline comment about this. - Tests and docs, which the original PR noted needed to be added. Other flavors of stability, such as const stability or default-body stability, are left as future work. r? @GuillaumeGomez **AI disclosure:** This PR is the product of a combination of manual work and AI tools. I secured approval in advance from the designated reviewer. I stand behind the quality of the code I'm submitting, and I vouch it's as good or better compared to if I had written every line by my own hand.
Use an unexpanded span for actually written down opt out params I'm trying to land the components of rust-lang#158122 individually now (and fixing the bugs in the process). TLDR: we didn't use the span of `?Sized` for generating other default bounds of the sized hierarchy, causing in funky diagnostics, this PR fixes that
…davidtwco Change compiler leads in triagebot.toml r? @davidtwco
|
@bors r+ rollup=never p=5 |
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
…uwer Rollup of 8 pull requests Successful merges: - #158242 (Fix linking for wasm with crate metadata included) - #157978 (Avoid `&raw` recovery ICE after trailing comma) - #158119 (Refactor `proc_macro_decls_static`) - #158171 (rustdoc: Avoid ICE on unevaluated `type const` projections in array lengths) - #158172 (update `asm_experimental_reg` comments) - #158230 (Include `Item::stability` info in rustdoc JSON.) - #158258 (Use an unexpanded span for actually written down opt out params) - #158262 (Change compiler leads in triagebot.toml)
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
💔 Test for f3d2eee failed: CI. Failed job:
|
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
|
@bors treeopen |
|
Tree is now open for merging. |
|
📌 Perf builds for each rolled up PR:
previous master: cddcbec198 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
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 cddcbec (parent) -> 4429659 (this PR) Test differencesShow 183 test diffsStage 1
Stage 2
Additionally, 156 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 4429659e4745016bd3f26a4a421843edc7fbc422 --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 (4429659): comparison URL. Overall result: ✅ improvements - no action needed@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)Results (primary -2.5%, secondary -3.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.2%, secondary 2.8%)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: 505.379s -> 504.341s (-0.21%) |
View all comments
Successful merges:
&rawrecovery ICE after trailing comma #157978 (Avoid&rawrecovery ICE after trailing comma)proc_macro_decls_static#158119 (Refactorproc_macro_decls_static)type constprojections in array lengths #158171 (rustdoc: Avoid ICE on unevaluatedtype constprojections in array lengths)asm_experimental_regcomments #158172 (updateasm_experimental_regcomments)Item::stabilityinfo in rustdoc JSON. #158230 (IncludeItem::stabilityinfo in rustdoc JSON.)r? @ghost
Create a similar rollup