about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-07-06Rewrite empty attribute lintJonathan Brouwer-191/+195
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06Auto merge of #143507 - matthiaskrgr:rollup-lpg7t12, r=matthiaskrgrbors-809/+1719
Rollup of 6 pull requests Successful merges: - rust-lang/rust#143238 (Port `#[ignore]` to the new attribute parsing infrastructure) - rust-lang/rust#143441 (Stop using `Key` trait unnecessarily) - rust-lang/rust#143478 (Miri subtree update) - rust-lang/rust#143486 (remove armv5te-unknown-linux-gnueabi target maintainer) - rust-lang/rust#143489 (Complete rustc_ast::mut_visit for spans.) - rust-lang/rust#143494 (Remove yields_in_scope from the scope tree.) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-06Auto merge of #143126 - dianqk:update-llvm, r=nikicbors-0/+24
Update LLVM submodule Fixes rust-lang/rust#140686, fixes rust-lang/rust#141913, fixes rust-lang/rust#142752, fixes rust-lang/rust#143399.
2025-07-05Rollup merge of #143494 - cjgillot:no-yield-in-scope, r=compiler-errorsMatthias Krüger-263/+37
Remove yields_in_scope from the scope tree. I believe this has not been in use since we removed the HIR-based generator interior type computation.
2025-07-05Rollup merge of #143489 - cjgillot:mut-visit-span, r=petrochenkovMatthias Krüger-11/+79
Complete rustc_ast::mut_visit for spans. Extracted from https://github.com/rust-lang/rust/pull/127241 r? `@petrochenkov`
2025-07-05Rollup merge of #143486 - husqvarnagroup:af/no-armv5te-target-maintainer, ↵Matthias Krüger-1/+1
r=petrochenkov remove armv5te-unknown-linux-gnueabi target maintainer Sadly my former employer doesn't want to maintain this any more and I have no personal interest in maintaining it.
2025-07-05Rollup merge of #143478 - RalfJung:miri-sync, r=RalfJungMatthias Krüger-475/+1469
Miri subtree update r? `@ghost`
2025-07-05Rollup merge of #143441 - compiler-errors:no-key, r=petrochenkovMatthias Krüger-19/+16
Stop using `Key` trait unnecessarily Few places where the `Key` trait was being used but not really for a useful reason. This fixes those usages. Namely, `<Ty as Key>::default_span()` is `DUMMY_SP` anyways.
2025-07-05Rollup merge of #143238 - JonathanBrouwer:ignore_parser, r=jdonszelmannMatthias Krüger-40/+117
Port `#[ignore]` to the new attribute parsing infrastructure Ports `ignore` to the new attribute parsing infrastructure for https://github.com/rust-lang/rust/issues/131229#issuecomment-2971353197 This PR duplicates a change from https://github.com/rust-lang/rust/pull/143237 Draft until that one is merged
2025-07-05Auto merge of #142732 - compiler-errors:more-root, r=lcnrbors-119/+33
Canonicalize input ty/ct infer/placeholder in the root universe We shouldn't care what universe the inputs are, since we only ever do the leak check on the universes instantiated after entering the canonical binder.
2025-07-05Port `#[ignore]` to the new attribute parsing infrastructureJonathan Brouwer-40/+117
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-05Don't compress input universesMichael Goulet-111/+10
2025-07-05Canonicalize input ty/ct infer/placeholder in the root universeMichael Goulet-8/+23
2025-07-05Stop using Key trait randomlyMichael Goulet-19/+16
2025-07-05Auto merge of #143496 - saethlin:rollup-4u43rgj, r=saethlinbors-133/+401
Rollup of 3 pull requests Successful merges: - rust-lang/rust#143291 (codegen_ssa: replace a Result by an Either) - rust-lang/rust#143445 (move `va_copy`, `va_arg` and `va_end` to `core::intrinsics`) - rust-lang/rust#143447 ([COMPILETEST-UNTANGLE 4/N] Improve compiletest config documentation) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-05Rollup merge of #143447 - jieyouxu:compiletest-maintenance-4, r=KobzolBen Kimock-93/+353
[COMPILETEST-UNTANGLE 4/N] Improve compiletest config documentation This is part of a patch series to untangle `compiletest` to hopefully nudge it towards being more maintainable. This PR should contain **no functional changes**. This is pulled out to its own PR to make follow-up changes easier to review. There are *intentionally* a *lot* of FIXME comments, intended to be gradually addressed in follow-ups. r? `@Kobzol`
2025-07-05Rollup merge of #143445 - folkertdev:va-list-intrinsics, r=RalfJungBen Kimock-17/+24
move `va_copy`, `va_arg` and `va_end` to `core::intrinsics` some questions: - should these functions be `pub`? - is a separate module justified? r? `@RalfJung`
2025-07-05Rollup merge of #143291 - RalfJung:result-isnt-either, r=scottmcmBen Kimock-23/+24
codegen_ssa: replace a Result by an Either `Err` here clearly does not indicate an "error" of any sort, so the use of `Result` is confusing. Let's use a sum type that does not come with the baggage of `Result`.
2025-07-05Remove yields_in_scope from the scope tree.Camille GILLOT-263/+37
2025-07-05codegen_ssa: replace a Result by an EitherRalf Jung-23/+24
2025-07-05Auto merge of #143474 - jieyouxu:bootstrap-llvm-snapshot, r=Kobzolbors-0/+8
Pretend in bootstrap snapshot tests that we always build in-tree LLVM Otherwise, depending on whether CI LLVM is inhibited or if an externally-provided LLVM is used, bootstrap host LLVM build step could be missing in step snapshots. Note that I'm not sure if this is the *right* solution (this might be *a* solution). I imagine we do want to control for the set of configuration that these snapshot tests are run, as much as possible. r? `@Kobzol`
2025-07-05Complete mut_visit.Camille GILLOT-11/+79
2025-07-05remove armv5te-unknown-linux-gnueabi target maintainerAdrian Friedli-1/+1
2025-07-05Auto merge of #143473 - workingjubilee:rollup-bxie7zg, r=scottmcmbors-948/+1256
Rollup of 11 pull requests Successful merges: - rust-lang/rust#142440 (`tests/ui`: A New Order [14/N]) - rust-lang/rust#143040 (Add `const Rem`) - rust-lang/rust#143086 (Update poison.rs to fix the typo (sys->sync)) - rust-lang/rust#143202 (`tests/ui`: A New Order [18/N]) - rust-lang/rust#143296 (`tests/ui`: A New Order [21/N]) - rust-lang/rust#143297 (`tests/ui`: A New Order [22/N]) - rust-lang/rust#143299 (`tests/ui`: A New Order [24/N]) - rust-lang/rust#143300 (`tests/ui`: A New Order [25/N]) - rust-lang/rust#143397 (test passing a `VaList` from rust to C) - rust-lang/rust#143410 (Block SIMD in transmute_immediate; delete `OperandValueKind`) - rust-lang/rust#143452 (Fix CLI completion check in `tidy`) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-05update lockfileRalf Jung-0/+1
2025-07-05Merge pull request #4445 from RalfJung/rustupRalf Jung-3006/+4731
Rustup
2025-07-05Improve compiletest config documentationJieyou Xu-93/+353
Including a bunch of FIXMEs.
2025-07-05move the `va_copy`, `va_arg` and `va_end` to `core::intrinsics`Folkert de Vries-17/+24
2025-07-05fmtRalf Jung-1/+3
2025-07-05Merge from rustcRalf Jung-3005/+4728
2025-07-05Preparing for merge from rustcRalf Jung-1/+1
2025-07-05Pretend in bootstrap snapshot tests that we always build in-tree LLVMJieyou Xu-0/+8
2025-07-05Auto merge of #139598 - compiler-errors:no-bound-var-symbol, r=WaffleLapkinbors-407/+375
Remove `Symbol` from `Named` variant of `BoundRegionKind`/`LateParamRegionKind` The `Symbol` is redundant, since we already store a `DefId` in the region variant. Instead, load the name via `item_name` when needed (which is almost always on the diagnostic path). This introduces a `BoundRegionKind::NamedAnon` which is used for giving anonymous bound regions names, but which should only be used during pretty printing and error reporting.
2025-07-04Rollup merge of #143452 - Kobzol:completions-fix, r=jieyouxuJubilee-35/+39
Fix CLI completion check in `tidy` The list of CLI completion files that were generated and that were checked by `x test tidy` was not synced. Recently, some PR only updated some of the files, which caused the rest of the files (not checked by `x test tidy`) to be dirty on `master`. This PR fixes the logic in bootstrap to always synchronize the list of completion paths. Fixes: https://github.com/rust-lang/rust/issues/143451 r? `@jieyouxu`
2025-07-04Rollup merge of #143410 - scottmcm:redo-transmute-again, ↵Jubilee-214/+138
r=RalfJung,workingjubilee Block SIMD in transmute_immediate; delete `OperandValueKind` Vectors have been causing me problems for years in this code, for example https://github.com/rust-lang/rust/pull/110021#discussion_r1160975086 and https://github.com/rust-lang/rust/pull/143194 See conversation in <https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Is.20transmuting.20a.20.60T.60.20to.20.60Tx1.60.20.28one-element.20SIMD.20vector.29.20UB.3F/near/526262799>. By blocking SIMD in `transmute_immediate` it can be simplified to just take the `Scalar`s involved -- the backend types can be gotten from those `Scalar`s, rather than needing to be passed. And there's an assert added to ICE it if it does get hit. Accordingly, this changes `rvalue_creates_operand` to not send SIMD transmutes through the operand path, but to always go through memory instead, like they did back before rust-lang/rust#108442. And thanks to those changes, I could also remove the `OperandValueKind` type that I added back then which `@RalfJung` rightly considers pretty sketchy. cc `@folkertdev` `@workingjubilee` from the zulip conversation too
2025-07-04Rollup merge of #143397 - folkertdev:test-variadic-call-from-rust-to-c, ↵Jubilee-11/+104
r=RalfJung test passing a `VaList` from rust to C Have C define various functions that take a `...` or `va_list` as an argument, and call them from rust. As far as I can see, this just wasn't actually tested before. In particular this tests a difference between rust `VaList` and C `va_list` where C uses array-to-pointer decay, but rust cannot. I've locally tested this for - `x86_64-unknown-linux-gnu` - `aarch64-unknown-linux-gnu` - `s390x-unknown-linux-gnu` - `powerpc64-unknown-linux-gnu` - `powerpc64le-unknown-linux-gnu` The latter 2 use an opaque pointer, the first 3 use a single-element array. cc `@beetrees` if you see anything incorrect here r? `@workingjubilee`
2025-07-04Rollup merge of #143300 - Kivooeo:tf25, r=tgross35Jubilee-97/+155
`tests/ui`: A New Order [25/N] > [!NOTE] > > Intermediate commits are intended to help review, but will be squashed prior to merge. Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? `@tgross35`
2025-07-04Rollup merge of #143299 - Kivooeo:tf24, r=tgross35Jubilee-204/+264
`tests/ui`: A New Order [24/N] > [!NOTE] > > Intermediate commits are intended to help review, but will be squashed prior to merge. Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? `@tgross35`
2025-07-04Rollup merge of #143297 - Kivooeo:tf22, r=tgross35Jubilee-60/+57
`tests/ui`: A New Order [22/N] > [!NOTE] > > Intermediate commits are intended to help review, but will be squashed prior to merge. Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? `@tgross35`
2025-07-04Rollup merge of #143296 - Kivooeo:tf21, r=tgross35Jubilee-55/+70
`tests/ui`: A New Order [21/N] > [!NOTE] > > Intermediate commits are intended to help review, but will be squashed prior to merge. Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? `@tgross35`
2025-07-04Rollup merge of #143202 - Kivooeo:tf18, r=tgross35Jubilee-133/+224
`tests/ui`: A New Order [18/N] > [!NOTE] > > Intermediate commits are intended to help review, but will be squashed prior to merge. Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? `@tgross35`
2025-07-04Rollup merge of #143086 - SciMind2460:patch-2, r=workingjubileeJubilee-1/+1
Update poison.rs to fix the typo (sys->sync)
2025-07-04Rollup merge of #143040 - SciMind2460:patch-1, r=workingjubileeJubilee-1/+1
Add `const Rem`
2025-07-04Rollup merge of #142440 - Kivooeo:tf14, r=tgross35Jubilee-137/+203
`tests/ui`: A New Order [14/N] > [!NOTE] > > Intermediate commits are intended to help review, but will be squashed prior to merge. Some `tests/ui/` housekeeping, to trim down number of tests directly under `tests/ui/`. Part of rust-lang/rust#133895. r? `@jieyouxu`
2025-07-05Auto merge of #138759 - scottmcm:operand-builder, r=saethlinbors-77/+380
Allow `enum` and `union` literals to also create SSA values Today, `Some(x)` always goes through an `alloca`, even in trivial cases where the niching means the constructor doesn't even change the value. For example, <https://rust.godbolt.org/z/6KG6PqoYz> ```rust pub fn demo(r: &i32) -> Option<&i32> { Some(r) } ``` currently emits the IR ```llvm define align 4 ptr `@demo(ptr` align 4 %r) unnamed_addr { start: %_0 = alloca [8 x i8], align 8 store ptr %r, ptr %_0, align 8 %0 = load ptr, ptr %_0, align 8 ret ptr %0 } ``` but with this PR it becomes just ```llvm define align 4 ptr `@demo(ptr` align 4 %r) unnamed_addr { start: ret ptr %r } ``` (Of course the optimizer can clean that up, but it'd be nice if it didn't have to -- especially in debug where it doesn't run. This is like rust-lang/rust#123886, but that only handled non-simd `struct`s -- this PR generalizes it to all non-simd ADTs.) Doing this means handing variants other than `FIRST_VARIANT`, handling the active field for unions, refactoring the discriminant code so the Place and Operand parts can share the calculation, etc. Other PRs that led up to this one: - https://github.com/rust-lang/rust/pull/142005 - https://github.com/rust-lang/rust/pull/142103 - https://github.com/rust-lang/rust/pull/142324 - https://github.com/rust-lang/rust/pull/142383 --- try-job: aarch64-gnu
2025-07-04Make Rem const for floatsKurt Heiritz (pseudo)-1/+1
2025-07-04Auto merge of #143459 - matthiaskrgr:rollup-gsv6uzl, r=matthiaskrgrbors-180/+385
Rollup of 8 pull requests Successful merges: - rust-lang/rust#141532 (std: sys: net: uefi: tcp4: Implement write) - rust-lang/rust#143085 (Port `#[non_exhaustive]` to the new attribute parsing infrastructure) - rust-lang/rust#143372 (Remove names_imported_by_glob_use query.) - rust-lang/rust#143386 (Assign dependency bump PRs to me) - rust-lang/rust#143406 (Remove some unnecessary `unsafe` in VecCache) - rust-lang/rust#143408 (mbe: Gracefully handle macro rules that end after `=>`) - rust-lang/rust#143414 (remove special-casing of boxes from match exhaustiveness/usefulness analysis) - rust-lang/rust#143444 (clean up GVN TypeId test) r? `@ghost` `@rustbot` modify labels: rollup
2025-07-05Rollup merge of #143444 - lukas-code:gvn-test, r=RalfJungMatthias Krüger-34/+95
clean up GVN TypeId test addresses https://github.com/rust-lang/rust/pull/142789#discussion_r2184897992 This is an attempt to clarify what this test is actually supposed to test and make it less dependent on `TypeId` internals (it now depends on the output of `type_name` instead). I verified that this version still miscompiles on `nightly-2025-02-11`. r? ``@oli-obk`` ``@RalfJung``
2025-07-05Rollup merge of #143414 - dianne:box-usefulness-cleanup, r=NadrierilMatthias Krüger-81/+55
remove special-casing of boxes from match exhaustiveness/usefulness analysis As a first step in replacing `box_patterns` with `deref_patterns`, this treats box patterns as deref patterns in the THIR and exhaustiveness analysis. This allows a bunch of special-casing to be removed. The emitted MIR is unchanged. Incidentally, this fixes a bug caused by box patterns being treated like structs rather than pointers, where enabling `exhaustive_patterns` (rust-lang/rust#51085) could give rise to spurious `unreachable_patterns` lints on arms required for exhaustiveness. Following the lint's advice to remove the match arm would result in an error. I'm not sure what the current state of `exhaustive_patterns` is with regard to reference/box opsem, or whether there's any intention to have `unreachable_patterns` be more granular than the whole arm, but regardless this should hopefully make them easier to handle consistently. Tracking issue for deref patterns: rust-lang/rust#87121 r? `@Nadrieril`
2025-07-05Rollup merge of #143408 - joshtriplett:fix-mbe-parser, r=compiler-errorsMatthias Krüger-0/+87
mbe: Gracefully handle macro rules that end after `=>` Add a test for various cases of invalid macro definitions. Closes: https://github.com/rust-lang/rust/issues/143351