Commit graph

19230 commits

Author SHA1 Message Date
bors
8df4a58ac4 Auto merge of #143565 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-07-07 08:14:30 +00:00
bors
0d11be5aab Auto merge of #143556 - jhpratt:rollup-nid39y2, r=jhpratt
Rollup of 9 pull requests

Successful merges:

 - rust-lang/rust#143206 (Align attr fixes)
 - rust-lang/rust#143236 (Stabilize `mixed_integer_ops_unsigned_sub`)
 - rust-lang/rust#143344 (Port `#[path]` to the new attribute parsing infrastructure )
 - rust-lang/rust#143359 (Link to 2024 edition page for `!` fallback changes)
 - rust-lang/rust#143456 (mbe: Change `unused_macro_rules` to a `DenseBitSet`)
 - rust-lang/rust#143529 (Renamed retain_mut to retain on LinkedList as mentioned in the ACP)
 - rust-lang/rust#143535 (Remove duplicate word)
 - rust-lang/rust#143544 (compiler: rename BareFn to FnPtr)
 - rust-lang/rust#143552 (lib: more eagerly return `self.len()` from `ceil_char_boundary`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-07 02:03:03 +00:00
Jacob Pratt
7eea141b87
Rollup merge of #143544 - workingjubilee:rename-bare-fn, r=fmease
compiler: rename BareFn to FnPtr

At some point "BareFn" was the chosen name for a "bare" function, without the niceties of `~fn`, `&fn`, or a few other ways of writing a function type. However, at some point the syntax for a "bare function" and any other function diverged even more. We started calling them what they are: function pointers, denoted by their own syntax.

However, we never changed the *internal* name for these, as this divergence was very gradual. Personally, I have repeatedly searched for "FnPtr" and gotten confused until I find the name is BareFn, only to forget this until the next time, since I don't routinely interact with the higher-level AST and HIR. But even tools that interact with these internal types only touch on them in a few places, making a migration easy enough. Let's use a more intuitive and obvious name, as this 12+ year old name has little to do with current Rust.
2025-07-07 03:26:09 +02:00
bors
ca98d4d4b3 Auto merge of #141829 - dvdsk:sleep_until_linux, r=cuviper,RalfJung
Specialize sleep_until implementation for unix (except mac)

related tracking issue: https://github.com/rust-lang/rust/issues/113752
Supersedes https://github.com/rust-lang/rust/pull/118480 for the reasons see: https://github.com/rust-lang/rust/issues/113752#issuecomment-2902594469

Replaces the generic catch all implementation with target_os specific ones for: linux/netbsd/freebsd/android/solaris/illumos etc. Other platforms like wasi, macos/ios/tvos/watchos and windows will follow in later separate PR's (once this is merged).
2025-07-06 23:00:51 +00:00
Jubilee Young
3c9b98699d rustfmt: migrate BareFn -> FnPtr 2025-07-06 15:03:14 -07:00
Jubilee Young
e47f5657e1 clippy: migrate BareFn -> FnPtr 2025-07-06 15:03:14 -07:00
bors
de031bbcb1 Auto merge of #143526 - matthiaskrgr:rollup-pm69g5v, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - rust-lang/rust#143252 (Rewrite empty attribute lint for new attribute parser)
 - rust-lang/rust#143492 (Use `object` crate from crates.io to fix windows build error)
 - rust-lang/rust#143514 (Organize macro tests a bit more)
 - rust-lang/rust#143518 (rustc_builtin_macros: Make sure registered attributes stay sorted)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-06 16:56:16 +00:00
dvdsk
61cf174dce
sleep_until: add clock_nanosleep support to Miri
The clock_nanosleep support is there to allow code using `sleep_until`
to run under Miri. Therefore the implementation is minimal.
- Only the clocks REALTIME and MONOTONIC are supported. The first is supported simply
because it was trivial to add not because it was needed for sleep_until.
- The only supported flag combinations are no flags or TIMER_ABSTIME only.
If an unsupported flag combination or clock is passed in this throws
unsupported.
2025-07-06 17:49:35 +02:00
Matthias Krüger
017fe2fb8f
Rollup merge of #143252 - JonathanBrouwer:rewrite_empty_attribute, r=jdonszelmann
Rewrite empty attribute lint for new attribute parser

cc `@jdonszelmann`
2025-07-06 15:56:12 +02:00
bors
3c95364c4a Auto merge of #143515 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 6 packages to latest compatible versions
      Adding io-uring v0.7.8
    Updating jsonpath-rust v1.0.2 -> v1.0.3
    Updating libffi v4.1.0 -> v4.1.1
    Updating libffi-sys v3.3.1 -> v3.3.2
    Updating tokio v1.45.1 -> v1.46.1
    Updating wasm-component-ld v0.5.14 -> v0.5.15
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating cc v1.2.27 -> v1.2.29
```
2025-07-06 13:53:52 +00:00
Lukas Wirth
1cf9a7bd7b
Merge pull request #20184 from Veykril/push-ywpynxnltpok
chore: Remove dead field from `InferenceContext`
2025-07-06 09:08:36 +00:00
Lukas Wirth
836e0cbccf chore: Remove dead field from InferenceContext 2025-07-06 10:57:06 +02:00
Matthias Krüger
097efc07cc
Rollup merge of #143504 - RalfJung:compiletest-err, r=jieyouxu
compiletest: print slightly more information on fs::write failure

See [#t-infra > compiletest: panic in dump_output_file: No such file or dire @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/compiletest.3A.20panic.20in.20dump_output_file.3A.20No.20such.20file.20or.20dire/near/527294714)
2025-07-06 10:03:24 +02:00
Matthias Krüger
e25654fb94
Rollup merge of #143493 - lolbinarycat:tidy-spellcheck-bless, r=Kobzol
tidy: use --bless for tidy spellcheck instead of spellcheck:fix

previous behavior was inconsistent with existing extra checks.

unsure if this needs a change tracker entry or a warning for people who try to use the old behavior.

unsure if we should call this `spellcheck:lint` for consistency.

making this consistent is a prerequisite for https://github.com/rust-lang/rust/pull/143398

cc `@nnethercote`

r? `@Kobzol`
2025-07-06 10:03:24 +02:00
Lukas Wirth
eca5905364
Merge pull request #20132 from A4-Tacks/asmut-borrow-minicore
Add AsMut, Borrow and BorrowMut to minicore and famous_defs
2025-07-06 08:01:54 +00:00
Lukas Wirth
37f2263438
Merge pull request #20126 from Wilfred/no_unwrap_in_discover_projects
fix: Avoid .unwrap() when running the discover command
2025-07-06 08:01:10 +00:00
Jonathan Brouwer
3fa0ec91d8
Rewrite empty attribute lint
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-06 09:51:35 +02:00
Lukas Wirth
bc10a25284
Merge pull request #20179 from ChayimFriedman2/destructuring-assignment-never
fix: Fix diverging destructuring assignments
2025-07-06 07:01:40 +00:00
Chayim Refael Friedman
7fb07c9069
Merge pull request #20175 from dianne/match-check-box-cleanup
`hir_ty::match_check` cleanup: remove special handling for box patterns
2025-07-06 02:32:49 +00:00
github-actions
31ea5f90c7 cargo update
compiler & tools dependencies:
     Locking 6 packages to latest compatible versions
      Adding io-uring v0.7.8
    Updating jsonpath-rust v1.0.2 -> v1.0.3
    Updating libffi v4.1.0 -> v4.1.1
    Updating libffi-sys v3.3.1 -> v3.3.2
    Updating tokio v1.45.1 -> v1.46.1
    Updating wasm-component-ld v0.5.14 -> v0.5.15
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating cc v1.2.27 -> v1.2.29
2025-07-06 00:26:38 +00:00
Matthias Krüger
7ad67e6b54
Rollup merge of #143478 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-07-05 22:34:41 +02:00
Ralf Jung
9c9c5b041b compiletest: print slightly more information on fs::write failure 2025-07-05 22:21:23 +02:00
Chayim Refael Friedman
4aa30b513f Fix diverging destructuring assignments
They need to return `!`, unlike diverging ordinary assignments. See the comment in the code.
2025-07-05 22:35:22 +03:00
Ben Kimock
53757e6725
Rollup merge of #143447 - jieyouxu:compiletest-maintenance-4, r=Kobzol
[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-05 12:32:54 -04:00
binarycat
c1ed2ac8a2 tidy: add specific error message for trying to use spellcheck:fix. 2025-07-05 10:24:17 -05:00
binarycat
971feb6185 tidy: use --bless for tidy spellcheck instead of spellcheck:fix
previous behavior was inconsistent with existing extra checks.
2025-07-05 10:17:31 -05:00
A4-Tacks
1d7fde3085
Fix Borrow and BorrowMut define from beta std 2025-07-05 21:49:56 +08:00
Jieyou Xu
7405e2a915
Improve compiletest config documentation
Including a bunch of FIXMEs.
2025-07-05 15:19:48 +08:00
Ralf Jung
72043e3181 fmt 2025-07-05 09:12:36 +02:00
Ralf Jung
61f3705920 Merge from rustc 2025-07-05 09:12:26 +02:00
Ralf Jung
1620117f94 Preparing for merge from rustc 2025-07-05 09:01:43 +02:00
dianne
26fd40e325 hir_ty::match_check: remove special handling for box patterns 2025-07-04 23:43:49 -07:00
Jubilee
b1234daf8c
Rollup merge of #142440 - Kivooeo:tf14, r=tgross35
`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-04 23:26:19 -07:00
Matthias Krüger
031bf9715a
Rollup merge of #143372 - cjgillot:bare-glob-map, r=petrochenkov
Remove names_imported_by_glob_use query.

Based on https://github.com/rust-lang/rust/pull/143247
r? ``@ghost`` for perf
2025-07-05 00:12:09 +02:00
Jonathan Brouwer
027126ce0b
Port #[non_exhaustive] to the new attribute parsing infrastructure 2025-07-04 20:30:42 +02:00
vinícius x
babbafb1c1 remove syntaxTree from docs 2025-07-04 14:27:03 -03:00
Wilfred Hughes
e779ea0ea7 fix: Avoid .unwrap() when running the discover command
Previously, the following configuration in settings.json:

    "rust-analyzer.workspace.discoverConfig": {
        "command": [
            "oops",
            "develop-json",
            "{arg}"
        ],
        "progressLabel": "rust-analyzer",
        "filesToWatch": [
            "BUCK",
            "TARGETS"
        ]
    },

Would previously cause a crash in rust-analyzer:

    thread 'LspServer' panicked at crates/rust-analyzer/src/main_loop.rs:776:84:
    called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

Instead, use more specific panic messages.
2025-07-04 16:55:53 +01:00
Matthias Krüger
2faf66d091
Rollup merge of #143387 - dpaoliello:shouldpanicfn, r=bjorn3
Make __rust_alloc_error_handler_should_panic a function

Fixes rust-lang/rust#143253

`__rust_alloc_error_handler_should_panic` is a static but was being exported as a function.

For most targets this doesn't matter, but Arm64EC Windows uses different decorations for exported variables vs functions, hence it fails to link when `-Z oom=abort` is enabled.

We've had issues in the past with statics like this (see rust-lang/rust#141061) but the tldr; is that Arm64EC needs symbols correctly exported as either a function or data, and data MUST and MUST ONLY be marked `dllimport` when the symbol is being imported from another binary, which is non-trivial to calculate for these compiler-generated statics.

So, instead, the easiest thing to do is to make `__rust_alloc_error_handler_should_panic` a function instead.

Since `__rust_alloc_error_handler_should_panic` isn't involved in any linking shenanigans, I've marked it as `AlwaysInline` with the hopes that the various backends will see that it is just returning a constant and perform the same optimizations as the previous implementation.

r? `@bjorn3`
2025-07-04 16:22:36 +02:00
Matthias Krüger
324aa5d4ba
Rollup merge of #143286 - Muscraft:track-diagnostics-note, r=WaffleLapkin
Make -Ztrack-diagnostics emit like a note

[#t-compiler/diagnostics > Rendering -Ztrack-diagnostics like a note](https://rust-lang.zulipchat.com/#narrow/channel/147480-t-compiler.2Fdiagnostics/topic/Rendering.20-Ztrack-diagnostics.20like.20a.20note/with/526608647)

As discussed on the Zulip thread above, I want to make `-Ztrack-diagnostics` emit like a `note`. This is because I find its current output jarring, and the fact that it gets rendered completely left-aligned, [even in the middle of a snippet](86e05cd300/tests/ui/track-diagnostics/track6.stderr), seems like something that should be changed. Turning it into a `note` seems like the best choice, as it would align it with the rest of the output, and `note` is already used for somewhat similar things, like seeing why a lint was fired.

---

Note: turning `-Ztrack-diagnostics` into a `note` will also make `annotate-snippets` API a bit cleaner
2025-07-04 16:22:35 +02:00
Camille GILLOT
2d3ff91add Remove names_imported_by_glob_use query. 2025-07-04 14:01:09 +00:00
Laurențiu Nicola
4b506ca0e1
Merge pull request #20170 from Veykril/push-vtsmzopsunsw
Improve flycheck and build script progress reporting
2025-07-04 13:46:09 +00:00
Ralf Jung
0d656e0de5 declare data race and weak memory support as non-experimental 2025-07-04 15:07:19 +02:00
Lukas Wirth
f3325a5a6a Improve flycheck and build script progress reporting 2025-07-04 11:52:09 +02:00
Lukas Wirth
c49987f5a4 Skip unnecessary eq work in BodySourceMap 2025-07-04 11:36:06 +02:00
Lukas Wirth
1494a27faf
Merge pull request #20031 from jnyfah/some-branch
Fix: Resolve HIR display length issues and improve adjustment tooltips
2025-07-04 09:20:14 +00:00
Lukas Wirth
0b4cbdf556 minor: Handle match arm commas in make::match_arm
Co-authored-by: Giga Bowser <45986823+Giga-Bowser@users.noreply.github.com>
2025-07-04 11:08:28 +02:00
Lukas Wirth
474e42ddc4
Merge pull request #20148 from ShoyuVanilla/sysroot-no-deps
fix: Honor `rust-analyzer.cargo.noDeps` option when fetching sysroot metadata
2025-07-04 08:03:25 +00:00
Lukas Wirth
1de9e2c461
Merge pull request #20165 from Hmikihiro/migrate-unmerge_match_arm
Migrate `unmerge_match_arm` Assist to use `SyntaxEditor`
2025-07-04 08:02:58 +00:00
Lukas Wirth
f34a7ecf04
Merge pull request #20167 from ChayimFriedman2/enum-derive-default
fix: Fix some things with builtin derives
2025-07-04 07:59:14 +00:00
The Miri Cronjob Bot
f655289d49 Merge from rustc 2025-07-04 05:05:03 +00:00