Commit graph

21465 commits

Author SHA1 Message Date
Lukas Wirth
547d511ee1
Merge pull request #18890 from Veykril/push-nwnozlyppvzo
minor: Fixup macro error kinds
2025-01-09 08:54:05 +00:00
Lukas Wirth
646e96f68d minor: Fixup macro error kinds 2025-01-09 09:38:58 +01:00
Lukas Wirth
d3a49d3783
Merge pull request #18887 from vishruth-thimmaiah/refactor_completions_tests
refactor test helpers within ide-completions
2025-01-09 08:15:53 +00:00
Giga Bowser
c552f72f6a minor: Use placeholders in unwrap_return_type 2025-01-08 18:12:06 -06:00
Giga Bowser
a5a79f5957 internal: Migrate unwrap_return_type assist to use SyntaxEditor
Also changes `make::expr_empty_block()` to return `ast::BlockExpr` instead of `ast::Expr`
2025-01-08 18:12:06 -06:00
Giga Bowser
651b43e551 internal: Migrate wrap_return_type assist to use SyntaxEditor 2025-01-08 15:19:10 -06:00
Vishruth-Thimmaiah
b21a5f83d2
refactor test helpers within ide-completions 2025-01-08 23:51:18 +05:30
Lukas Wirth
32b86a8378
Merge pull request #18884 from Veykril/push-xwqkorxozzkq
fix: Fix `env`/`option_env` macro check disregarding macro_rules definitions
2025-01-08 10:14:51 +00:00
Lukas Wirth
acccd4bde6 fix: Fix env/option_env macro check disregarding macro_rules definitions 2025-01-08 10:59:58 +01:00
Lukas Wirth
1e975d6ee4
Merge pull request #18855 from Giga-Bowser/migrate-if-let
internal: Migrate `if let` replacement assists to `SyntaxEditor`
2025-01-08 08:59:42 +00:00
Laurențiu Nicola
8eb5d3c6f3 Fix test-fixture autopublishing 2025-01-08 10:19:46 +02:00
Chayim Refael Friedman
0d4af7bce3 Fix a bug with missing binding in MBE
We should immediately mark them as finished, on the first entry.

The funny (or sad) part was that this bug was pre-existing, but previously to #18327, it was causing us to generate bindings non-stop, 65535 of them, until we get to the hardcoded repetition limit, and then throw it all away. And it was so Blazingly Fast that nobody noticed.

With #18327 however, this is still what happens, except that now instead of *merging* the fragments into the result, we write them on-demand. Meaning that when we hit the limit, we've already written all previous entries. This is a minor change, I thought for myself when I was writing this, and it's actually for the better, so who cares. Minor change? Not so fast. This caused us to emit 65535 repetitions, all of which the MBE infra needs to handle when calling other macros with the expansion, and convert to rowan tree etc., which resulted a *massive* hang.

The test (and also `analysis-stats`) used to crash with stack overflow on this macro, because we were dropping some crazily deep rowan tree. Now they work properly. Because I am lazy, and also because I could not find the exact conditions that causes a macro match but with a missing binding, I just copied all macros from tracing. Easy.
2025-01-07 23:04:53 +02:00
Laurențiu Nicola
f5e698d0b0 Merge from rust-lang/rust 2025-01-07 17:57:53 +02:00
Lukas Wirth
fff668052b
Merge pull request #18870 from Veykril/push-vnpsptpolyol
Drop unnecessary tracing::warn
2025-01-07 13:55:28 +00:00
Lukas Wirth
619af1871b
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
bff9bd0286 Drop unnecessary tracing::warn
We already emit an error
2025-01-07 14:40:00 +01:00
Lukas Wirth
59c8e27acc Add some smoke tests to toolchain_info 2025-01-07 14:33:24 +01:00
Lukas Wirth
b8a0488740 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
2ac803ec71 target-triple -> target-tuple 2025-01-07 14:25:43 +01:00
Lukas Wirth
86d35a55a6
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
f1c0d176f3 Remove rust-analyzer.cargo.sysrootQueryMetadata config again 2025-01-07 14:00:22 +01:00
Lukas Wirth
efb87743be
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
2ffdbc3f3d
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
4382331a36 project-model: fix JSON project PackageRoot buildfile inclusion 2025-01-07 13:47:17 +02:00
Vishruth-Thimmaiah
cb0221d774
fix: do not offer completions within macro strings 2025-01-07 17:02:28 +05:30
Alex Kirszenberg
fe54502f11 lint 2025-01-07 12:07:37 +01:00
Alex Kirszenberg
f2b789c36e fix: Fix diagnostics not clearing between flychecks 2025-01-07 11:11:04 +01:00
Laurențiu Nicola
cd12ef8547
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
140f91b045 fix: clear diagnostics on cancel unconditionally, fixing #18854 2025-01-06 18:41:21 -05:00
Giga Bowser
54d9b5a31a internal: Migrate if let <=> match assists to SyntaxEditor 2025-01-06 15:58:39 -06:00
Giga Bowser
eb2ce57a3e internal: Migrate replace_let_with_if_let assist to SyntaxEditor 2025-01-06 15:58:39 -06:00
Giga Bowser
796041acce internal: Add some pattern constructors to SyntaxFactory 2025-01-06 15:58:39 -06:00
Giga Bowser
ce2398fee8 internal: Add some expr constructors to SyntaxFactory 2025-01-06 15:58:39 -06:00
Giga Bowser
f5ff966dea internal: Add some path constructors to SyntaxFactory 2025-01-06 15:58:39 -06:00
Giga Bowser
551f1d00dd internal: make::expr_match should return ast::MatchExpr 2025-01-06 15:58:39 -06:00
Giga Bowser
32ff06d51c internal: Generally improve make::match_arm
`make::match_arm` should take a single `ast::Pat`, and callers can handle creating an `ast::OrPat` if need be. It should also take a proper `ast::MatchGuard`, instead of making one itself.
2025-01-06 15:58:39 -06:00
Giga Bowser
905e1e1fc0 internal: move make::expr_unit to make::ext::expr_unit
`expr_unit` is just a shortcut for a common expression, so it belongs in `make::ext`
2025-01-06 15:58:39 -06:00
Giga Bowser
f388482119 internal: make::expr_tuple should return ast::TupleExpr 2025-01-06 15:32:08 -06:00
Giga Bowser
c549be9ab6 internal: make::expr_if should return ast::IfExpr 2025-01-06 15:32:08 -06:00
Giga Bowser
913d197a04 internal: make::expr_prefix should return ast::PrefixExpr 2025-01-06 15:32:08 -06:00
Giga Bowser
159731022f internal: Generalize make::expr_from_text to types which implement Into<ast::Expr>
This will help with specializing the various `make::expr_*` functions later
2025-01-06 15:32:08 -06:00
Chayim Refael Friedman
b24142b50b 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
Laurențiu Nicola
bfb81275fb
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
f7c4833830 Fix a bug that was caused by fixup reversing 2025-01-06 20:06:20 +02:00
Lukas Wirth
72b9427162
Merge pull request #18846 from Veykril/push-kmspklwynynu
minor: New clippy lints
2025-01-06 17:12:14 +00:00
Lukas Wirth
4b6007115a minor: New clippy lints 2025-01-06 17:57:17 +01:00
Lukas Wirth
dd73ff4ee4 fix: Fix non-cargo flychecks immediately clearing received diagnostics 2025-01-06 13:44:30 +01:00
Lukas Wirth
47ee513fa4
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
8a9cacb22d fix: Be more permissive with completion resolve data 2025-01-06 11:22:42 +01:00
Lukas Wirth
c89c03fd5a
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