Rollup of 12 pull requests - #160761
Open
JonathanBrouwer wants to merge 28 commits into
Open
Conversation
When adding a new lint, you'd naturally add the new lint at the bottom, and would have to deal with merge conflicts with all other PRs that also add a lint.
* fix: build-std on 32 bit arm with 64 bit time The libc crate has support for building with 64 bit time on 32 bit platforms using the `RUST_LIBC_UNSTABLE_GNU_TIME_BITS` environment variable. Convert the tv_usec field to i64 via `into` in this case since `suseconds_t` is still defined as an i32 when this environment variable is set. * Use placeholder as target type This allows us to rely on the compiler to infer the correct target type, mirroring the approach used in `sys/net/connection/socket/solid.rs`.
…ouwer Move attributes out of rustc_hir Previous graph: <img width="397" height="503" alt="image" src="https://github.com/user-attachments/assets/f1c101b1-eb2f-4032-a8e7-6b4f6aef39d5" /> Graph with this pr: <img width="505" height="524" alt="image" src="https://github.com/user-attachments/assets/489be58e-41c5-4c08-a25a-9dc04ebe00e2" /> So while it doesn't really look like much (might be nicer for pipeling or if you're editing rustc_hir), it unblocks followup work to split up this part of the crate graph further, like: - moving `SanitizerSet` to a (new?) crate below `rustc_target` so that `rustc_target` and `rustc_attr_ir` no longer depend on each other and can compile in parallel - `rustc_session` will only depend on `rustc_hir` for `rustc_hir::definitions` in its `cstore` module, there may be something there but I haven't looked in depth. There's some work left wrt cleaning up imports everywhere, but that's for followups. r? @JonathanBrouwer
…targets, r=jieyouxu ignore tests with the GCC backend if we can't find `libgccjit.so` for the target <!-- homu-ignore:start --> - [x] I did not use an LLM to create a change in this PR. - [ ] I used an LLM to create a change in this PR, and I have explained below how it was used. Much like we ignore tests on targets that don't support certain properties, ignore a test or revision when the target is not supported by GCC, and GCC is the default codegen backend. With this change we can remove many `//@ ignore-backends: gcc` (which I've left for later). See also the conversation at [#rustc-codegen-gcc > tidy error on building test with GCC on unsupported target](https://rust-lang.zulipchat.com/#narrow/channel/386786-rustc-codegen-gcc/topic/tidy.20error.20on.20building.20test.20with.20GCC.20on.20unsupported.20target/with/615232618). r? jieyouxu cc @GuillaumeGomez @antoyo
…_bits64, r=Mark-Simulacrum fix: build-std on 32 bit arm with 64 bit time Infer target type of `tv_usec`. The libc crate has support for building with 64 bit time on 32 bit platforms, configurable currently via environment variable or cfg directives. When building using 64 bit time, the tv_usec field will be aliased to `__suseconds64_t` instead of `suseconds_t` causing the `build-std` feature to not be able to build the standard library due to a type mismatch. Adopting the same convention as in https://github.com/rust-lang/rust/blob/1b29cfdbee8ee37333f4b24afb936350eb57e705/library/std/src/sys/net/connection/socket/solid.rs#L151 fixes the issue, supporting 64 bit time on 32 bit arm platforms. Another option would be using cfg attributes for this but from what I can tell there are no existing such attributes for time bits in the std and they would essentially duplicate the ones already present in the libc crate https://github.com/rust-lang/libc/blob/e27c7f1e2b281d7c551e6b394b897b4ff0a230e6/build.rs#L16
Add regression test for unsized non-last struct field with overlapping impls Closes rust-lang#83097 adds a regresion test locking that E0277 & E0119 are both emitted
miri: implement more restrictive trivial-ABI checks This implements the rules from rust-lang#157973 in Miri. We unfortunately have to reject some code that we thought was okay. Let's land this in Miri ahead of anything official also to see if there's any major breakage from that. r? @oli-obk
…thanBrouwer sort lint names in lint pass declarations When adding a new lint, you'd naturally add the new lint at the bottom, and would have to deal with merge conflicts with all other PRs that also add a lint. Sorting the list should at least mitigate that, and is probably more readable overall.
Add regression test for higher ranked fn pointer impl not general enough Closes rust-lang#57936 adds a regression test for higher ranked fn-pointer impl is now correctly rejected
…anBrouwer Add regression test for rust-lang#135287 Fixes rust-lang#135287. This PR adds a test that fails on commit a580b5c and works on main.
…-onboard, r=jieyouxu triagebot: add ubiratan to infra-ci Pretty much self-explained :) r? @marcoieni
…ez,JonathanBrouwer rustc_errors: remove unused code r? @GuillaumeGomez
…nBrouwer Add regression test for incremental borrowck ICE with generic const exprs Adds an incremental regression test for rust-lang#125564 for generic-const exprs snippet, now reports errors cleanly Closes rust-lang#125564
…anBrouwer rustc_lint: remove unused rustc_attrs feature
Contributor
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 8, 2026
Rollup of 12 pull requests try-job: dist-various-1 try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: aarch64-apple-* try-job: x86_64-mingw-1 try-job: i686-msvc-*
Contributor
|
⌛ Testing commit 73d2955 with merge 771916f... Workflow: https://github.com/rust-lang/rust/actions/runs/31268316708 |
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 8, 2026
…uwer Rollup of 12 pull requests Successful merges: - #160336 (Move attributes out of rustc_hir) - #160715 (ignore tests with the GCC backend if we can't find `libgccjit.so` for the target) - #157609 (fix: build-std on 32 bit arm with 64 bit time) - #160613 (Add regression test for unsized non-last struct field with overlapping impls) - #160658 (miri: implement more restrictive trivial-ABI checks) - #160704 (sort lint names in lint pass declarations) - #160707 (Add regression test for higher ranked fn pointer impl not general enough) - #160713 (Add regression test for #135287) - #160720 (triagebot: add ubiratan to infra-ci) - #160747 (rustc_errors: remove unused code) - #160751 (Add regression test for incremental borrowck ICE with generic const exprs) - #160753 (rustc_lint: remove unused rustc_attrs feature) Failed merges: - #158835 (rustc_passes: lint unused `#[path]` attributes on inline modules)
Contributor
Collaborator
|
The job Click to see the possible cause of the failure (guessed by this bot)Important For more information how to resolve CI failures of this job, visit this link. |
2 tasks
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:
libgccjit.sofor the target #160715 (ignore tests with the GCC backend if we can't findlibgccjit.sofor the target)adt_sized_constraintcalled on non-struct type #135287)Failed merges:
#[path]attributes on inline modules #158835 (rustc_passes: lint unused#[path]attributes on inline modules)r? @ghost
Create a similar rollup