Laurențiu Nicola
3c2aca1e5e
Merge pull request #19072 from cessen/concat_uniquely
...
Fix #19071 : ensure `completion_item_hash` serializes items uniquely
2025-01-30 08:15:31 +00:00
Nathan Vegdahl
88d66a8590
Use to_ne_bytes
instead of to_le_bytes
2025-01-29 20:21:57 +01:00
Nathan Vegdahl
87fb27930a
Fix typo
2025-01-29 17:47:38 +01:00
Nathan Vegdahl
b89adf07d4
Fix #19071 : ensure completion_item_hash
serializes items uniquely
...
Previously it may have been possible for different completion items to
produce colliding hashes, not because of the hash but because of how
the items were serialized into byte streams for hashing. See #19071
for details.
The chances of that happening were low, if it was actually possible at
all. Nevertheless, this commit ensures that it definitely can't happen.
This commit uses a handful of techniques used to fix this, but they all
boil down to "ensure this could be re-parsed". If it's possible to parse
to recreate the original item, then by construction there is no chance
of two different items getting serialized to identical byte streams.
2025-01-29 17:22:13 +01:00
Lukas Wirth
7fd6f72007
Merge pull request #19070 from Veykril/push-wpqzmznymtrn
...
Remove mutable syntax tree shenanigans from adjustment hints
2025-01-29 13:58:18 +00:00
Lukas Wirth
f61d31b144
Remove mutable syntax tree shenanigans from adjustment hints
2025-01-29 14:42:37 +01:00
Nathan Vegdahl
d6943d976d
Update TentHash to version 1.0
...
The TentHash spec was frozen Jan 1st 2025, and release 1.0 of the Rust
crate is a minor cleanup as a follow-up to that, representing a
commitment to API stability as well.
The hash output remains the same as version 0.4, which rust-analyzer was
previously using. The only API change was a struct rename.
2025-01-29 12:07:20 +01:00
David Barsky
bc10a44798
Merge pull request #19063 from davidbarsky/davidbarsky/backout-struct-default-fields
...
internal: backout `hir-*` changes from #19001
2025-01-28 16:45:45 +00:00
Shoyu Vanilla
461ee092bf
feat: Implement default-field-values
only in parser
2025-01-28 11:30:47 -05:00
Lukas Wirth
07a09c154e
Merge pull request #19015 from Wilfred/mdbook
...
manual: Convert to mdbook
2025-01-28 16:19:37 +00:00
Lukas Wirth
9f1ad04e72
Merge pull request #19056 from Giga-Bowser/fix-syntax-tree-crlf
...
fix: Properly handle CRLF line endings in the syntax tree view
2025-01-28 16:04:21 +00:00
Lukas Wirth
8a9992cef4
Disable Receiver
based autoderef temporarily
2025-01-28 14:54:02 +01:00
David Barsky
be3307450f
Back out "feat: Implement default-field-values
"
...
This backs out commit 7de0b2e75a541b98f735ee6fcd12d326be38d23f.
2025-01-27 17:30:35 -05:00
David Barsky
35f6123059
Back out "Handle missing fields diagnostics"
...
This backs out commit e6a103ae50699db1dbb0676d075a4bcda2247939.
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 c134b20c9cbc88a36e77acb8522e8dc4573bd906.
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 b4d4d02db8a95f5507fbd0aa90904d7b774f0027.
2025-01-27 17:30:35 -05:00
David Barsky
e1b9a01c69
Back out "Implement HasResolver
and HasModule
for FieldId
"
...
This backs out commit ce9da9063097c26006886b3f403a0c50790c285a.
2025-01-27 17:30:34 -05:00
David Barsky
52ee4ee1df
Back out "Add a test for field default value body as defining usage of TAIT"
...
This backs out commit 4fe18a6fb5a1181a04c47391f558ebab5b8b0f39.
2025-01-27 17:30:34 -05:00
David Barsky
34d05b3bd0
Back out "Fix a mistake in condition"
...
This backs out commit e5c38558f5dbc37cbc91f9fda58144ce02e1f5aa.
2025-01-27 17:30:34 -05:00
David Barsky
55d3851820
Back out "Remove has_default
from FieldId
"
...
This backs out commit 8aa6c09fcee6270c787a6f00615d76343fbe5c07.
2025-01-27 17:30:34 -05:00
Giga Bowser
027363fef1
fix: Properly handle CRLF line endings in the syntax tree view
2025-01-27 15:09:58 -05:00
Vladimir Krivopalov
538f4faafb
Add FreeBSD as a target OS for TestDir to avoid warnings
...
Currently, running rust-analyzer tests on FreeBSD produces an "unused
variable" warning. The code is fully compatible with FreeBSD and doesn't
have to be omitted.
Signed-off-by: Vladimir Krivopalov <vladimir@krivopalov.ru>
2025-01-27 14:53:56 -05:00
Lukas Wirth
7c387ed3a7
Merge pull request #19051 from ChayimFriedman2/fn-ptr-unsafe
...
fix: Report calling unsafe fn pointer as unsafe
2025-01-27 17:42:06 +00: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
Lukas Wirth
fe253df5f0
Merge pull request #19052 from Veykril/push-yqwutllwwyyp
...
Prioritize formatting thread tasks in main_loop
2025-01-27 17:40:07 +00:00
Lukas Wirth
ec06a9d1d4
Prioritize formatting thread tasks in main_loop
2025-01-27 18:23:42 +01:00
Chayim Refael Friedman
9c27e0251c
Report calling unsafe fn pointer as unsafe
2025-01-27 18:57:31 +02: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
Laurențiu Nicola
606cfeffa2
Merge pull request #19047 from lnicola/rename-highlight
...
fix: Fix syntactic highlighting for renames
2025-01-27 14:33:04 +00:00
Laurențiu Nicola
7d8f53d55c
Fix syntactic highlighting for renames
2025-01-27 15:51:51 +02:00
Lukas Wirth
2f672dd037
Merge pull request #19044 from ChayimFriedman2/deprecated-safe
...
fix: Fix #[rustc_deprecated_safe_2024]
2025-01-27 13:29:22 +00:00
Chayim Refael Friedman
783fa8eb9d
Fix a missing standard token in semantic highlighting
...
That was used as a fallback, causing a panic when the fallback was chosen.
I also made sure this won't happen again by guaranteeing in the macro generating the tokens that they all exist.
2025-01-27 15:08:00 +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
Shoyu Vanilla
8aa6c09fce
Remove has_default
from FieldId
2025-01-27 19:41:58 +09:00
Shoyu Vanilla
e5c38558f5
Fix a mistake in condition
2025-01-27 19:41:58 +09:00
Shoyu Vanilla
4fe18a6fb5
Add a test for field default value body as defining usage of TAIT
2025-01-27 19:41:58 +09:00
Shoyu Vanilla
ce9da90630
Implement HasResolver
and HasModule
for FieldId
2025-01-27 19:41:58 +09:00
Shoyu Vanilla
b4d4d02db8
Compute diagnostics of a field body iff it has one
2025-01-27 19:41:57 +09:00
Shoyu Vanilla
c134b20c9c
Merge record lit's ellipsis into pre-existing spread's variant
2025-01-27 19:41:54 +09:00
Shoyu Vanilla
e6a103ae50
Handle missing fields diagnostics
2025-01-27 19:38:39 +09:00
Shoyu Vanilla
7de0b2e75a
feat: Implement default-field-values
2025-01-27 19:38:35 +09:00
Lukas Wirth
35b55fd67f
Merge pull request #19036 from Veykril/push-nprltlwvryxw
...
Split out `ExpressionStore` from `Body`
2025-01-27 07:54:44 +00:00
Lukas Wirth
565087f0ff
Merge pull request #19037 from ChayimFriedman2/fix-other-test
...
fix: In completion's expand, consider recursion stop condition (when we're not inside a macro call anymore) *after* the recursive call instead of before it
2025-01-27 07:37:27 +00:00
Chayim Refael Friedman
791b1ebfd4
Support RFC 2396
...
AKA. target_feature 1.1, or non unsafe target_feature.
2025-01-26 23:31:58 +02:00
Chayim Refael Friedman
cf8ae2c694
In completion's expand, consider recursion stop condition (when we're not inside a macro call anymore) *after* the recursive call instead of before it
...
This is because our detection is imperfect, and miss some cases such as an impersonating `test` macro, so we hope we'll expand successfully in this case.
2025-01-26 19:08:10 +02:00
Lukas Wirth
3bb0ff3480
Add GenericDefId::StaticId
2025-01-26 11:07:54 +01:00
Lukas Wirth
55d1d5dd8b
Split out ExpressionStore
from Body
2025-01-26 11:02:00 +01:00
Lukas Wirth
6e4d64ea4a
Merge pull request #19034 from ChayimFriedman2/complete-hidden-variant
...
fix: Don't complete doc(hidden) enum variants and use trees
2025-01-26 06:47:34 +00:00