-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Rollup of 8 pull requests #151562
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
Closed
Closed
Rollup of 8 pull requests #151562
Conversation
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
This will be used in order to emit HVX intrinsics
It is a singleton which doesn't actually need to be passed through over the bridge.
And rename FreeFunctions struct to Methods.
This fixes stage1 builds when the proc-macro bridge api changed. The rustc_proc_macro crate is identical to the proc_macro that would end up in the sysroot of the rustc compiler rustc_proc_macro is linked into.
Removed comment about reproducibility failures with crate type `bin` and `-Cdebuginfo=2` on non windows machines issue rust-lang#89911
Implements WCAG 2.4.1 (Level A) - Bypass Blocks accessibility feature. Changes: - Add skip-main-content link in page.html with tabindex=-1 on main-content - Add CSS styling per reviewer feedback (outline border, themed colors) - Add GOML test for skip navigation functionality Fixes rust-lang#151420
This changes the `test` build script so that it does not use the default fingerprinting mechanism in cargo which causes a full scan of the package every time it runs. This build script does not depend on any of the files in the package. This is the recommended approach for writing build scripts.
…umbv8r, r=petrochenkov Add Tier 3 Thumb-mode targets for Armv7-A, Armv7-R and Armv8-R We currently have targets for bare-metal Armv7-R, Armv7-A and Armv8-R, but only in Arm mode. This PR adds five new targets enabling bare-metal support on these architectures in Thumb mode. This has been tested using https://github.com/rust-embedded/aarch32/compare/main...thejpster:aarch32:support-thumb-mode-v7-v8?expand=1 and they all seem to work as expected. However, I wasn't sure what to do with the maintainer lists as these are five new targets, but they share the docs page with the existing Arm versions. I can ask the Embedded Devices WG Arm Team about taking on these ones too, but whether Arm themselves want to take them on I guess is a bigger question.
…bilee
add `simd_splat` intrinsic
Add `simd_splat` which lowers to the LLVM canonical splat sequence.
```llvm
insertelement <N x elem> poison, elem %x, i32 0
shufflevector <N x elem> v0, <N x elem> poison, <N x i32> zeroinitializer
```
Right now we try to fake it using one of
```rust
fn splat(x: u32) -> u32x8 {
u32x8::from_array([x; 8])
}
```
or (in `stdarch`)
```rust
fn splat(value: $elem_type) -> $name {
#[derive(Copy, Clone)]
#[repr(simd)]
struct JustOne([$elem_type; 1]);
let one = JustOne([value]);
// SAFETY: 0 is always in-bounds because we're shuffling
// a simd type with exactly one element.
unsafe { simd_shuffle!(one, one, [0; $len]) }
}
```
Both of these can confuse the LLVM optimizer, producing sub-par code. Some examples:
- rust-lang#60637
- rust-lang#137407
- rust-lang#122623
- rust-lang#97804
---
As far as I can tell there is no way to provide a fallback implementation for this intrinsic, because there is no `const` way of evaluating the number of elements (there might be issues beyond that, too). So, I added implementations for all 4 backends.
Both GCC and const-eval appear to have some issues with simd vectors containing pointers. I have a workaround for GCC, but haven't yet been able to make const-eval work. See the comments below.
Currently this just adds the intrinsic, it does not actually use it anywhere yet.
…r=folkertdev hexagon: Add HVX target features This will be used in order to emit HVX intrinsics
…rochenkov Various refactors to the proc_macro bridge This reduces the amount of types, traits and other abstractions that are involved with the bridge, which should make it easier to understand and modify. This should also help a bit with getting rid of the type marking hack, which is complicating the code a fair bit.
…sts-linux, r=Kobzol Enable reproducible binary builds with debuginfo on Linux Fixes rust-lang#89911 This PR enables `-Cdebuginfo=2` for binary crate types in the `reproducible-build` run-make test on Linux platforms. - Removed the `!matches!(crate_type, CrateType::Bin)` check in `diff_dir_test()` - SHA256 hashes match: `932be0d950f4ffae62451f7b4c8391eb458a68583feb11193dd501551b6201d4` This scenario was previously disabled due to rust-lang#89911. I have verified locally on Linux (WSL) with LLVM 21 that the regression reported in that issue appears to be resolved, and the tests now pass with debug info enabled.
…r=GuillaumeGomez Add "Skip to main content" link for keyboard navigation in rustdoc ## Summary This PR adds a "Skip to main content" link for keyboard navigation in rustdoc, improving accessibility by allowing users to bypass the sidebar and navigate directly to the main content area. ## Changes - **`src/librustdoc/html/templates/page.html`**: Added a skip link (`<a class="skip-main-content">`) immediately after the `<body>` tag that links to `#main-content` - **`src/librustdoc/html/static/css/rustdoc.css`**: Added CSS styles for the skip link: - Visually hidden by default (`position: absolute; top: -100%`) - Becomes visible when focused via Tab key (`top: 0` on `:focus`) - Styled consistently with rustdoc theme using existing CSS variables - **`tests/rustdoc-gui/skip-navigation.goml`**: Added GUI test to verify the skip link functionality ## WCAG Compliance This addresses **WCAG Success Criterion 2.4.1 (Level A)** - Bypass Blocks: > A mechanism is available to bypass blocks of content that are repeated on multiple web pages. ## Demo When pressing Tab on a rustdoc page, the first focusable element is now the "Skip to main content" link, allowing keyboard users to jump directly to the main content without tabbing through the entire sidebar. ## Future Improvements Based on the discussion in rust-lang#151420, additional skip links could be added between the page summary and module contents sections. This PR provides the foundation, and we can iterate on adding more skip links based on feedback. Fixes rust-lang#151420 r? @JayanAXHF
…s-under-feature-gate-const-bool, r=jhpratt
constify boolean methods
```rs
// core::bool
impl bool {
pub const fn then_some<T: [const] Destruct>(self, t: T) -> Option<T>;
pub const fn then<T, F: [const] FnOnce() -> T + [const] Destruct>(self, f: F) -> Option<T>;
pub const fn ok_or<E: [const] Destruct>(self, err: E) -> Result<(), E>;
pub const fn ok_or_else<E, F: [const] FnOnce() -> E + [const] Destruct>;
}
```
will make tracking issue if pr liked
Don't use default build-script fingerprinting in `test` This changes the `test` build script so that it does not use the default fingerprinting mechanism in cargo which causes a full scan of the package every time it runs. This build script does not depend on any of the files in the package. This is the recommended approach for writing build scripts.
Member
Author
|
@bors r+ rollup=never p=5 |
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors bot
pushed a commit
that referenced
this pull request
Jan 24, 2026
Rollup of 8 pull requests Successful merges: - #150556 (Add Tier 3 Thumb-mode targets for Armv7-A, Armv7-R and Armv8-R) - #151346 (add `simd_splat` intrinsic) - #151500 (hexagon: Add HVX target features) - #151505 (Various refactors to the proc_macro bridge) - #151517 (Enable reproducible binary builds with debuginfo on Linux) - #151482 (Add "Skip to main content" link for keyboard navigation in rustdoc) - #151489 (constify boolean methods) - #151551 (Don't use default build-script fingerprinting in `test`) r? @ghost
Collaborator
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Contributor
|
💔 Test for 06cc1e3 failed: CI. Failed job:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-LLVM
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
A-run-make
Area: port run-make Makefiles to rmake.rs
A-rustdoc-js
Area: Rustdoc's JS front-end
rollup
A PR which is a rollup
T-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
T-rust-analyzer
Relevant to the rust-analyzer team, which will review and decide on the PR/issue.
T-rustdoc
Relevant to the rustdoc team, which will review and decide on the PR/issue.
T-rustdoc-frontend
Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
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:
simd_splatintrinsic #151346 (addsimd_splatintrinsic)test#151551 (Don't use default build-script fingerprinting intest)r? @ghost
Create a similar rollup