Lukas Wirth
4183bcdcde
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
d91030153c
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
e9504252b8
Merge pull request #20167 from ChayimFriedman2/enum-derive-default
...
fix: Fix some things with builtin derives
2025-07-04 07:59:14 +00:00
Chayim Refael Friedman
040049b799
Merge pull request #20144 from regexident/load-workspace-into-db
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Add `fn load_workspace_into_db` variant for `ra_ap_load_cargo`'s `fn load_workspace`
2025-07-03 23:08:37 +00:00
Vincent Esche
a0e857f7bc
Add fn load_workspace_into_db variant for ra_ap_load_cargo's fn load_workspace
2025-07-03 23:09:49 +02:00
Chayim Refael Friedman
9c4a7705b1
Fix some things with builtin derives
...
1. Err on unions on derive where it's required.
2. Err on `#[derive(Default)]` on enums without `#[default]` variant.
3. Don't add where bounds `T: Default` when expanding `Default` on enums (structs need that, enums not).
Also, because I was annoyed by that, in minicore, add a way to filter on multiple flags in the line-filter (`// :`). This is required for the `Debug` and `Hash` derives, because the derive should be in the prelude but the trait not.
2025-07-03 23:05:56 +03:00
Hayashi Mikihiro
c0ca61b8ff
Migrate unmerge_match_arm Assist to use SyntaxEditor
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-04 02:32:55 +09:00
Lukas Wirth
87940a999f
Merge pull request #20161 from ShoyuVanilla/closure-capture
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: Incorrect closure capturing for let exprs
2025-07-03 15:42:11 +00:00
Chayim Refael Friedman
c0d9c95926
Merge pull request #20120 from Hmikihiro/match_bind_not_type
...
fix: resolve item in match bind
2025-07-03 15:27:07 +00:00
Hayashi Mikihiro
07a1b4e69f
fix: resolve item in match bind
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-03 23:57:18 +09:00
Shoyu Vanilla
f3eb22edd0
fix: Closure capturing for let exprs, again
2025-07-03 22:51:16 +09:00
Lukas Wirth
f14bf95931
Merge pull request #20160 from Veykril/push-pqvskktpnylu
...
fix: Improve diagnostic ranges for `macro_calls!`
2025-07-03 12:23:23 +00:00
Lukas Wirth
2480a42ff4
fix: Improve diagnostic ranges for macro_calls!
...
We used to point to the entire macro call including its token tree if we couldn't upmap the diagnostic to the input
This generally makes things very noisy as the entire macro call will turn red on errors.
Instead, we now macro the path and `!` (bang) token as the error source range which is a lot nicer on the eyes.
2025-07-03 14:12:27 +02:00
Lukas Wirth
292ab7cf95
Merge pull request #20159 from Veykril/push-kyssnlrxlwsl
...
Always couple `--compile-time-deps` with
2025-07-03 11:03:36 +00:00
Lukas Wirth
2219f8e175
Always couple --compile-time-deps with
...
`--all-targets` coupled with `--compile-time-deps` will never actually build binaries and so it won't fail for targets where libtest is missing
2025-07-03 12:52:32 +02:00
Lukas Wirth
5c3b06b4c0
Merge pull request #20158 from Veykril/push-rquozrwuskry
...
metrics / generate_final_metrics (push) Blocked by required conditions
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
fix: Do not warn about proc-macro srv when sysroot is missing
2025-07-03 10:03:04 +00:00
Lukas Wirth
d1149cba49
fix: Do not warn about proc-macro srv when sysroot is missing
2025-07-03 11:51:31 +02:00
Lukas Wirth
fc2a3bfdab
Merge pull request #20157 from Veykril/push-nxrvpywtvoys
...
Re-enable fixpoint iteration for variance computation
2025-07-03 09:27:44 +00:00
Lukas Wirth
a3dc41bf97
Re-enable fixpoint iteration for variance computation
2025-07-03 10:48:09 +02:00
Lukas Wirth
661e7d2ac2
Merge pull request #19923 from Veykril/push-rlrsyxsqnxnn
...
Bump salsa
2025-07-03 08:16:33 +00:00
Lukas Wirth
8029c731ed
Bump salsa
2025-07-03 10:05:16 +02:00
Lukas Wirth
115d59f327
Merge pull request #20112 from Veykril/push-ruszuxrqzmvz
...
Workaround missing none group support in builtin macros
2025-07-03 08:04:16 +00:00
Lukas Wirth
a1f548bce2
Merge pull request #20156 from Veykril/push-knkzxuxkzoyx
...
Restructure proc-macro loading erros, differentiate hard error property on kind
2025-07-03 07:40:17 +00:00
Lukas Wirth
e54759083a
Restructure proc-macro loading erros, differentiate hard error property on kind
2025-07-03 09:28:53 +02:00
Lukas Wirth
422a777143
Merge pull request #20151 from ChayimFriedman2/keyword-hover-link
...
fix: Remove keyword prefixes (`macro@` or `macro `) from links in the docs only if the link target is inferred
2025-07-03 06:27:39 +00:00
Chayim Refael Friedman
3d88c1e647
Remove keyword prefixes (macro@ or macro ) from links in the docs only if the link target is inferred
...
That is, do it for `[macro foo]`, but not for `[macro foo](macro foo)`.
2025-07-03 00:41:47 +03:00
Shoyu Vanilla
224b84f843
fix: Honor rust-analyzer.cargo.noDeps option when fetching sysroot metadata
2025-07-03 00:16:05 +09:00
Laurențiu Nicola
11d45c8813
Merge pull request #20137 from Hmikihiro/migrate-wrap_unwrap_cfg_attr-assist-to-syntaxeditor
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Migrate `wrap_unwrap_cfg_attr` Assist to use `SyntaxEditor`
2025-07-02 05:24:36 +00:00
Hayashi Mikihiro
0b7ad9cd0f
Migrate wrap_unwrap_cfg_attr assist to use SyntaxEditor
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-02 01:18:22 +09:00
Laurențiu Nicola
aa16885e62
Merge pull request #20136 from Hmikihiro/migrate-toggle_macro_delimiter
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Migrate `toggle_macro_delimiter` Assist to use `SyntaxEditor`
2025-07-01 13:53:02 +00:00
Hayashi Mikihiro
3af0f4f6be
Migrate toggle_macro_delimiter assist to SyntaxEditor
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01 22:40:31 +09:00
Laurențiu Nicola
cb52f4c3c9
Merge pull request #20135 from Hmikihiro/migrate-promote_local_to_const-assist-tosyntaxeditor
...
Migrate `promote_local_to_const` Assist to `SyntaxEditor`
2025-07-01 11:23:23 +00:00
Hayashi Mikihiro
a423b7c7cc
Migrate promote_local_to_const Assist to SyntaxEditor
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01 20:11:52 +09:00
Laurențiu Nicola
ce2c0c968a
Merge pull request #20134 from Hmikihiro/migrate-replace_is_method_with_if_let_method-to-SyntaxFactory
...
Migrate `replace_is_method_with_if_let_method` Assist to use `SyntaxFactory`
2025-07-01 10:39:30 +00:00
Hayashi Mikihiro
fcc81a38b3
remove if-let chains
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01 18:38:50 +09:00
Hayashi Mikihiro
f6a247dc57
Migrate replace_is_method_with_if_let_method Assist to use SyntaxFactory
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-01 17:19:16 +09:00
Laurențiu Nicola
eaf37e2c98
Merge pull request #20128 from lnicola/sync-from-rust
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Sync from downstream
2025-06-30 15:11:33 +00:00
Laurențiu Nicola
07e1072932
Merge from rust-lang/rust
2025-06-30 17:42:03 +03:00
Laurențiu Nicola
02434fda4d
Preparing for merge from rust-lang/rust
2025-06-30 17:41:18 +03:00
Lukas Wirth
c5a1078578
Merge pull request #20124 from zachs18/patch-1
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Remove last use of `rustc_pattern_analysis::Captures`
2025-06-30 05:32:04 +00:00
zachs18
0eb3ee8eb1
Remove last use of rustc_pat_analysis::Captures
...
It's not necessary anymore due to Rust 2024 lifetime capture rules.
2025-06-29 22:36:53 -05:00
bors
f4728fc613
Auto merge of #142802 - compiler-errors:dedup-analyses, r=lcnr
...
Collapse Analysis|Borrowck|PostBorrowckAnalysis when there are no opaques
r? lcnr
2025-06-29 19:12:29 +00:00
Chayim Refael Friedman
6df12139bc
Merge pull request #20122 from chenyukang/yukang-fix-remove-parens
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
autopublish / publish (push) Has been cancelled
release / dist (aarch64-apple-darwin) (push) Has been cancelled
release / dist (x86_64-apple-darwin) (push) Has been cancelled
release / dist (aarch64-unknown-linux-gnu) (push) Has been cancelled
release / dist (arm-unknown-linux-gnueabihf) (push) Has been cancelled
release / dist (x86_64-unknown-linux-gnu) (push) Has been cancelled
release / dist (aarch64-pc-windows-msvc) (push) Has been cancelled
release / dist (x86_64-pc-windows-msvc) (push) Has been cancelled
release / dist (i686-pc-windows-msvc) (push) Has been cancelled
release / dist (x86_64-unknown-linux-musl) (push) Has been cancelled
release / publish (push) Has been cancelled
Remove unnecessary parens in closure
2025-06-29 15:14:31 +00:00
yukang
d8b424cb4c
Remove unnecessary parens in closure
2025-06-29 19:28:48 +08:00
Lukas Wirth
7c3de9df36
Merge pull request #20121 from Veykril/push-vkkuutpsuypq
...
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
Do not append `--compile-time-deps` to overwritten build script commands
2025-06-29 07:18:59 +00:00
Lukas Wirth
f055cbce1a
Do not append --compile-time-deps to overwritten build script commands
2025-06-29 09:07:55 +02:00
bors
88d4ce161e
Auto merge of #142625 - cjgillot:inline-nocycle, r=oli-obk
...
Only compute recursive callees once.
Inlining MIR in a cyclic call graph may create query cycles, which are ICEs. The current implementation `mir_callgraph_reachable(inlining_candidate, being_optimized)` checks if calling `inlining_candidate` may cycle back to `being_optimized` that we are currently inlining into.
This PR replaces this device with query `mir_callgraph_cyclic(being_optimized)` which searches the call graph for all cycles going back to `being_optimized`, and returns the set of functions involved in those cycles.
This is a tradeoff:
- in the current implementation, we perform more walks, but shallower;
- in this new implementation, we perform fewer walks, but exhaust the graph.
I'd have liked to compute this using some kind of SCC, but generic parameters make resolution path-dependent, so usual graph algorithms do not apply.
2025-06-28 19:11:42 +00:00
bors
23aa85e1c6
Auto merge of #141759 - 1c3t3a:discriminants-query, r=saethlin
...
Insert checks for enum discriminants when debug assertions are enabled
Similar to the existing null-pointer and alignment checks, this checks for valid enum discriminants on creation of enums through unsafe transmutes. Essentially this sanitizes patterns like the following:
```rust
let val: MyEnum = unsafe { std::mem::transmute<u32, MyEnum>(42) };
```
An extension of this check will be done in a follow-up that explicitly sanitizes for extern enum values that come into Rust from e.g. C/C++.
This check is similar to Miri's capabilities of checking for valid construction of enum values.
This PR is inspired by saethlin@'s PR
https://github.com/rust-lang/rust/pull/104862 . Thank you so much for keeping this code up and the detailed comments!
I also pair-programmed large parts of this together with vabr-g@.
r? `@saethlin`
2025-06-28 10:25:00 +00:00
Lukas Wirth
13ffda70eb
Merge pull request #20118 from Veykril/push-nolsxzxmykls
...
metrics / other_metrics (diesel-1.4.8) (push) Blocked by required conditions
metrics / build_metrics (push) Waiting to run
metrics / other_metrics (hyper-0.14.18) (push) Blocked by required conditions
metrics / other_metrics (ripgrep-13.0.0) (push) Blocked by required conditions
metrics / other_metrics (self) (push) Blocked by required conditions
metrics / other_metrics (webrender-2022) (push) Blocked by required conditions
metrics / generate_final_metrics (push) Blocked by required conditions
rustdoc / rustdoc (push) Waiting to run
ci: Fix up release workflow
2025-06-28 09:54:42 +00:00
Lukas Wirth
968d2467a8
ci: Fix up release workflow
2025-06-28 11:35:55 +02:00