Lukas Wirth
5edf7bddc6
Fix mod item in included file resolving incorrectly
2023-12-02 13:49:09 +01:00
Lukas Wirth
d2a31acda1
Fix macro expansion expression parenthesis wrapping
2023-12-02 13:03:46 +01:00
Nicholas Nethercote
40da288eb0
Rename LayoutCalculator::delay_bug
as LayoutCalculator::delayed_bug
.
...
To match with the previous commits.
2023-12-02 09:01:34 +11:00
Nicholas Nethercote
4375419b24
Rename HandlerInner::delay_span_bug
as HandlerInner::span_delayed_bug
.
...
Because the corresponding `Level` is `DelayedBug` and `span_delayed_bug`
follows the pattern used everywhere else: `span_err`, `span_warning`,
etc.
2023-12-02 09:01:19 +11:00
bors
e402c494b7
Auto merge of #15879 - dfireBird:fix-14656, r=Veykril
...
Implement completion for the callable fields.
Fixes #14656
PR is opened with basic changes. It could be improved by having a new `SymbolKind` for the callable fields and implementing a separate render function similar to the `render_method` for the new `SymbolKind`.
It could also be done without any changes to the `SymbolKind` of course, have the new function called based on the type of field.
I prefer the former method.
Please give any thoughts or changes you think is appropriate for this method. I could start working on that in this same PR.
2023-12-01 16:20:36 +00:00
Lukas Wirth
efa67294ed
Fix eager macro input spans being discarded
2023-12-01 16:29:58 +01:00
Lukas Wirth
c11737cd63
Simplify include handling
2023-12-01 14:58:57 +01:00
bors
6e6a0b0a3d
Auto merge of #16000 - HKalbasi:drop-inlay-hint, r=HKalbasi
...
Initial support for implicit drop inlay hint
cc #15785
2023-12-01 13:36:08 +00:00
dfireBird
b7effe54ee
fix close parens position to move after field access
2023-12-01 18:55:26 +05:30
Lukas Wirth
0003e568ca
Pass calling span through to builtin macro expansions
2023-12-01 14:11:57 +01:00
hkalbasi
4d55cac466
Initial support for implicit drop inlay hint
2023-12-01 16:16:46 +03:30
bors
c2f133489c
Auto merge of #15912 - Sarrus1:master, r=HKalbasi
...
chore: remove unused `PhantomData`
This PR removes an unused `PhantomData` in `FileItemTreeId`.
*Note:* I am not sure how this should be implemented, maybe as a type instead of a wrapper struct? I'd be happy to do so if needed 👍
2023-12-01 11:07:35 +00:00
Yutaro Ohno
e076192dd8
Improve error handling for top-level let
statements
...
This commit addresses the issue of excessive and unrelated errors
generated by top-level `let` statements. Now, only a single error is
produced, indicating that `let` statements are invalid at the top level.
2023-12-01 10:37:21 +09:00
bors
1c51e25a5a
Auto merge of #15994 - ChayimFriedman2:err-comma-after-fus, r=Veykril
...
fix: Err for comma after functional update syntax
Error message copied from rustc, https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=20aeedb2db504c4e4ced54b665e761d6 .
Fixes #15989 .
2023-11-30 15:59:31 +00:00
bors
56abc0a29c
Auto merge of #15971 - Young-Flash:fix_match_arm, r=lnicola
...
fix: don't make `MissingMatchArms` diagnostic for empty match body
before
<img width="423" alt="before" src="https://github.com/rust-lang/rust-analyzer/assets/71162630/5c0e46fb-0c03-42f2-96ff-8e5245c25965 ">
after
<img width="423" alt="after" src="https://github.com/rust-lang/rust-analyzer/assets/71162630/e2479dc5-3634-479b-af29-0b0ec7dc4a4f ">
close https://github.com/rust-lang/rust-analyzer/issues/15954
2023-11-30 12:10:45 +00:00
Chayim Refael Friedman
2fd19ed598
Err for comma after functional update syntax
2023-11-30 14:04:36 +02:00
Young-Flash
b46f37854e
update: filter out syntax error in test
2023-11-30 19:35:25 +08:00
Lukas Wirth
f48fa0c6cb
Re-implement syntax fixups
2023-11-29 16:00:39 +01:00
Ben Kimock
5ef5e55749
Use a u64 for the rmeta root position
2023-11-28 18:03:50 -05:00
dfireBird
21c09eb544
update dot tests function with check_edit
2023-11-28 22:21:57 +05:30
dfireBird
5c0c8ceaf7
refactor complete_fn_fields
function and correct branch checks
2023-11-28 22:21:57 +05:30
dfireBird
8296b16f38
fix the insertion of the surronding parens
...
Before it was inserting whenever function field is found but it should
happend only in the case of function call.
2023-11-28 22:21:57 +05:30
dfireBird
aa1cf8d357
add tests for tuple fields and expect fn type cases
2023-11-28 22:21:57 +05:30
dfireBird
eedeb58a4e
refactor obtaining receivers into idiomatic way
...
variable name change for clearer usage indication
2023-11-28 22:21:57 +05:30
dfireBird
5bcafd7dc0
add tests for the completion of the callable field
2023-11-28 22:21:57 +05:30
dfireBird
7cf3ab4bd2
implement completion render for callable fields
2023-11-28 22:21:57 +05:30
dfireBird
a0e690a7e9
add different completion for fn fields
2023-11-28 22:21:57 +05:30
Lukas Wirth
7a8c4c001b
Turn macro_expand from query to normal function
2023-11-28 17:23:51 +01:00
Lukas Wirth
b98597f06d
Re-enable proc-macros
2023-11-28 16:28:56 +01:00
Lukas Wirth
98cfdde8ba
Thinner TokenMap
2023-11-28 10:56:25 +01:00
Lukas Wirth
92d447f976
🧹
2023-11-28 10:55:40 +01:00
Lukas Wirth
ab8f12e169
Rename hygiene vars and fields to span_map
2023-11-28 10:55:40 +01:00
Lukas Wirth
6208960c48
Deduplicate dummy test span maps
2023-11-28 10:55:40 +01:00
Lukas Wirth
c43078f99d
Re-implement InFile wrappers as type aliases over generic InFileWrapper
2023-11-28 10:55:40 +01:00
Lukas Wirth
30093a6d81
spans always come from real file
2023-11-28 10:55:39 +01:00
Lukas Wirth
394d11b0fa
Fix float-split hack not setting up spans correctly
2023-11-28 10:55:39 +01:00
Lukas Wirth
8423893d1c
More incremental tests
2023-11-28 10:55:39 +01:00
Lukas Wirth
05f375eae2
hygiene 2.0
2023-11-28 10:55:39 +01:00
Lukas Wirth
e36b3f7b8c
Proper span representation with syntax context
2023-11-28 10:55:39 +01:00
Lukas Wirth
890eb17b4e
Replace ID based TokenMap with proper relative text-ranges / spans
2023-11-28 10:55:39 +01:00
Lukas Wirth
f79439caed
Infect proc-macro-api crate with generic span type parameter
2023-11-28 10:55:39 +01:00
Lukas Wirth
83f91f61b1
Infect mbe crate with generic span type parameter
2023-11-28 10:55:39 +01:00
bors
2ee17bc5f2
Auto merge of #15970 - Austaras:master, r=Veykril
...
fix variant resolve for type alias
Closes #15943
2023-11-27 16:26:19 +00:00
bors
4ab67291fa
Auto merge of #15857 - Young-Flash:fix, r=Veykril
...
fix: remove parenthesis should ensure space
close https://github.com/rust-lang/rust-analyzer/issues/15844
2023-11-27 16:14:31 +00:00
bors
9aa867cd01
Auto merge of #15946 - roife:master, r=Veykril
...
internal: simplify the removal of dulicate workspaces.
### Summary:
Refactoring the duplicate removal process for `workspaces` in `fetch_workspaces`.
### Changes Made:
Replaced `[].iter().enumerate().skip(...).filter_map(...)` with a more concise `[i+1..].positions(...)` provided by `itertools`, which enhances clarity without changing functionality
### Impact:
This change aims to enhance the duplicate removal process for `workspaces`. This change has been tested on my machine.
Please review and provide feedback. Thanks!
2023-11-27 16:02:53 +00:00
Laurențiu Nicola
81606ecf68
Merge commit '237712fa314237e428e7ef2ab83b979f928a43a1' into sync-from-ra
2023-11-27 12:40:39 +02:00
Young-Flash
cab91480b2
fix: don't make MissingMatchArms
diagnostic for empty match body
2023-11-26 22:57:30 +08:00
austaras
2411f1383a
fix variant resolve for type alias
2023-11-26 21:00:11 +08:00
Laurențiu Nicola
3ccde009cb
Switch to our own salsa fork
2023-11-26 13:06:36 +02:00
Laurențiu Nicola
fc880be491
Bump chalk
2023-11-25 20:38:11 +02:00
Laurențiu Nicola
aadeb66d03
Bump ra-ap-rustc_index and ra-ap-rustc_abi
2023-11-25 20:36:45 +02:00
Laurențiu Nicola
c01679eb7b
Bump ra-ap-rustc_lexer
2023-11-25 20:36:06 +02:00
Laurențiu Nicola
fa74ac8457
Bump ra-ap-rustc_parse_format
2023-11-25 20:35:26 +02:00
Andrew Hlynskyi
94cea4663a
fix: add fallback for completion label details
2023-11-25 13:25:42 +02:00
David Tolnay
b68f5311b5
Replace option.map(cond) == Some(true)
with option.is_some_and(cond)
2023-11-24 09:06:44 -08:00
Andrew Hlynskyi
f0adf8c4ec
Update tests
2023-11-24 14:38:00 +02:00
Andrew Hlynskyi
615abb3c92
Improve completion label details display
2023-11-24 14:38:00 +02:00
bors
cccc7ca2c6
Auto merge of #15754 - alibektas:15656/linked_projects_are_local_too, r=Veykril
...
fix: Dedup duplicate crates with differing origins in CrateGraph construction
Partially fixes #15656 . Until now the condition for deduplication in crate graphs were the strict equality of two crates. One problem that arises from this is that in certain conditions when we see the same crate having different `CrateOrigin`s the first occurrence would be kept. This approach however results in some unwanted results such as making renaming forbidden as this has been recently only made available for local crates. The given example in #15656 can still not be resolved with this PR as that involves taking inconsistencies between dependencies into consideration. This will be addressed in a future PR.
2023-11-23 13:01:46 +00:00
Ali Bektas
ba1b080805
Precede paths with $ROOT$
2023-11-23 12:34:38 +01:00
Ali Bektas
736994f026
Make test cases simpler
2023-11-23 11:52:22 +01:00
Ali Bektas
f79e8182c1
v3
2023-11-23 02:15:47 +01:00
Ali Bektas
74d8fdc8fe
Update test data for crate deduping
...
Make data reflect a case where dev deps are existent.
base-db::CrateGraph::extend now adds dev dependencies for a crate
in case of its upgrading from a CrateOrigin::Lib kind of a crate to a
CrateOrigin::Local one.
2023-11-23 02:15:47 +01:00
Ali Bektas
25e990d753
v3
2023-11-23 02:15:47 +01:00
Ali Bektas
7e4aad5ba5
v2
2023-11-23 02:15:47 +01:00
Ali Bektas
886eaa0a7d
Relaxation for crate graph mergin
...
Partially fixes #15656 . When a crate graph is extended which is the case when new workspaces are added to the project
the rules for deduplication were too strict. One problem that arises from this is that in certain conditions
when we see the same crate having different `CrateOrigin`s the first form would be maintained. This approach however
results in some unwanted results such as making renaming forbidden as this has been recently only made available for
local crates. The given example in #15656 can still not be resolved with this PR as that involves taking inconsistencies
between dependencies into consideration. This will be addressed in a future PR.
2023-11-23 02:15:46 +01:00
Ralf Jung
11a70f6f69
also make 'core_intrinsics' internal
2023-11-22 20:00:56 +01:00
Jonathan Pallant (Ferrous Systems)
bf645be37b
Put copyright on a line by itself.
2023-11-22 17:20:54 +00:00
roife
e790d7ff3a
internal: simplify the removal of dulicate workspaces.
...
refactor: replace multiple steps with `positions` in `fetch_workspaces` for clarity.
2023-11-22 21:14:39 +08:00
Young-Flash
bd5a63b208
move parentheses judge logic into builder
2023-11-22 14:11:00 +08:00
bors
45136511a5
Auto merge of #15921 - Young-Flash:tmp, r=Veykril
...
chore: add use case for `PathSegment::qualifying_trait`
add use case for `PathSegment::qualifying_trait`, which introduced in https://github.com/rust-lang/rust-analyzer/pull/15875
2023-11-21 14:59:17 +00:00
bors
8d3522e557
Auto merge of #15825 - Austaras:master, r=flodiebold
...
fix: better resolve assoc item with type bound
Closes #15772
2023-11-21 09:44:43 +00:00
bors
2e7e8cc7b9
Auto merge of #15940 - pascalkuthe:fix_rename, r=Veykril
...
ensure renames happen after edit
This is a bugfix for an issue I fould while working on helix. Rust-analyzer currently always sends any filesystem edits (rename/file creation) before any other edits. When renaming a file that is also being edited that would mean that the edit would be discarded and therefore an incomplete/incorrect refactor (or even cause the creation of a new file in helix altough that is probably a pub on our side).
Example:
* create a module: `mod foo` containing a `pub sturct Bar;`
* reexport the struct uneder a different name in the `foo` module using a *fully qualified path*: `pub use crate::foo::Bar as Bar2`.
* rename the `foo` module to `foo2` using rust-analyzer
* obsereve that the path is not correctly updated (rust-analyer first sends a rename `foo.rs` to `foo2.rs` and then edits `foo.rs` after)
This PR fixes that issue by simply executing all rename operations after all edit operations (while still executing file creation operations first). I also added a testcase similar to the example above.
Relevent excerpt from the LSP standard:
> Since version 3.13.0 a workspace edit can contain resource operations (create, delete or rename files and folders) as well. If resource operations are present clients need to execute the operations in the order in which they are provided. So a workspace edit for example can consist of the following two changes: (1) create file a.txt and (2) a text document edit which insert text into file a.txt. An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will cause failure of the operation. How the client recovers from the failure is described by the client capability: workspace.workspaceEdit.failureHandling
2023-11-21 09:33:01 +00:00
bors
1a5cee1731
Auto merge of #15911 - Young-Flash:fix_missing_assoc_item, r=lnicola
...
fix: handle default constant values in `trait_impl_missing_assoc_item` diagnostic
A patch of https://github.com/rust-lang/rust-analyzer/pull/15895 , close https://github.com/rust-lang/rust-analyzer/issues/15909
cc `@Veykril`
2023-11-20 17:49:45 +00:00
bors
375142902c
Auto merge of #15885 - RunDevelopment:patch-1, r=lnicola
...
Fix typo in highlight_related.rs
While reading the user manual, I noticed a random tick, so I went ahead and fixed it. The `await` keyword should be properly rendered as inline code.
![image](https://github.com/rust-lang/rust-analyzer/assets/20878432/f134a4c9-e539-4635-97ac-506790893869 )
2023-11-20 17:37:59 +00:00
Laurențiu Nicola
a54c0dafc8
Remove debugging code in path resolution
2023-11-17 20:58:43 +02:00
Young-Flash
1cbda612bc
chore: add use case for PathSegment::qualifying_trait
2023-11-17 21:31:33 +08:00
austaras
808f6687f7
address comment
2023-11-17 16:53:38 +08:00
Laurențiu Nicola
59f5d51852
Merge commit '141fc695dca1df7cfc3c9803972ec19bb178dcbc' into sync-from-ra
2023-11-16 22:27:35 +02:00
Laurențiu Nicola
480cb60be3
Bump libc
2023-11-16 21:48:49 +02:00
Sarrus1
97dea2c699
remove unused PhantomData
2023-11-16 18:39:36 +01:00
austaras
e95ec55273
fix: better resolve assoc item with type bound
2023-11-16 23:17:00 +08:00
Young-Flash
cfc881ae13
fix missing assoc item
2023-11-16 22:27:21 +08:00
bors
58de0b130a
Auto merge of #15902 - lnicola:bump-deps, r=Veykril
...
internal: Bump deps pt. 1
2023-11-15 19:37:06 +00:00
Laurențiu Nicola
da24b6fb12
Bump memchr
2023-11-15 21:24:20 +02:00
Laurențiu Nicola
8ea06c8ec8
Bump arbitrary and derive-arbitrary
2023-11-15 21:22:34 +02:00
Laurențiu Nicola
c6fad55c98
Bump bitflags
2023-11-15 21:20:47 +02:00
Laurențiu Nicola
3ed27d21f2
Bump cargo_metadata
2023-11-15 21:18:49 +02:00
Laurențiu Nicola
2814d646cb
Bump rayon
2023-11-15 21:14:56 +02:00
Laurențiu Nicola
b18ce4f8ea
Bump xshell
2023-11-15 21:12:18 +02:00
Lukas Wirth
e8c4007cfc
Fix builtin line! expansion
2023-11-15 14:06:10 +01:00
Laurențiu Nicola
c66084b9c6
Bump ra-ap-rustc_index and ra-ap-rustc_abi
2023-11-15 13:42:13 +02:00
Laurențiu Nicola
b267f6b071
Bump ra-ap-rustc_lexer
2023-11-15 13:40:43 +02:00
Laurențiu Nicola
829cf8db4c
Bump dissimilar
2023-11-15 13:34:56 +02:00
Laurențiu Nicola
a1f81a7e75
Bump chalk
2023-11-15 13:31:45 +02:00
Laurențiu Nicola
441e8c71f1
Remove outdated comment
2023-11-15 13:27:48 +02:00
Laurențiu Nicola
c4dfa06b9d
Bump tracing-log
2023-11-15 13:25:19 +02:00
Laurențiu Nicola
1fc056ec93
Bump indexmap
2023-11-15 13:21:34 +02:00
Laurențiu Nicola
2bfd6b659d
Bump serde_json
2023-11-15 13:17:36 +02:00
Laurențiu Nicola
cb8434e594
Bump either
2023-11-15 13:07:36 +02:00
Laurențiu Nicola
2dbdaa247b
Bump tracing-subscriber
2023-11-15 13:04:39 +02:00
Laurențiu Nicola
d83620a5ba
Bump tracing-tree
2023-11-15 13:01:54 +02:00
Laurențiu Nicola
f53368dd3f
Bump tracing
2023-11-15 13:00:32 +02:00
Laurențiu Nicola
f66df10f87
Bump itertools
2023-11-15 12:53:56 +02:00
Laurențiu Nicola
dfc885e0fd
Bump anyhow
2023-11-15 12:49:32 +02:00
bors
57ef70cc08
Auto merge of #15901 - Veykril:inner-diag, r=lnicola
...
fix: Diagnose everything in nested items, not just def diagnostics
Turns out we only calculated def diagnostics for these before (was wondering why I wasn't getting any type mismatches)
2023-11-15 10:07:15 +00:00
bors
535eb0da9d
Auto merge of #15874 - DropDemBits:structured-snippet-migrate-4, r=Veykril
...
internal: Migrate assists to the structured snippet API, part 4
Continuing from #15260
Migrates the following assists:
- `add_turbo_fish`
- `add_type_ascription`
- `destructure_tuple_binding`
- `destructure_tuple_binding_in_subpattern`
I did this a while ago, but forgot to make a PR for the changes until now. 😅
2023-11-15 09:54:45 +00:00
bors
a47330308b
Auto merge of #15875 - Young-Flash:fix_grammar, r=Veykril
...
fix `PathSegment` grammar
close https://github.com/rust-lang/rust-analyzer/issues/15778
2023-11-15 09:43:11 +00:00
Lukas Wirth
498f39eae2
fix: Diagnose everything in nested items, not just def diagnostics
2023-11-15 10:34:09 +01:00
Laurențiu Nicola
6b53c09ef5
Merge branch 'master' into sync-from-rust
2023-11-15 09:46:27 +02:00
Laurențiu Nicola
610eafe009
Merge commit '76633199f4316b9c659d4ec0c102774d693cd940' into sync-from-rust
2023-11-15 09:45:17 +02:00
DropDemBits
3f99a56fae
Fix panic in add_type_ascription
...
Assist wasn't applicable when the let statement was missing a pattern
before, so we should do the same now.
2023-11-14 18:43:48 -05:00
DropDemBits
df629627c5
Add tests for LetStmt::set_ty
2023-11-14 17:35:24 -05:00
Lukas Wirth
723d799ec1
Diagnose missing assoc items in trait impls
2023-11-14 22:00:52 +01:00
Lukas Wirth
e21d21a8fb
Diagnose incorrect unsafety for trait impls
2023-11-14 21:05:27 +01:00
Lukas Wirth
d5faad1dae
Fix inlay-hint tests being invalidated by minicore chanes
2023-11-14 18:53:48 +01:00
Lukas Wirth
6ddccc9a6e
Diagnose some orphan trait impl cases
2023-11-14 18:09:34 +01:00
Laurențiu Nicola
d45ff2484f
Depend on rustc_driver
2023-11-14 18:07:02 +02:00
Lukas Wirth
b74015512d
Remove UserError from LayoutError
2023-11-14 13:32:04 +01:00
Lukas Wirth
e844784d8d
Simplify
2023-11-14 12:53:14 +01:00
Jinoh Kang
0beba7cfc4
fix: Fix incorrectly replacing references in macro invocation in "Convert to named struct" assist
2023-11-14 16:01:59 +09:00
DropDemBits
787ca888e3
Add IdentPat::set_pat
...
Needed so that the `tuple_pat` node gets added to the syntax tree,
which is required as we're using structured snippets.
2023-11-13 20:41:06 -05:00
DropDemBits
6f68cd3394
Remove unwraps from destructure_tuple_binding
2023-11-13 18:42:58 -05:00
Laurențiu Nicola
b6951defa6
Add missing rustc_private features
2023-11-13 21:38:57 +02:00
Michael Schmidt
67058605d8
FIxed typo in highlight_related.rs
2023-11-13 13:13:39 +01:00
Young-Flash
3e5bc9a9c8
impl qualifying_trait
for PathSegment
2023-11-13 18:14:00 +08:00
Lukas Wirth
d6b908ec41
Fix import preference config keys
2023-11-12 17:48:40 +01:00
Laurențiu Nicola
bad3d9e766
Include toml files in the vfs
2023-11-12 16:45:47 +02:00
bors
1152f593b3
Auto merge of #15870 - lnicola:expand-macro, r=lnicola
...
minor: Make "Expand macro" command title more explicit
Closes [#15856 ](https://github.com/rust-lang/rust-analyzer/issues/15856 ).
I opted for "caret", since it's the better term (cursor is the mouse), but I'm not sure how popular it is these days.
2023-11-12 13:48:43 +00:00
Laurențiu Nicola
cace36cade
Make Expand macro command title more explicit
2023-11-12 11:43:46 +02:00
Young-Flash
23fde40fed
fix PathSegment
grammar
2023-11-12 11:20:14 +08:00
DropDemBits
4aaa592a9a
Migrate destructure_tuple_binding
to mutable ast
...
Due to the way the current tree mutation api works, we need to collect
changes before we can apply them to the real syntax tree, and also can only
switch to a file once.
`destructure_tuple_binding_in_sub_pattern` also gets migrated even
though can't be used.
2023-11-11 21:07:19 -05:00
DropDemBits
f3dcc67dfa
Migrate add_type_ascription
2023-11-11 21:05:27 -05:00
DropDemBits
5fc8cc52e2
Add LetStmt::set_ty
...
Way for setting and removing the type ascription of a let stmt
2023-11-11 21:05:27 -05:00
DropDemBits
92422f7488
Use syntax's version of SyntaxElement
2023-11-11 21:05:27 -05:00
DropDemBits
cc4e06f04b
Migrate add_turbo_fish
to mutable ast
...
`add_type_ascription` is still left as-is since it's a different assist
2023-11-11 21:05:26 -05:00
DropDemBits
02c7b8b9ba
Add MethodCallExpr::get_or_create_generic_arg_list
...
Mirrors `PathSegment's` version, except that it always generates a
turbofish
2023-11-11 21:05:26 -05:00
Lukas Wirth
74e5444f15
Fix some FIXMEs
2023-11-11 15:49:57 +01:00
Lukas Wirth
ba61766217
Add config for preferring / ignoring prelude modules in find_path
2023-11-11 14:56:38 +01:00
Lukas Wirth
801a887954
Record all import paths per item in ImportMap
2023-11-11 14:48:44 +01:00
Lukas Wirth
2339ba4440
Prepare ImportMap for supportin multiple import paths per item
2023-11-11 14:04:24 +01:00
Pascal Kuthe
0647b645cd
ensure renames happen after edit
2023-11-10 17:39:32 +01:00
Laurențiu Nicola
9826717550
Improve check for include macro
2023-11-10 16:53:08 +02:00
bors
7cca4e5816
Auto merge of #15854 - alibektas:15782/relax_hidden_attr, r=lnicola
...
fix: Ignore doc(hidden) attr if no body is present
fixes #15782
2023-11-10 13:30:52 +00:00
bors
5afaf680b8
Auto merge of #15864 - Young-Flash:find_self, r=lnicola
...
fix: find `Self` reference
took a lot of time to debug to find the problem, here should compare the actual `Adt` type
close https://github.com/rust-lang/rust-analyzer/issues/12693
2023-11-10 13:13:14 +00:00
Young-Flash
e0276dc5dd
fix: find Self
reference
2023-11-10 19:54:43 +08:00
bors
76633199f4
Auto merge of #15860 - HKalbasi:fix-capture-raw-pointer, r=HKalbasi
...
Truncate closure capture place for raw pointer
fix https://github.com/rust-lang/rust-analyzer/issues/15670#issuecomment-1804070623
2023-11-09 17:53:52 +00:00
bors
ebb9ed90d1
Auto merge of #15853 - Kangaxx-0:gaxx/update-parser-event-comment, r=lnicola
...
Try to update parser/event doc
`TokenSource` and `TreeSink` has been refactored as part of #10765 , they no longer exist in code repo. This pr tries to remove them from event module level comment to prevent confusion.
2023-11-09 17:39:58 +00:00
hkalbasi
3bcdb7d886
Truncate closure capture place for raw pointer
2023-11-09 20:59:17 +03:30
Young-Flash
be62e0bf08
fix: remove parenthesis should ensure space
2023-11-09 18:33:49 +08:00
Ali Bektas
b0101da116
Ignore doc(hidden) attr if no body is present
2023-11-09 02:12:53 +01:00
Gaxx
fa7a91844a
Try to update parser doc
2023-11-08 16:29:21 -08:00
bors
7059ae2fc2
Auto merge of #15847 - wasd96040501:feat/preview_adt, r=lnicola
...
feat: preview adt field when hover
Closes #13977
![20231108194345_rec_](https://github.com/rust-lang/rust-analyzer/assets/14040068/95894c4b-de6e-4ca4-98b3-6ab4559d0950 )
2023-11-08 13:48:19 +00:00
YangzeLuo
41bcd542e2
feat: preview adt field when hover
2023-11-08 21:45:32 +08:00
Laurențiu Nicola
d1d111d09e
Merge commit '3b7c7f97e4a7bb253a8d398ee4f8346f6cf2817b' into sync-from-ra
2023-11-08 08:15:03 +02:00
hkalbasi
1086b294c2
update rustc dependencies
2023-11-08 01:16:47 +03:30
roife
13249b7dd9
fix: correct a typo in a comment in base-db/lib.rs
2023-11-07 14:51:34 +08:00
Young-Flash
b84940b199
make generate_mut_trait_impl assist trigged for std trait only
2023-11-05 12:27:10 +08:00
Young-Flash
8d8d12120d
feat: add generate_mut_trait_impl assist
2023-11-05 12:27:10 +08:00
Laurențiu Nicola
19bf0da9d7
Fix docs path for derive macros
2023-11-04 13:33:19 +02:00
Nicholas Nethercote
6eaf3f8bb2
Remove support for compiler plugins.
...
They've been deprecated for four years.
This commit includes the following changes.
- It eliminates the `rustc_plugin_impl` crate.
- It changes the language used for lints in
`compiler/rustc_driver_impl/src/lib.rs` and
`compiler/rustc_lint/src/context.rs`. External lints are now called
"loaded" lints, rather than "plugins" to avoid confusion with the old
plugins. This only has a tiny effect on the output of `-W help`.
- E0457 and E0498 are no longer used.
- E0463 is narrowed, now only relating to unfound crates, not plugins.
- The `plugin` feature was moved from "active" to "removed".
- It removes the entire plugins chapter from the unstable book.
- It removes quite a few tests, mostly all of those in
`tests/ui-fulldeps/plugin/`.
Closes #29597 .
2023-11-04 08:50:46 +11:00
bors
11a263d5ee
Auto merge of #15819 - wasd96040501:feat/skip_tt_count_limit, r=lnicola
...
feat: skip checking token tree count for include! macro call
fix #15335 #15648
2023-11-02 10:48:51 +00:00
luoyangze.ptrl
b76f2c8ee0
fix: using name(include) instead of str
2023-11-02 10:14:54 +08:00
luoyangze.ptrl
740a864b7c
feat: skip checking tt count for include macro call
2023-11-02 00:27:11 +08:00
bors
99e94d2938
Auto merge of #15788 - Young-Flash:import_anonymously, r=lnicola
...
feat: import trait with alias
![import_trait_with_alias](https://github.com/rust-lang/rust-analyzer/assets/71162630/81601160-fe55-46e3-ab8d-b2705e1aa696 )
cc `@Veykril`
close https://github.com/rust-lang/rust-analyzer/issues/15684
2023-10-31 14:33:00 +00:00
Young-Flash
929544ef28
use check_assist_by_label
to pick assist
2023-10-31 22:13:07 +08:00
Young-Flash
a723acf346
simplify the code
2023-10-31 21:03:26 +08:00
cui fliter
9c99afe3aa
Fix some typos
...
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-10-30 10:31:50 +08:00
bors
f493207744
Auto merge of #15809 - Young-Flash:extract_variable_in_place, r=HKalbasi
...
feat: make extract_variable assist in place
![extract_variable_without_select](https://github.com/rust-lang/rust-analyzer/assets/71162630/96be2de4-42c9-4b24-b3e1-8b3e3a2da1d9 )
close https://github.com/rust-lang/rust-analyzer/issues/15796
2023-10-28 06:20:35 +00:00
Young-Flash
7186a28717
chore: add unapplicable test for extract_variable without select
2023-10-28 10:06:09 +08:00
Young-Flash
00cdbe6c96
feat: make extract_variable assist in place
2023-10-27 21:16:34 +08:00
Roberto Bampi
99ec3aa8a3
scip: update crate to version 0.3.1.
...
While the git repo has been updated constantly, crates.io has only now
been updated after more than a year of activity.
2023-10-26 16:20:06 +02:00
bors
2f6961aaaf
Auto merge of #15780 - Young-Flash:auto_import, r=lnicola
...
fix: import trait if needed for `unqualify_method_call` assist
before:
![before](https://github.com/rust-lang/rust-analyzer/assets/71162630/66fda67d-afcb-453f-91a9-7e85993c3d2a )
after:
![after](https://github.com/rust-lang/rust-analyzer/assets/71162630/72ffbda4-1615-4413-836e-480eb52e9728 )
follow up https://github.com/rust-lang/rust-analyzer/pull/13825
2023-10-23 16:56:22 +00:00
Young-Flash
45ee88f9cb
fix: remove unwrap
2023-10-23 23:12:07 +08:00
hkalbasi
8b82ea4f51
Store binding mode for each instance independently
2023-10-22 23:35:33 +03:30
Young-Flash
4f5f7e2800
feat: import trait with alias
2023-10-22 21:39:00 +08:00
bohan
d20471334f
use visibility to check unused imports and delete some stmts
2023-10-22 21:27:46 +08:00
Laurențiu Nicola
094cecd3bd
Fix VS Code detection for Insiders version
2023-10-21 19:08:41 +03:00
bors
954fb1d673
Auto merge of #15727 - DaniPopes:lintgen-unstable-book, r=HKalbasi
...
feat: generate descriptors for all unstable features
Most unstable features don't have their own chapter in the unstable book, so a rustc helper tool (`src/tools/unstable-book-gen`) generates shims to fill the gaps.
Run this tool to generate the full unstable-book source before parsing it.
2023-10-20 16:42:23 +00:00
bors
bd38871a98
Auto merge of #15736 - rmehri01:15678_module_incorrect_case_diagnostics, r=HKalbasi
...
fix: add incorrect case diagnostics for module names
Adds diagnostics for checking both inline and file module names are snake case.
Closes #15678
2023-10-20 16:20:40 +00:00
Young-Flash
a7f77d89a9
fix: auto import trait if needed
2023-10-19 17:34:17 +08:00
bors
7f1e6fdfee
Auto merge of #15775 - Young-Flash:refactor, r=Veykril
...
refactor: change generated variable name
change generated variable name in `replace_is_some_with_if_let_some` assist
close https://github.com/rust-lang/rust-analyzer/issues/15765
2023-10-18 06:39:34 +00:00
Young-Flash
1a0fe58d81
refactor: change generated variable name
2023-10-17 17:34:11 +08:00
bors
d6afb4fa23
Auto merge of #15746 - pvalletbo:string-literals-diagnose, r=Veykril
...
String literals diagnose
Continues the work from #15744 to add diagnosis errors to Str, ByteStr, and CStr literal kinds.
Also replaces `unescape_char` for `unescape_byte` to use the correct method for Byte literals.
2023-10-16 18:23:22 +00:00
Lukas Wirth
40acc5250f
Update rustc_abi dependency
2023-10-15 18:57:40 +02:00
bors
65532e417d
Auto merge of #15755 - Young-Flash:cursor_selection, r=lnicola
...
fix: make cursor select at _tmp
Here make cursor select at `_tmp` atuomatically after the assist apply. Refer to [vscode snippet placeholder](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholders ).
![cursor_selection](https://github.com/rust-lang/rust-analyzer/assets/71162630/a7866efe-2d54-488b-903e-9df039f34a7e )
following https://github.com/rust-lang/rust-analyzer/pull/15752
2023-10-15 07:41:29 +00:00
Christian Schott
8217ff9c16
make ProjectionStore-impls pub-accessible
2023-10-14 19:20:11 +02:00
bors
16ac6c284c
Auto merge of #15756 - harpsword:fix_typo_in_mbe_lib, r=lnicola
...
fix typo in mbe/lib.rs comment
fix typo in mbe/lib.rs comment
2023-10-14 06:23:12 +00:00
harpsword
3f4368a090
fix: fix typo in mbe/lib.rs comment
2023-10-14 14:13:24 +08:00
Young-Flash
bc34e8f1ad
feat: make cursor select at _tmp
2023-10-14 11:05:38 +08:00
bors
862693ff95
Auto merge of #15752 - Young-Flash:replace_is_method_with_if_let_method, r=HKalbasi
...
feat: add replace_is_ok_with_if_let_ok assist
following https://github.com/rust-lang/rust-analyzer/pull/15743
2023-10-13 07:32:55 +00:00
Young-Flash
5bbca22720
update mod order to adapt alphabetically sorted
2023-10-13 00:09:13 +08:00
Young-Flash
506b1e515b
feat: add replace_is_ok_with_if_let_ok assist
2023-10-12 23:26:42 +08:00
bors
84e1d27343
Auto merge of #15743 - Young-Flash:replace_is_some_with_if_let_some, r=HKalbasi
...
add replace_is_some_with_if_let_some assist
This is a basic impl, if it is ok, `if my_result.is_ok()`-> `if let Ok(_x) = my_result `will be add next.
close https://github.com/rust-lang/rust-analyzer/issues/12977
2023-10-12 08:20:08 +00:00
Young-Flash
3605bb38ff
fix CI: generate doctest
2023-10-12 11:50:44 +08:00
Pol Valletbó
6845c80a2f
fix: format
2023-10-11 15:52:22 +02:00
Pol Valletbó
4b281ffdf2
chore: format imports
2023-10-11 15:52:05 +02:00
Pol Valletbó
b769f34f63
chore: move common code to function
2023-10-11 15:45:45 +02:00
Pol Valletbó
e1aeb7fa79
fix: handle errors for string byte string and c_string
2023-10-11 15:25:52 +02:00
Pol Valletbó
677e6f3439
fix: use unescape_byte function for Byte literals
2023-10-11 13:09:15 +02:00
Pol Valletbó
f58a8250dc
fix: cargo fmt
2023-10-11 12:36:53 +02:00