Commit graph

21742 commits

Author SHA1 Message Date
Lukas Wirth
b636cf93e5
Merge pull request #19125 from ChayimFriedman2/cfg-attr-fast
fix: Censor cfg_attr for attribute macros
2025-02-12 13:38:24 +00:00
Lukas Wirth
622ef64f93
Merge pull request #18995 from alibektas/12210
fix: Lower range pattern bounds to expressions
2025-02-12 11:58:33 +00:00
Lukas Wirth
5235caf402
Merge pull request #19129 from ChayimFriedman2/snippet-macro
fix: Fix postfix completions inside macros
2025-02-12 11:55:46 +00:00
gohome001
d3d455d4fb minor: don't show drop hints for other pattern 2025-02-12 17:18:42 +08:00
Lukas Wirth
5af2d6abea Propogate error types in mir type projections 2025-02-12 09:24:33 +01:00
Chayim Refael Friedman
8aa4ae5e69
Merge pull request #19117 from gohome001/implicit-drop-inlay-hints-bug
Fix: don't emit implicit drop inlay hints for macro
2025-02-11 13:18:04 +00:00
Lukas Wirth
78e7515a30
Merge pull request #18998 from ChayimFriedman2/exclude
fix: Make `rust-analyzer.files.excludeDirs` work, actually
2025-02-11 11:41:54 +00:00
gohome001
42f11d49ee add test case for ignoring inlay hint for macro call 2025-02-11 15:27:34 +08:00
gohome001
55dbf3949d don't emit implicit drop inlay hints for macro 2025-02-11 15:24:46 +08:00
Lukas Wirth
f5e7172e96
Merge pull request #19124 from jyn514/range-fmt-off-by-one
Fix off-by-one error in RangeFormatting
2025-02-10 15:25:54 +00:00
Chayim Refael Friedman
d6f3ff1b9c Fix postfix completions inside macros
Previously the receiver text was taken directly from the AST, which in macros is missing trivia, leading to corruption (or just unintended replacement of user code).

Now we upmap the range, and extract the original file text in it.
2025-02-10 16:38:13 +02:00
Chayim Refael Friedman
f01f900ff7
Merge pull request #19088 from Hmikihiro/all_remove_duplicate_module_adt
fix: if item exsits on module, resolve as module instead of type
2025-02-10 09:02:30 +00:00
Hayashi Mikihiro
c84cec1547 Shadowing BuiltinType by Module
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-02-10 17:46:43 +09:00
Laurențiu Nicola
bf51af1a6d Merge from rust-lang/rust 2025-02-10 07:49:43 +02:00
Chayim Refael Friedman
933832008b Censor cfg_attr for attribute macros
This is not documented (and I discovered that from experimenting and looking at the compiler's source code), but cfg_attrs *on the same level* as the attribute macro should be processed before it is expanded. cfg_attrs *below* should not (and this is contrary to what happens with derive macros, where both should be processed).
2025-02-10 01:28:28 +02:00
jyn
66253b6553 fix target dir test 2025-02-09 16:34:01 -05:00
jyn
1db9402558 fix off-by-one error 2025-02-09 15:23:53 -05:00
Ali Bektas
97251b3e28 Check if PatPtr resolves to ExprId 2025-02-09 17:31:45 +01:00
Ali Bektas
76b93c0d1f Fix clippy errors 2025-02-09 17:31:09 +01:00
Ali Bektas
419231c79d Remove fixme and add a missing test attribute 2025-02-09 17:31:09 +01:00
Ali Bektas
bd369a83c0 Remove dbg lines 2025-02-09 17:31:09 +01:00
Ali Bektas
18f90a9d2a resolve_bind_pat_to_const does not early return if expr 2025-02-09 17:31:09 +01:00
Ali Bektas
574ea0296c make SourceAnalyzer::pat_id return ExprOrPatId
Not all patterns are mapped to Pats. As such, it was necessary to change
the ret type Option<PatId> to Option<ExprOrPatId>
2025-02-09 17:31:09 +01:00
Ali Bektas
8956b1e1ba Lower ast::Ident to hir::Path when lowering RangePats 2025-02-09 17:31:09 +01:00
Lukas Wirth
039ac844f1
Merge pull request #19104 from jnyfah/some-branch
option to disable inlay Type hints for Closure parameters
2025-02-07 10:45:38 +00:00
jnyfah
7d1fedc4f3 minor changes 2025-02-07 10:50:45 +01:00
Lukas Wirth
ef05ca5d3b
Merge pull request #19106 from ShoyuVanilla/issue-18682
fix: Resolve projection types before checking casts
2025-02-07 08:13:12 +00:00
Shoyu Vanilla
b7b4dd5afc fix: Resolve projection types before checking casts 2025-02-07 09:51:32 +09:00
David Richey
4d650702af fix: Don't emit empty scip occurrence for builtins 2025-02-06 12:22:58 -06:00
jnyfah
6b328750e5 collapsing if statement 2025-02-06 16:18:15 +01:00
jnyfah
4522bf42ca closure parameter inlay hints 2025-02-06 15:55:56 +01:00
Lukas Wirth
ca47cddc31
Merge pull request #19099 from Veykril/push-qxylslwltsqy
Use interior mutability for loaded `ProcMacrorv::expanders`
2025-02-05 11:17:21 +00:00
Lukas Wirth
5ec0057418 Use interior mutability for loaded ProcMacrorv::expanders 2025-02-05 12:01:57 +01:00
Chayim Refael Friedman
549b49fdc8 Do not include excluded files even when the client opens them
This require a pretty big modification, because this is a new kind of file: exists - but ignore it.
2025-02-05 11:11:25 +02:00
Lukas Wirth
fc726ced6b
Merge pull request #18912 from vishruth-thimmaiah/fix_named_struct_assist
fix: upmap ranges in convert_tuple_struct_to_named_struct assist
2025-02-05 08:49:53 +00:00
Laurențiu Nicola
2ad4ec5b73
Merge pull request #19094 from ChayimFriedman2/use-body
fix: Fix IDE resolution of `use` inside a body
2025-02-05 07:16:35 +00:00
Chayim Refael Friedman
6fb64beb80
Merge pull request #19095 from ChayimFriedman2/fixme-adt_const_params
minor: Add a FIXME for feature(adt_const_params)
2025-02-04 19:43:31 +00:00
Chayim Refael Friedman
9db2499bb9 Add a FIXME for feature(adt_const_params) 2025-02-04 21:28:19 +02:00
Chayim Refael Friedman
bffc169925 Fix a failing test
The reason this test passed previously is not because it was working as intended, but because prior to the previous commit we did not resolve the `use` at all!

Now, `use self as _` is invalid code anyway (it prints E0429), and because we fallback to the value namespace if we can't resolve in the type namespace (which is a reasonable behavior), this test now actually fails.

I don't think we want to change the fallback, so I removed `use self as _` and instead added a new test, where the value can be resolved in the type namespace.
2025-02-04 19:10:04 +02:00
Chayim Refael Friedman
134b6f2228 Fix IDE resolution of use inside a body
We stopped the expression search too early because `use` is an item.
2025-02-04 18:30:50 +02:00
Chayim Refael Friedman
ac6b054ca5 Make rust-analyzer.files.excludeDirs work, actually
I have no idea what the original writer of the code thought but the logic just seems backwards. We should not exclude a file/directory if it is equal to an include! This also meant that we had to add a `root == path` check so this stuff will actually work, which in turn meant excludes (of root files) no longer worked...

Also rename if to `rust-analyzer.files.exclude`, because it can exclude files as well.
2025-02-04 17:54:13 +02:00
Lukas Wirth
55e473abbf
Merge pull request #19093 from Veykril/push-lrvoookylnxp
Prevent panics from tearing down worker threads
2025-02-04 14:20:36 +00:00
Lukas Wirth
5ac4e9769c Prevent panics from tearing down worker threads 2025-02-04 15:03:35 +01:00
Lukas Wirth
0fd4fc3522
Merge pull request #19084 from Veykril/push-muworpzpzqup
Split cache priming into distinct phases
2025-02-04 13:57:39 +00:00
Lukas Wirth
ab5e821d97 Expose symbol of CrateName 2025-02-04 14:38:58 +01:00
Lukas Wirth
13c17db07b
Merge pull request #19066 from alibektas/slice_pattern_type_inference
fix: try to infer array type from slice pattern
2025-02-03 14:03:50 +00:00
Lukas Wirth
cd0753a5ce
Merge pull request #19086 from Veykril/push-ponvylutpnww
fix: Fix some mir eval/lowerings
2025-02-03 13:58:34 +00:00
Lukas Wirth
d6645d11da Fix some mir eval/lowerings 2025-02-03 14:42:41 +01:00
Lukas Wirth
b3ff41ebe4
Merge pull request #19085 from Veykril/push-sknwykqmlott
Do not use make use of `InferenceResult::has_errors` flag for mir building
2025-02-03 12:43:14 +00:00
Lukas Wirth
465844c3be Do not use make use of InferenceResult::has_errors flag for mir building
It generaly does not work as expected right now as we fallback type parameters to errors
2025-02-03 12:26:06 +01:00