Commit graph

263608 commits

Author SHA1 Message Date
Ali Bektas
042a932bfe Make almost every client config global 2024-08-28 19:33:21 +02:00
Ali Bektas
f98c121218 Make completion_* local 2024-08-28 19:33:21 +02:00
Ali Bektas
5e6bfaefbd Make diagnostics_* local 2024-08-28 19:33:21 +02:00
Ali Bektas
fcf505be37 Make workspace_symbol_search_* workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
887dd4e344 Make procMacro_* workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
7360dfe3f1 Make rustc_* workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
2ddb4e1480 Make runnables workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
55078f0b8e Make check workspace 2024-08-28 19:33:20 +02:00
Ali Bektas
15a1505551 Make checkOnSave workspace 2024-08-28 19:30:58 +02:00
Ali Bektas
648545276a Make cargo_ workspace again 2024-08-28 19:30:55 +02:00
bors
248a55723b Auto merge of #17981 - lnicola:proc-macro-cwd, r=Veykril
minor: Fix cwd used for proc macro expansion

Fixes #17980.
2024-08-28 10:36:11 +00:00
Laurențiu Nicola
51055f7141 Fix cwd used for proc macro expansion 2024-08-28 13:20:21 +03:00
bors
199c01df7a Auto merge of #17757 - alibektas:toggle_macro_delimiters, r=Veykril
assist: Add new assist toggle_macro_delimiter

Closes #17716
2024-08-27 12:25:43 +00:00
Lukas Wirth
c9a3b02281 Fix tests 2024-08-27 14:23:23 +02:00
bors
2dce25020e Auto merge of #17974 - lnicola:rm-apache-appendix, r=lnicola
internal: Drop Apache license appendices

Closes #14586

Similar to https://github.com/rust-lang/rust/pull/67734
2024-08-27 12:08:25 +00:00
bors
e4c404e2bd Auto merge of #17973 - Veykril:proc-macro-curr-dir, r=Veykril
Expand proc-macros in workspace root, not package root

Should fix https://github.com/rust-lang/rust-analyzer/issues/17748. The approach is generally not perfect though as rust-project.json projects don't benefit from this (still, nothing changes in that regard)
2024-08-27 11:53:04 +00:00
Laurențiu Nicola
b592256bf0 Drop Apache license appendices 2024-08-27 14:52:34 +03:00
Lukas Wirth
df4580b5c1 Expand proc-macros in workspace root, not package root 2024-08-27 13:40:24 +02:00
bors
65936887ff Auto merge of #17970 - ChayimFriedman2:unwrap-unsafe-block, r=Veykril
fix: Fix "Unwrap block" assist with block modifiers

The assist just assumes the `{` will be the first character, which led to strange outputs such as `nsafe {`.

Fixes #17964.
2024-08-27 09:17:10 +00:00
bors
f0bfd43b32 Auto merge of #17972 - rust-lang:revert-17936-module_path, r=Veykril
Revert "feat: Implement `module_path` macro"

Reverts rust-lang/rust-analyzer#17936 Fixes https://github.com/rust-lang/rust-analyzer/issues/17968
2024-08-27 06:21:03 +00:00
Lukas Wirth
65d25fe17f
Revert "feat: Implement module_path macro" 2024-08-27 08:19:09 +02:00
Chayim Refael Friedman
65e9f8ba7f Fix "Unwrap block" assist with block modifiers
The assist just assumes the `{` will be the first character, which led to strange outputs such as `nsafe {`.
2024-08-26 19:02:36 +03:00
bors
05e6fb63c2 Auto merge of #17963 - avrong:avrong/error-lifetimes, r=Veykril
Always show error lifetime arguments as `'_`

Fixes #17947

Changed error lifetime argument presentation in non-test environment to `'_` and now showing them even if all of args are error lifetimes.

This also influenced some of the other tests like `extract_function.rs`, `predicate.rs` and `type_pos.rs`. Not sure whether I need to refrain from adding lifetimes args there. Happy to fix if needed
2024-08-26 10:06:21 +00:00
Aleksei Trifonov
9d4fdc0157 Show lifetime args if there are only error ones 2024-08-26 12:19:50 +03:00
Aleksei Trifonov
9dad25a7cb Show and render error lifetime args as '_ 2024-08-26 12:19:42 +03:00
bors
239dc5db1c Auto merge of #17941 - ChayimFriedman2:pre-closure-to-fn, r=Veykril
Preliminary work for #17940

I split the PR as requested, and made small commits.
2024-08-26 08:09:15 +00:00
bors
a3f1196dad Auto merge of #17962 - ChayimFriedman2:update-rtn, r=Veykril
fix: Fix Return Type Syntax to include `..` (i.e. `method(..)` and not `method()`) as specified in the RFC

Fixes #17952.
2024-08-26 07:51:30 +00:00
Chayim Refael Friedman
326a1c669d Fix Return Type Syntax to include .. (i.e. method(..) and not method()) as specified in the RFC 2024-08-26 01:45:52 +03:00
bors
e0b1719171 Auto merge of #17960 - duncanawoods:master, r=HKalbasi
fix: add extra_test_bin_args to test explorer test runner

`@HKalbasi` I thought I included this in #17470 but it appears not so I have created a new issue #17959 for this fix.
2024-08-25 11:48:32 +00:00
bors
31a532a30c Auto merge of #17961 - Veykril:autoderef-alloc, r=Veykril
internal: Don't allocate autoderef steps when not needed
2024-08-25 11:13:53 +00:00
Lukas Wirth
98e23d3706 internal: Don't allocate autoderef steps when not needed 2024-08-25 13:12:07 +02:00
duncan
2703ea1623 fix: add extra_test_bin_args to test explorer test runner
trim whitespace
2024-08-25 12:11:36 +01:00
bors
bdee5c9c8c Auto merge of #17958 - Veykril:deref-chain-method-completions, r=Veykril
fix: Fix trait method completions not acknowledging Deref impls
2024-08-25 08:56:23 +00:00
Lukas Wirth
606401f03c fix: Fix trait method completions not acknowledging Deref impls 2024-08-25 10:47:30 +02:00
bors
c223013005 Auto merge of #17956 - Veykril:metadata-err, r=Veykril
fix: Fix metadata retrying eating original errors
2024-08-25 07:30:09 +00:00
Lukas Wirth
d9d8d9477f fix: Fix metadata retrying eating original errors 2024-08-25 09:28:47 +02:00
bors
cba00a8406 Auto merge of #17955 - ChayimFriedman2:fix-fast-search-with-scope, r=Veykril
fix: Don't enable the search fast path for short associated functions when a search scope is set

In most places where we set a search scope it is a single file, and so the fast path will actually harm performance, since it has to search for aliases in the whole project. The only exception that qualifies for the fast path is SSR (there is an exception that don't qualify for the fast path as it search for `use` items). It sets the search scope to avoid dependencies. We could make it use the fast path, but I didn't bother.

I forgot this while working on #17927.
2024-08-25 05:19:07 +00:00
Chayim Refael Friedman
7bd3ca102d Don't enable the search fast path for short associated functions when a search scope is set
In most places where we set a search scope it is a single file, and so the fast path will actually harm performance, since it has to search for aliases in the whole project.
The only exception that qualifies for the fast path is SSR (there is an exception that don't qualify for the fast path as it search for `use` items). It sets the search scope to avoid dependencies. We could make it use the fast path, but I didn't bother.
2024-08-25 04:35:58 +03:00
Chayim Refael Friedman
becfc5aeb9 Impl PartialEq and Eq for IndentLevel
We can impl PartialOrd and Ord too, but I didn't need that.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
634052268f Provide impl From<ast::TypeOrConstParam> for ast::GenericParam 2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
7339337793 Modify hacks::parse_expr_from_str() to take an edition too
This will be needed as we parse unknown identifiers and want to insert them into source code.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
737a969aa5 Add helper methods to retrieve Future::Output and Iterator::Item 2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
2c6a521bab Provide Future::Output and Iterator lang items 2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
1e0df17667 Handle associated types that are lang items
Previously we were ignoring them.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
cf243e5211 Add gen modifier to functions
We don't yet lower or maybe even parse them, but blocks already have `gen`, so why not.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
77ab5686c6 Preserve all spans for closure captures, not just one
This is important for the "convert closure to fn" assist, as it needs to find and modify the places the captures are used.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
12faedd9b0 Fix few bugs in closure capture computation, and add tests
Also create a test infrastructure for capture computation.
2024-08-24 22:35:49 +03:00
bors
a074e1abbb Auto merge of #17949 - Wilfred:include_build_file_in_watchers, r=lnicola
fix: rust-analyzer should watch build files from rust-project.json

rust-analyzer always watches Cargo.toml for changes, but other build systems using rust-project.json have their own build files.

Ensure we also watch those for changes, so we know when to reconfigure rust-analyzer when dependencies change.
2024-08-24 06:22:07 +00:00
Wilfred Hughes
bdbc057bec Include buildfile path in watcher list 2024-08-23 17:49:03 -07:00
bors
3bd42d3c4d Auto merge of #17948 - ShoyuVanilla:parent-self-sized, r=Veykril
fix: Wrong `Self: Sized` predicate for trait assoc items

Again while implementing object safety like #17939 😅

If we call `generic_predicates_query` on `fn foo` in the following code;
```
trait Foo {
    fn foo();
}
```
It returns implicit bound `Self: Sized`, even though `Self` is not appearing as a generic parameter inside angle brackets, but as a parent generic parameter, "trait self".

This PR prevent pushing "implicit" `Self: Sized` predicates in such cases
2024-08-23 18:04:21 +00:00