Lukas Wirth
4e16e0f2c1
Don't allocate DefDatabase::crate_lang_items
if its empty
2024-01-09 21:06:21 +01:00
Lukas Wirth
9673915045
Make DefDatabase::lang_attr
transparent
2024-01-09 20:52:10 +01:00
Lukas Wirth
06aaf20f10
Some minor perf improvements
2024-01-09 20:43:17 +01:00
bors
25f71469f1
Auto merge of #16311 - Veykril:rustc-deps, r=Veykril
...
internal: Remove `rustc_dependencies ` crate
The crate serves no purpose really
2024-01-09 09:37:48 +00:00
Lukas Wirth
f972da70d4
Remove rustc_dependencies crate
2024-01-08 15:39:35 +01:00
Lukas Wirth
e25e0dd0ad
Split out rustc_parse_format from rustc_dependencies
2024-01-08 15:30:26 +01:00
Lukas Wirth
7dd9f20ce3
Builtin derives are hygienic
2024-01-08 12:50:11 +01:00
bors
6ce3f44597
Auto merge of #16298 - riverbl:exclusive-range-hint, r=Veykril
...
feat: Add inlay hint for exclusive ranges
Adds an inlay hint containing a '<' character to exclusive range expressions and patterns that specify an upper bound.
![2024-01-07-095056_257x415_scrot](https://github.com/rust-lang/rust-analyzer/assets/94326797/d6bbc0de-52a5-4af4-b53c-a034749b6cab )
Inspired by [this comment](https://github.com/rust-lang/rust/issues/37854#issuecomment-1865124907 ) noting that IntelliJ Rust has this feature.
2024-01-07 10:21:39 +00:00
riverbl
3c378b9c70
Add inlay hint for exclusive ranges
...
Adds an inlay hint containing a '<' character to exclusive range expressions and patterns that specify an upper bound.
2024-01-07 09:33:56 +00:00
Matthias Krüger
476e10e961
remove redundant clones
2024-01-07 00:17:48 +01:00
bors
e9ae0b7ab4
Auto merge of #16285 - lnicola:repr-packed-unaligned, r=Veykril
...
fix: Fix panic on unaligned packed attribute
Closes #16284
2024-01-06 20:35:56 +00:00
Laurențiu Nicola
30e17e377c
Fix panic on unaligned packed attribute
2024-01-06 19:54:57 +02:00
Lukas Wirth
963568b46f
feat: IDE features for primitive tuple fields
2024-01-06 15:04:58 +01:00
Lukas Wirth
d60638e5e6
Deduplicate some code
2024-01-05 11:34:18 +01:00
Lukas Wirth
0af780ea3e
Fix symbol_index::Query::search_maps not adhering to case-sensitivity correctly
2024-01-04 19:12:56 +01:00
Lukas Wirth
c3a29e5528
Remove limit from import_map::Query
2024-01-04 18:12:25 +01:00
Lukas Wirth
9b3052104c
internal: Rewrite ImportMap::search_dependencies
2024-01-04 17:26:00 +01:00
bors
3fe6ff74cf
Auto merge of #16085 - Austaras:master, r=Veykril
...
fix: try obligation of `IndexMut` when infer
Closes #15842 .
This issue arises because `K` is ambiguous if only inferred from `Index` trait, but is unique if inferred from `IndexMut`, but r-a doesn't use this info.
2024-01-03 14:18:13 +00:00
austaras
1b7968a2cb
fix: try obligation of IndexMut
when infer
2023-12-31 07:19:16 +08:00
Tetsuharu Ohzeki
efc87092b3
Use Cargo's [workspace.lints.*] to config clippy
2023-12-29 23:51:32 +09:00
Lukas Wirth
9d24764624
internal: Cleanup Expander a bit
2023-12-22 13:01:13 +01:00
bors
3ce35931db
Auto merge of #16178 - Veykril:builtin-fn-callsite, r=Veykril
...
fix: Fix span marking for builtin fn macros
2023-12-21 15:22:23 +00:00
Lukas Wirth
5bdb479131
fix: Fix span marking for builtin fn macros
2023-12-21 16:20:27 +01:00
bors
9ee71b43ca
Auto merge of #16175 - Veykril:dummy-spans, r=Veykril
...
fix: Correctly set and mark the proc-macro spans
This slows down analysis by 2-3s on self for me unfortunately (~2.5% slowdown)
Noisy diff due to two simple refactoring in the first 2 commits. Relevant changes are [7d762d1
](7d762d18ed
) and [1e1113c
](1e1113cf5f
) which introduce def site spans and correct marking for proc-macros respectively.
2023-12-21 10:00:13 +00:00
Lukas Wirth
1e1113cf5f
Correctly set and mark the proc-macro spans
2023-12-21 10:51:54 +01:00
Lukas Wirth
7d762d18ed
Record macro def site spans
2023-12-21 09:54:47 +01:00
Lukas Wirth
51a9e7831a
Rename some things and turn macro to macro def into a query
2023-12-21 09:18:25 +01:00
Lukas Wirth
071fe4e4e9
Move Intern and Lookup traits to hir-expand
2023-12-20 21:24:20 +01:00
bors
337e2abb67
Auto merge of #16167 - Veykril:dummy-spans, r=Veykril
...
fix: Fully remove dummy spans
Fixes https://github.com/rust-lang/rust-analyzer/issues/16008
Some of these spans are certainly wrong, but since we discard invisible delimiters currently it doesn't really matter.
2023-12-20 13:33:36 +00:00
Lukas Wirth
7b804552a5
Remove Delimiter::DUMMY_INVISIBLE
2023-12-20 14:00:14 +01:00
Lukas Wirth
4ec81230db
Remove usages of Span::DUMMY
2023-12-20 12:53:46 +01:00
bors
7bdf48ce37
Auto merge of #16165 - Veykril:meta-vars, r=Veykril
...
fix: Update metavariable expression implementation
Fixes https://github.com/rust-lang/rust-analyzer/issues/16154
This duplicates behavior of that before and after PR https://github.com/rust-lang/rust/pull/117050 based on the toolchain version. There are some 1.76 nightlies that are still broken (any before that PR basically) but fetching and storing the commit makes little sense to me (opposed to the toolchain version).
2023-12-20 10:30:58 +00:00
Lukas Wirth
8753ca5360
fix: Update metavariable expression implementation
2023-12-19 11:55:00 +01:00
bors
484525f8d7
Auto merge of #16158 - saiintbrisson:fix/mbe/desugar-comment-to-raw-string, r=Veykril
...
fix(mbe): desugar doc correctly for mbe
Fixes #16110 .
The way rust desugars doc comments when expanding macros is rendering it as raw strings delimited with hashes. Rust-analyzer wasn't aware of this, so the desugared doc comments wouldn't match correctly when on the LHS of macro declarations.
This PR fixes this by porting the code used by rustc:
59096cdad0/compiler/rustc_ast/src/tokenstream.rs (L662-L671)
2023-12-19 07:00:35 +00:00
Luiz Carvalho
6f58e98f2c
fix(mbe): update test
2023-12-19 01:03:00 -03:00
Luiz Carvalho
117a28a065
fix(mbe): desugar doc correctly for mbe
...
Fixes #16110 .
The way rust desugars doc comments when expanding macros
is rendering it as raw strings delimited with hashes.
Rust-analyzer wasn't aware of this, so the desugared doc
comments wouldn't match correctly when on the LHS of macro
declarations.
This PR fixes this by porting the code used by rustc: 4cfdbd328b/compiler/rustc_ast/src/tokenstream.rs (L6837)
2023-12-19 00:55:56 -03:00
bors
0ed815faca
Auto merge of #16151 - lnicola:minimal-2024-edition, r=davidbarsky
...
internal: Add minimal support for the 2024 edition
CC #16146
2023-12-18 17:33:20 +00:00
Laurențiu Nicola
fec0e04fc2
Add minimal support for the 2024 edition
2023-12-18 17:10:20 +02:00
Lukas Wirth
f49a2fed3f
internal: Move out WithFixture
into dev-dep only crate
2023-12-18 15:24:08 +01:00
Lukas Wirth
66e29be1bd
internal: Split out a span crate
2023-12-18 14:08:33 +01:00
Lukas Wirth
35620306a6
internal: Move proc-macro knowledge out of base-db
2023-12-18 12:37:18 +01:00
bors
a7764198b1
Auto merge of #16123 - Veykril:simplify, r=Veykril
...
internal: Remove `ModuleId` from `TypeOwnerId`
It only exists due to the IDE layer, but we can encode this temporary hack more cleanly
2023-12-15 13:10:17 +00:00
Lukas Wirth
9083017c9d
Remove ModuleId
from TypeOwnerId
2023-12-14 14:11:57 +01:00
hkalbasi
6a40400c13
Update builtin attrs from rustc
2023-12-13 21:18:24 +03:30
bors
94af6c63b7
Auto merge of #16061 - Veykril:vec-completion, r=Veykril
...
fix: Fix fragment parser replacing matches with dummies on incomplete parses
Notably, this caused some completions in the `vec!` macro to no longer work. Fixes https://github.com/rust-lang/rust-analyzer/issues/15016
2023-12-13 09:59:13 +00:00
Lukas Wirth
7cc6b0f2e9
Partially revert #16101
2023-12-12 22:53:40 +01:00
bors
dd42c1457d
Auto merge of #16101 - Veykril:search-depedencies-fix, r=Veykril
...
fix: Fix `import_map::search_dependencies` getting confused by assoc and non assoc items with the same name
No test case as creating one is kind of tricky... Ideally the code should be restructured such that this collision wouldn't matter in the first place, its kind of a mess.
Fixes https://github.com/rust-lang/rust-analyzer/issues/16074
Fixes https://github.com/rust-lang/rust-analyzer/issues/16080
Fixes https://github.com/rust-lang/rust-analyzer/issues/15845
2023-12-12 14:51:25 +00:00
Lukas Wirth
ca995d765d
fix: Fix import_map::search_dependencies
getting confused by assoc and non assoc items with the same name
2023-12-12 15:45:42 +01:00
hkalbasi
801c0ea478
Replace doc_comments_and_attrs
with collect_attrs
, 2nd round
2023-12-11 22:56:50 +03:30
Lukas Wirth
5f957658c1
fix: Fix fragment parser replacing matches with dummies on incomplete parses
2023-12-08 20:39:16 +01:00