Commit graph

15939 commits

Author SHA1 Message Date
Oli Scherer
4a8773a3af Rename PatKind::Lit to Expr 2025-01-08 07:34:59 +00:00
Oli Scherer
c9365dd09f Exhaustively handle expressions in patterns 2025-01-08 07:33:46 +00:00
bors
1f81f90689 Auto merge of #135207 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2025-01-08 01:08:24 +00:00
Matthias Krüger
5dd21df7c1
Rollup merge of #135200 - jieyouxu:stabilize-style-edition, r=ytmimi,compiler-errors
rustfmt: drop nightly-gating of the `--style-edition` flag registration

Follow-up to [Stabilize `style_edition = "2024"` in-tree #134929](https://github.com/rust-lang/rust/pull/134929).

#134929 un-nightly-gated the *read* of `--style-edition`, but didn't also un-nightly-gate the *registration*/*declaration* of the `--style-edition` flag itself. Reading `--style-edition` on a non-nightly channel (e.g. beta) will thus panic because `--style-edition` is never declared.

This PR also un-nightly-gates the registration. Not sure how to write a regression test for this, because this *requires* the non-nightly / beta channel. Though existing tests do fail (albeit indirectly).

Checking if this fixes the panic against beta in https://github.com/rust-lang/rust/pull/135197.

r? rustfmt
2025-01-07 21:39:42 +01:00
Matthias Krüger
a20d0d5a5c
Rollup merge of #134989 - max-niederman:guard-patterns-hir, r=oli-obk
Lower Guard Patterns to HIR.

Implements lowering of [guard patterns](https://rust-lang.github.io/rfcs/3637-guard-patterns.html) (see the [tracking issue](#129967)) to HIR.
2025-01-07 21:39:40 +01:00
Laurențiu Nicola
e103ab1608 Merge from rust-lang/rust 2025-01-07 17:57:53 +02:00
Laurențiu Nicola
aa1ef0a432 Preparing for merge from rust-lang/rust 2025-01-07 17:57:18 +02:00
Guillaume Gomez
ec266207cb
Rollup merge of #135198 - joshtriplett:str-is-a-type, r=jieyouxu
Avoid naming variables `str`

This renames variables named `str` to other names, to make sure `str`
always refers to a type.

It's confusing to read code where `str` (or another standard type name)
is used as an identifier. It also produces misleading syntax
highlighting.
2025-01-07 15:30:28 +01:00
Guillaume Gomez
ccaa0f331c
Rollup merge of #135193 - onur-ozkan:tidy-cache-invalidation, r=jieyouxu
don't bless `proc_macro_deps.rs` unless it's necessary

Running tidy with `--bless` flag is breaking the build cache as tidy updates mtime of `proc_macro_deps.rs` (https://github.com/rust-lang/rust/pull/134865) unconditionally and that leads cargo to recompile tidy.

This patch fixes that.
2025-01-07 15:30:27 +01:00
Lukas Wirth
8e4409cce3
Merge pull request #18870 from Veykril/push-vnpsptpolyol
Drop unnecessary tracing::warn
2025-01-07 13:55:28 +00:00
Lukas Wirth
21faec1fec
Merge pull request #18867 from Veykril/push-ntmxlropxkrr
internal: target-triple -> target-tuple + version fetching cleanup
2025-01-07 13:46:58 +00:00
Lukas Wirth
b039d3fc5c Drop unnecessary tracing::warn
We already emit an error
2025-01-07 14:40:00 +01:00
Lukas Wirth
380439c5f3 Add some smoke tests to toolchain_info 2025-01-07 14:33:24 +01:00
Lukas Wirth
d28a0b8fcd Align toolchain version fetching with other toolchain info querying
Fix --target flag argument order in rustc_cfg fetching
2025-01-07 14:30:46 +01:00
Lukas Wirth
05770f2599 target-triple -> target-tuple 2025-01-07 14:25:43 +01:00
Lukas Wirth
c360bf5517
Merge pull request #18788 from Veykril/push-zxystwnotuvq
Remove `rust-analyzer.cargo.sysrootQueryMetadata` config again
2025-01-07 13:14:29 +00:00
Lukas Wirth
764ce49445 Remove rust-analyzer.cargo.sysrootQueryMetadata config again 2025-01-07 14:00:22 +01:00
许杰友 Jieyou Xu (Joe)
b77eb96baa rustfmt: drop nightly-gating of the --style-edition flag registration 2025-01-07 20:49:29 +08:00
Josh Triplett
bb6bbfa13f Avoid naming variables str
This renames variables named `str` to other names, to make sure `str`
always refers to a type.

It's confusing to read code where `str` (or another standard type name)
is used as an identifier. It also produces misleading syntax
highlighting.
2025-01-07 14:30:02 +02:00
Lukas Wirth
f9a3c4122c
Merge pull request #18864 from alexkirsz/alexkirsz/fix-diagnostics-clearing
fix: Fix diagnostics not clearing between flychecks
2025-01-07 12:16:18 +00:00
Chayim Refael Friedman
3f2f3e5180
Merge pull request #18832 from vishruth-thimmaiah/fix_string_comp
fix: do not offer completions within macro strings
2025-01-07 12:11:59 +00:00
Bogdan Mircea
9fb7c15339 project-model: fix JSON project PackageRoot buildfile inclusion 2025-01-07 13:47:17 +02:00
Vishruth-Thimmaiah
09a4ac5e8b
fix: do not offer completions within macro strings 2025-01-07 17:02:28 +05:30
Alex Kirszenberg
4d3e6feb2f lint 2025-01-07 12:07:37 +01:00
Alex Kirszenberg
9294965217 fix: Fix diagnostics not clearing between flychecks 2025-01-07 11:11:04 +01:00
onur-ozkan
b0324cc108 don't bless proc_macro_deps.rs unless it's necessary
Running tidy with `--bless` flag is breaking the build cache as tidy updates mtime
of `proc_macro_deps.rs` unconditionally and that leads cargo to recompile tidy.

This patch fixes that.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-07 09:44:05 +00:00
Laurențiu Nicola
4b387254be Set test-utils dependency version, since it's now being published 2025-01-07 09:51:57 +02:00
bors
fb546ee09b Auto merge of #135173 - pietroalbini:pa-fix-rvp, r=workingjubilee
Avoid replacing the definition of `CURRENT_RUSTC_VERSION`

Before this PR, replace-version-placeholder hardcoded the path defining CURRENT_RUSTC_VERSION (to avoid replacing it). After a refactor moved the file defining it without changing the hardcoded path, the tool started replacing the constant itself with the version number.

To avoid this from happening in the future, this changes the definition of the constant to avoid the tool from ever matching it.

r? `@workingjubilee`
2025-01-07 07:21:09 +00:00
Laurențiu Nicola
8db8e3cc37
Merge pull request #18853 from ChayimFriedman2/no-completion
Fix case where completion inside macro that expands to `#[test]` was unavailable
2025-01-07 06:44:50 +00:00
David Barsky
e02b3ec9cc fix: clear diagnostics on cancel unconditionally, fixing #18854 2025-01-06 18:41:21 -05:00
Pietro Albini
80cdaeac3d
avoid replacing the definition of CURRENT_RUSTC_VERSION
Before this commit, replace-version-placeholder hardcoded the path
defining CURRENT_RUSTC_VERSION (to avoid replacing it). After a refactor
moved the file defining it without changing the hardcoded path, the tool
started replacing the constant itself with the version number.

To avoid this from happening in the future, this changes the definition
of the constant to avoid the tool from ever matching it.
2025-01-06 21:53:48 +01:00
Chayim Refael Friedman
e18e1eb991 Fix case where completion inside macro that expands to #[test] was unavailable
We ignore `#[test]` in the def map, so that's why it failed.
2025-01-06 22:02:24 +02:00
Matthias Krüger
8e2631bdb6
Rollup merge of #135146 - Zalathar:anyhow-backtrace, r=jieyouxu
Don't enable anyhow's `backtrace` feature in opt-dist

As of the stabilization of `std::backtrace` in Rust 1.65, this package flag has no effect other than to enable an unused dependency on the `backtrace` crate.

(See <af0937ef72/Cargo.toml (L18-L23)>.)

While the presence of this feature in opt-dist doesn't cause other tools (which use anyhow) to actually *build* backtrace, it does affect the global crate graph used for dependency version resolution. After removing this feature, we can use `cargo tree --invert --package backtrace` to see that the only remaining reverse-dependency of backtrace is `color-eyre`, which is used by `ui_test`.
2025-01-06 20:59:35 +01:00
Laurențiu Nicola
5afee0d54d
Merge pull request #18852 from ChayimFriedman2/proc-macro-panic
fix: Fix a bug that was caused by fixup reversing
2025-01-06 18:38:24 +00:00
Chayim Refael Friedman
21b9e32af7 Fix a bug that was caused by fixup reversing 2025-01-06 20:06:20 +02:00
Lukas Wirth
22ab7e37be
Merge pull request #18846 from Veykril/push-kmspklwynynu
minor: New clippy lints
2025-01-06 17:12:14 +00:00
Lukas Wirth
0b832bf8a3 minor: New clippy lints 2025-01-06 17:57:17 +01:00
Lukas Wirth
29c21d87d0 fix: Fix non-cargo flychecks immediately clearing received diagnostics 2025-01-06 13:44:30 +01:00
Lukas Wirth
43b44cf128
Merge pull request #18836 from Veykril/push-kksuoxxptvty
fix: Be more permissive with completion resolve data
2025-01-06 10:37:01 +00:00
Lukas Wirth
0389235a15 fix: Be more permissive with completion resolve data 2025-01-06 11:22:42 +01:00
Lukas Wirth
68c2241053
Merge pull request #18845 from Veykril/push-yyuolqomnkys
fix: Fix flycheck getting confused which package to check
2025-01-06 10:21:26 +00:00
Lukas Wirth
e47bb0df91 fix: Fix flycheck getting confused which package to check 2025-01-06 11:05:51 +01:00
Lukas Wirth
aeae353a2c
Merge pull request #18843 from Veykril/push-usuzxtzsnrpt
fix: Handle newstyle `rustc_intrinsic` safety correctly
2025-01-06 09:00:32 +00:00
Lukas Wirth
5ee1b0af00 fix: Handle newstyle rustc_intrinsic safety correctly 2025-01-06 09:47:31 +01:00
Lukas Wirth
6aad73603f fix: Fix relative .cargo env vars not working 2025-01-06 08:50:41 +01:00
bors
fd98df8f14 Auto merge of #135085 - knickish:m68k_unknown_none, r=workingjubilee
add m68k-unknown-none-elf target

r? `@workingjubilee`

The existing `m68k-unknown-linux-gnu` target builds `std` by default, requires atomics, and has a base cpu with an fpu. A smaller/more embedded target is desirable both to have a baseline target for the ISA, as well to make debugging easier for working on the llvm backend. Currently this target is using the `M68010` as the minimum CPU due, but as missing features are merged into the `M68k` llvm backend I am hoping to lower this further.

I have been able to build very small crates using a toolchain built against this target (together with a later version of `object`) using the configuration described in the target platform-support documentation, although getting anything of substantial complexity to build quickly hits errors in the llvm backend
2025-01-06 05:23:55 +00:00
Zalathar
85e0d42a77 Don't enable anyhow's backtrace feature in opt-dist
As of the stabilization of `std::backtrace` in Rust 1.65, this package flag has
no effect other than to enable an unused dependency on the `backtrace` crate.
2025-01-06 13:08:49 +11:00
bjorn3
8e51a89420 Update tidy 2025-01-05 15:54:55 +00:00
bors
dcfa38fe23 Auto merge of #135109 - rust-lang:cargo_update, r=tgross35
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 4 packages to latest compatible versions
    Updating bstr v1.11.1 -> v1.11.3
    Updating spdx v0.10.7 -> v0.10.8
    Updating syn v2.0.93 -> v2.0.94
    Updating tempfile v3.14.0 -> v3.15.0
note: pass `--verbose` to see 35 unchanged dependencies behind latest

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

rustbook dependencies:
     Locking 5 packages to latest compatible versions
    Updating bstr v1.11.1 -> v1.11.3
    Updating cc v1.2.6 -> v1.2.7
    Updating syn v2.0.93 -> v2.0.94
    Updating tempfile v3.14.0 -> v3.15.0
    Updating winnow v0.6.20 -> v0.6.22
```
2025-01-05 09:49:57 +00:00
bors
7270e73b62 Auto merge of #135074 - wzssyqa:mips-mti, r=oli-obk
Target: Add mips mti baremetal support

Do the same thing as gcc, which use the vendor `mti` to mark the toolchain as MIPS32r2 default.

We support both big endian and little endian flavor:
  mips-mti-none-elf
  mipsel-mti-none-elf
2025-01-05 07:01:38 +00:00