Commit graph

298901 commits

Author SHA1 Message Date
Tamir Duberstein
f727b3622b
Invert <CString as Deref>::deref and CString::as_c_str
This is consistent with the style of `ByteString`.
2025-04-18 10:31:12 -04:00
A4-Tacks
ad560d6890
Support ide-assists raw_string suffix 2025-04-18 22:06:22 +08:00
est31
162daaa2fa Remove let_chains feature gate from even more tests 2025-04-18 15:57:29 +02:00
est31
d75f8cde2f Also allow let chains in match guards 2025-04-18 15:57:29 +02:00
est31
eb1639bd33 Add tests to check the situation with heterogenous spans
The edition gate is a bit stricter than the drop behaviour,
which is fine. The cases we want to avoid are the opposite:
not gated but 2021 drop behaviour.
2025-04-18 15:57:29 +02:00
est31
0e91190b05 Remove let_chains feature gate from some places in the testsuite 2025-04-18 15:57:29 +02:00
bors
191df20fca Auto merge of #139996 - matthiaskrgr:rollup-0nka2hw, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #138528 (deref patterns: implement implicit deref patterns)
 - #139393 (rustdoc-json: Output target feature information)
 - #139553 (sync::mpsc: prevent double free on `Drop`)
 - #139615 (Remove `name_or_empty`)
 - #139853 (Disable combining LLD with external llvm-config)
 - #139913 (rustdoc/clean: Fix lowering of fn params (fixes correctness & HIR vs. middle parity regressions))
 - #139942 (Ignore aix for tests/ui/erros/pic-linker.rs)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-18 13:49:17 +00:00
Lieselotte
17b7d63fd7
rtprintpanic: clarify that the error is aborting the process 2025-04-18 15:02:22 +02:00
onur-ozkan
ac7d1be031 add coverage on config include logic
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-18 12:29:18 +00:00
est31
2e61af2fca Stabilize let chains on edition 2024 2025-04-18 14:21:14 +02:00
Lieselotte
0d56e3eed1
LocalKey<T>: document that the dtor should not panic 2025-04-18 14:11:32 +02:00
Timo
781fdab9a9
Move internal lints to their own crate (#13223)
This makes it so switching the internal feature on/off no longer
rebuilds `clippy_lints`.

r? @flip1995

changelog: none
2025-04-18 12:04:08 +00:00
Guillaume Gomez
8f6ef1f1f6 Improve clean_maybe_renamed_item function code a bit 2025-04-18 13:35:49 +02:00
roblabla
1b39302571 Disable has_thread_local on i686-win7-windows-msvc
On Windows 7 32-bit, the alignment characteristic of the TLS Directory
don't appear to be respected by the PE Loader, leading to crashes. As
a result, let's disable has_thread_local to make sure TLS goes through
the emulation layer.
2025-04-18 13:30:26 +02:00
Haowei Hsu
399cf1f37e fix(docs): add newlines between prefix/suffix chapters
add newlines between prefix/suffix chapters in SUMMARY.md
to ensure correct extraction by mdbook-i18n-helpers.
2025-04-18 18:49:34 +08:00
Jakub Beránek
b18e373053 Reduce duplicated test prefixes in nested subdirectories
`assembly/asm` contained a test named `asm/aarch64-el2vmsa.rs`, while it should have been only `arch64-el2vmsa.rs`.
2025-04-18 12:44:39 +02:00
bors
6a0bd27619 Auto merge of #139997 - matthiaskrgr:rollup-a1fe5zg, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #137881 (Add `copy_within` to `IndexSlice`)
 - #138599 (avoid overflow when generating debuginfo for expanding recursive types)
 - #139934 (Update `compiler-builtins` to 0.1.155)
 - #139976 (run-make: drop `os_pipe` workaround now that `anonymous_pipe` is stable on beta)
 - #139989 (tests: adjust 101082 test for LLVM 21 fix)
 - #139991 (remove stray file)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-18 10:37:11 +00:00
Jakub Beránek
65ce38a4c9 Add a note that explains the counts 2025-04-18 12:32:19 +02:00
bjorn3
49bfa1aaf5 Fix simd_insert_dyn and simd_extract_dyn intrinsics with non-pointer sized indices 2025-04-18 10:30:44 +00:00
Laurențiu Nicola
968526f60d
Merge pull request #19618 from lnicola/pgo-revision
internal: Support specific revisions for PGO
2025-04-18 10:10:09 +00:00
Laurențiu Nicola
c777730005 Support specific revisions for pgo 2025-04-18 12:58:52 +03:00
Chayim Refael Friedman
69f3c33b88
Merge pull request #19619 from ChayimFriedman2/sort-notable
fix: Sort notable traits in hover
2025-04-18 09:56:45 +00:00
Chayim Refael Friedman
14c2933de2 Sort notable traits in hover
Previously it was ordered by what accidentally happened to be the crate graph order, which isn't sensible, plus it caused changes when any change was done to salsa IDs.
2025-04-18 12:45:22 +03:00
Timo
bcd76c3384
empty_enum_variants_with_brackets: Do not lint reachable enums and enum variants used as functions in the same crate (#12971)
Fixes #12551

changelog: [`empty_enum_variants_with_brackets`]: Do not lint reachable
enums or enums which are used as functions within the same crate.

r? @xFrednet
2025-04-18 09:45:02 +00:00
bjorn3
c8c87421a5 Nicer formatting for verifier errors during define_function 2025-04-18 09:02:00 +00:00
Lukas Wirth
6f994da630
Merge pull request #19616 from ChayimFriedman2/transparent-diags
internal: Make hir-ty non-diagnostic queries transparent
2025-04-18 08:53:53 +00:00
Trevor Gross
8da1290f04 Ensure all public functions are marked no_panic
Fixes: https://github.com/rust-lang/libm/issues/201
2025-04-18 04:23:00 -04:00
Trevor Gross
2db05de8fd ci: Account for PR_NUMBER being set to an empty string
This is the case for CI after merge that is no longer associated with a
pull request.
2025-04-18 03:26:38 -04:00
Trevor Gross
2585a57dc7 Ensure configure.rs changes trigger rebuilds 2025-04-18 02:47:03 -04:00
onur-ozkan
edfef428f7 ensure compiler existance of tools on the dist step
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-18 09:42:42 +03:00
Ralf Jung
46994aaccc
Merge pull request #4279 from rust-lang/rustup-2025-04-18
Automatic Rustup
2025-04-18 06:37:34 +00:00
Makai
35a20ded32 Implement SmirInterface
- With `Context` wrapped by `SmirInterface`, the stable-mir's TLV stores a pointer to `SmirInterface`, while the rustc-specific TLV stores a pointer to tables.
 - This PR make the `rustc_smir` mod public.
2025-04-18 14:34:20 +08:00
arshitas
9abc26fb85 Remove impl_tag from CONTRIBUTING.md file 2025-04-18 06:15:48 +00:00
The Miri Cronjob Bot
dc21c77ae6 Merge from rustc 2025-04-18 05:01:10 +00:00
Manuel Drehwald
136171c8d8 skip llvm-config in autodiff check builds, when its unavailable 2025-04-18 00:58:04 -04:00
The Miri Cronjob Bot
378886f772 Preparing for merge from rustc 2025-04-18 04:54:04 +00:00
Trevor Gross
1cb17773f6 ci: Increase the timeout for extensive tests
The reorganization PR has caused this to fail once before because every
file shows up as changed. Increase the timeout so this doesn't happen.

We now cancel the job if too many extensive tests are run unless `ci:
allow-many-extensive` is in the PR description, so this helps prevent
the limit being hit by accident.
2025-04-17 23:31:06 -05:00
Trevor Gross
a0e5a7a636 ci: Require ci: allow-many-extensive if a threshold is exceeded
Error out when too many extensive tests would be run unless `ci:
allow-many-extensive` is in the PR description. This allows us to set a
much higher CI timeout with less risk that a 4+ hour job gets started by
accident.
2025-04-17 23:31:06 -05:00
Trevor Gross
cad0d6f187 ci: Allow skipping extensive tests with ci: skip-extensive
Sometimes we do refactoring that moves things around and triggers an
extensive test, even though the implementation didn't change. There
isn't any need to run full extensive CI in these cases, so add a way to
skip it from the PR message.
2025-04-17 23:31:06 -05:00
Chayim Refael Friedman
a16cca47af Make hir-ty non-diagnostic queries transparent
That is, all queries that have a `with_diagnostic` variant.

Them being tracked was (maybe) needed before #19462, because back then diagnostics could refer `AstId`s (for macro types), but now they are no longer needed.
2025-04-18 07:04:13 +03:00
Trevor Gross
014c3e4ccb ci: Cancel jobs when a new push happens
Jobs should just cancel automatically, it isn't ideal that extensive
jobs can continue running for multiple hours after code has been
updated. Use a solution from [1] to do this.

[1]: https://stackoverflow.com/a/72408109/5380651
2025-04-17 22:57:24 -05:00
Chayim Refael Friedman
e7ac9c7468 Fix a panic when a trait method in an impl declares a lifetime parameter not in the trait declaration
Shuffle the code a bit.
2025-04-18 06:28:17 +03:00
Matthias Krüger
1b524214e2
Rollup merge of #139991 - tshepang:stray, r=Kobzol
remove stray file
2025-04-18 05:17:55 +02:00
Matthias Krüger
1b03b826c4
Rollup merge of #139989 - durin42:llvm-21-issue-101082, r=cuviper
tests: adjust 101082 test for LLVM 21 fix

Fixes #139987.
2025-04-18 05:17:54 +02:00
Matthias Krüger
095486e125
Rollup merge of #139976 - jieyouxu:plumbing, r=Kobzol
run-make: drop `os_pipe` workaround now that `anonymous_pipe` is stable on beta

Follow-up to #137537 where I had to include a temporary dep on `os_pipe` before `anonymous_pipe` was stabilized. Now that `anonymous_pipe` is stable on beta, we can get rid of this workaround.

Closes #137532. (Final cleanup item)

r? `@Kobzol`
2025-04-18 05:17:54 +02:00
Matthias Krüger
af61fdf7d5
Rollup merge of #139934 - tgross35:update-builtins, r=tgross35
Update `compiler-builtins` to 0.1.155

Includes the following changes:

* Replace `#[naked]` with `#[unsafe(naked)]` [1] [2]
* Replace `bl!` with `asm_sym` [3]

[1]: https://github.com/rust-lang/compiler-builtins/pull/817
[2]: https://github.com/rust-lang/compiler-builtins/pull/821
[3]: https://github.com/rust-lang/compiler-builtins/pull/820

try-job: armhf-gnu
try-job: aarch64-apple
try-job: dist-apple-various
2025-04-18 05:17:53 +02:00
Matthias Krüger
68b439c63b
Rollup merge of #138599 - adwinwhite:recursive-overflow, r=wesleywiser
avoid overflow when generating debuginfo for expanding recursive types

Fixes #135093
Fixes #121538
Fixes #107362
Fixes #100618
Fixes #115994

The overflow happens because expanding recursive types keep creating new nested types when recurring into sub fields.
I fixed that by returning an empty stub node when expanding recursion is detected.
2025-04-18 05:17:53 +02:00
Matthias Krüger
484abe9f77
Rollup merge of #137881 - Jarcho:index_slice_ex, r=wesleywiser
Add `copy_within` to `IndexSlice`
2025-04-18 05:17:50 +02:00
Matthias Krüger
8cb57ed74b
Rollup merge of #139942 - dalvescb:master, r=jieyouxu
Ignore aix for tests/ui/erros/pic-linker.rs

This test case fails on AIX because of how the linker arguments are passed. Furthermore on AIX `-z text` only works in dynamic mode, making this test case irrelevant.
2025-04-18 05:16:31 +02:00
Matthias Krüger
cbf26629c4
Rollup merge of #139913 - fmease:rustdoc-fix-fn-param-handling, r=GuillaumeGomez
rustdoc/clean: Fix lowering of fn params (fixes correctness & HIR vs. middle parity regressions)

**(0)** PR #136411 aimed to stop rendering unnamed params of fn ptr types as underscores in the common case (e.g., `fn(_: i32)` → `fn(i32)`) to make the rendered output stylistically more conventional.

**(0.a)** However, since the cleaning fn that the PR modified is also used for lowering the HIR params of foreign fns and required assoc fns in traits, it accidentally butchered the rendering of the latter two:

```rs
pub trait Trait { fn assoc_fn(_: i32); } // as well as (Rust 2015 only): fn assoc_fn(i32);
unsafe extern "C" { pub fn foreign_fn(_: i32); }

// Since 1.86 the fns above gets mis-rendered as:
pub fn assoc_fn(: i32) // <-- BUTCHERED
pub unsafe extern "C" fn foreign_fn(: i32) // <-- BUTCHERED
```

**(0.b)** Furthermore, it broke parity with middle cleaning (which includes inlined cross-crate re-exports) re-regressing parts of #44306 I once fixed in PR #103885.

**(1)** Lastly, PR #139035 introduced an ICE triggered by the following input file:

```rs
trait Trait { fn anon(()) {} } // internal error: entered unreachable code
```

---

This PR fixes all of these regressions and in the first commit renames several types and fns to be more ~~correct~~ descriptive and legible.

~~It also refactors `Param.name` to be of type `Option<Symbol>` instead `Symbol` (where `None` ~ `kw::Empty`), so rendering mistakes like that can no longer creep in like that (ignoring tests). CC #137978.~~ Independently done in PR #139846 a day prior.
2025-04-18 05:16:31 +02:00