Lukas Wirth
b5eedad8e3
refactor: Remove unnecessary Arc
2025-03-16 10:27:48 +01:00
BenjaminBrienen
7535bb4661
cargo fmt
2025-03-15 21:32:01 +01:00
BenjaminBrienen
aad66c7bf1
Fix 2024 syntax errors
2025-03-15 21:32:01 +01:00
Lukas Wirth
02a793bd59
chore: Remove legacy SyntaxContextId re-export
2025-03-15 17:09:17 +01:00
Lukas Wirth
2ea09b2e47
Split variant_data into its own query
2025-03-14 14:16:33 +01:00
Lukas Wirth
8e8d997304
Split enum variants out of enum_data query
2025-03-14 13:32:53 +01:00
Lukas Wirth
12f54eec27
Split assoc items out of trait_data/impl_data queries
2025-03-14 13:31:41 +01:00
David Barsky
788232b355
internal: don't panic when the crate graph isn't ready #19351
2025-03-13 15:14:08 -04:00
Chayim Refael Friedman
c94e9efbef
Salsify the crate graph
...
I.e. make it not one giant input but multiple, for incrementality and decreased memory usage for Salsa 3 reasons.
2025-03-12 21:02:30 +02:00
David Barsky
74620e64ec
internal: port rust-analyzer to new Salsa
2025-03-10 13:30:51 -04:00
Lukas Wirth
27a5b1ba0c
Merge pull request #19330 from ChayimFriedman2/normalize-projection
...
fix: Normalize projections in evaluated const display and layout calculation
2025-03-10 09:15:35 +00:00
Lukas Wirth
cf255a61d5
Merge pull request #19079 from ChayimFriedman2/rename-conflict
...
feat: Warn the user when a rename will change the meaning of the program
2025-03-10 08:59:43 +00:00
Lukas Wirth
5249b8bf7e
Merge pull request #19327 from Veykril/push-qyyvkulltzpz
...
Fix `path` macro hygiene
2025-03-10 08:45:04 +00:00
Lukas Wirth
af7f89cc9d
Fix path macro hygiene
2025-03-10 09:29:27 +01:00
Prajwal S N
39391b0d38
fix(hir): VariantDef is impl HasSource
...
A new syntax node `ast::VariantDef` has been introduced to map between the HIR node and the AST.
The files have been updated with `cargo test -p xtask`.
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2025-03-08 01:25:27 +05:30
Chayim Refael Friedman
62e7d2851b
Warn the user when a rename will change the meaning of the program
...
Specifically, when a rename of a local will change some code that refers it to refer another local, or some code that refer another local to refer to it.
We do it by introducing a dummy edit with an annotation. I'm not a fond of this approach, but I don't think LSP has a better way.
2025-03-06 21:07:10 +02:00
Chayim Refael Friedman
2fc0dc0f13
Pass the target crate in HirFormatter
...
This is required to format evaluated consts, because we need trait env, and it needs the crate (currently it uses the last crate in topological order, which is wrong, the next commit will fix that).
2025-03-06 21:00:05 +02:00
Lukas Wirth
27dc614627
Merge pull request #19274 from Veykril/push-pouwrwwrlrlt
...
Highlight unsafe operations as unsafe, not definitions
2025-03-05 12:57:25 +00:00
Lukas Wirth
9fc0ffe008
Use HIR unsafety information for unsafe syntax highlightng
2025-03-05 13:18:46 +01:00
Lukas Wirth
4ad546f6a6
Support tuple struct patterns for expand_rest_pattern assist
2025-03-03 12:35:53 +01:00
Lukas Wirth
9200f77068
More precise macro modifiers for syntax highlighting
2025-03-01 17:23:51 +01:00
Lukas Wirth
487d682204
Cleanup highlighting macro-def handling
2025-03-01 16:54:40 +01:00
BenjaminBrienen
b19ef6b046
fix doc tests
2025-02-27 14:58:46 +01:00
BenjaminBrienen
bd7375a58f
enable doctest
2025-02-27 14:58:46 +01:00
Lukas Wirth
93bd36dfb9
Merge pull request #18987 from ChayimFriedman2/drop-glue
...
feat: Calculate drop glue and show it on hover
2025-02-24 13:52:17 +00:00
Lukas Wirth
09db657439
Merge pull request #19127 from ChayimFriedman2/different-generic-args
...
feat: Refactor path lowering and serve a new path diagnostic
2025-02-17 08:30:10 +00:00
Chayim Refael Friedman
100e166bb1
Calculate drop glue and show it on hover
...
Also fix the `needs_drop()` intrinsic.
Unions also need this information (to err if they have a drop-needing field), but this will come in a follow-up PR.
2025-02-17 06:29:37 +02:00
Chayim Refael Friedman
55c04ab371
Refactor path lowering
...
And add a new diagnostic for non-`Fn` parenthesized generic args.
Path lowering started to look like a mess, with each function carrying additional parameters for the diagnostic callback (since paths can occur both in type and in expression/pattern position, and their diagnostic handling is different) and the segment index, for the diagnostics report. So I refactored it from stateless functions on `TyLoweringContext` into stateful struct, `PathLoweringContext`, that tracks the process of lowering a path from resolution til assoc types selection.
2025-02-16 19:44:50 +02:00
Lukas Wirth
e6ea353d94
Improve error recovery when method-calling an assoc function
2025-02-16 11:49:48 +01:00
Lukas Wirth
8e81cc0772
Merge pull request #19109 from Veykril/push-nzpuuqommpnq
...
fix: Do not show safety hints for extern items lacking semantics
2025-02-12 13:58:56 +00:00
Lukas Wirth
e0814742f0
fix: Do not show safety hints for extern items lacking semantics
2025-02-12 14:43:51 +01: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
Hayashi Mikihiro
c84cec1547
Shadowing BuiltinType by Module
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-02-10 17:46:43 +09: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
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
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
Ali Bektas
d8779b4a0e
Make higher levels adapt Bodys exprs having ExprOrPatId values
2025-02-03 12:14:13 +01:00
David Barsky
be3307450f
Back out "feat: Implement default-field-values"
...
This backs out commit 7de0b2e75a .
2025-01-27 17:30:35 -05:00
David Barsky
f3451d54d6
Back out "Merge record lit's ellipsis into pre-existing spread's variant"
...
This backs out commit c134b20c9c .
2025-01-27 17:30:35 -05:00
David Barsky
77c1507048
Back out "Compute diagnostics of a field body iff it has one"
...
This backs out commit b4d4d02db8 .
2025-01-27 17:30:35 -05:00
David Barsky
55d3851820
Back out "Remove has_default from FieldId"
...
This backs out commit 8aa6c09fce .
2025-01-27 17:30:34 -05:00
Lukas Wirth
b27c5b4cae
Merge pull request #19050 from ChayimFriedman2/iter-self
...
fix: Don't suggest `into_iter().method()` on iterators
2025-01-27 17:41:02 +00:00
Lukas Wirth
8384bc5c55
Merge pull request #19049 from ChayimFriedman2/add-reference-ty
...
minor: Remove duplicate method from `hir::Type`
2025-01-27 17:40:09 +00:00
Chayim Refael Friedman
cdc3f89a3f
Don't suggest into_iter().method() on iterators
2025-01-27 18:48:20 +02:00
Chayim Refael Friedman
028c47999d
Remove duplicate method from hir::Type
...
I added it by mistake in #18927 .
I chose to keep the method as not static, because it's more comfortable, and keep the name `add_reference()` and not `reference()`, because it is clearer and better matches `strip_reference[s]()`.
2025-01-27 18:40:01 +02:00
Chayim Refael Friedman
55c63abc59
Fix #[rustc_deprecated_safe_2024]
...
It should be considered by the edition of the caller, not the callee.
Technically we still don't do it correctly - we need the span of the method name (if it comes from a macro), but we don't keep it and this is good enough for now.
2025-01-27 14:35:20 +02:00