Commit graph

31406 commits

Author SHA1 Message Date
Ali Bektas
987a9342ad Remove invalid tests 2024-08-28 19:33:21 +02:00
Ali Bektas
23eb20794e Make almost every client config global 2024-08-28 19:33:21 +02:00
Ali Bektas
a7207f4b64 Make completion_* local 2024-08-28 19:33:21 +02:00
Ali Bektas
eef79b4e47 Make diagnostics_* local 2024-08-28 19:33:21 +02:00
Ali Bektas
3a4efb4141 Make workspace_symbol_search_* workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
e4edbf4601 Make procMacro_* workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
c304ceeb4c Make rustc_* workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
65d39f32d6 Make runnables workspace 2024-08-28 19:33:21 +02:00
Ali Bektas
c3acdc2fa1 Make check workspace 2024-08-28 19:33:20 +02:00
Ali Bektas
f09997993b Make checkOnSave workspace 2024-08-28 19:30:58 +02:00
Ali Bektas
100d3f9c06 Make cargo_ workspace again 2024-08-28 19:30:55 +02:00
bors
f454ea8771 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
5f7bda743f Fix cwd used for proc macro expansion 2024-08-28 13:20:21 +03:00
Chayim Refael Friedman
0e4f4d3f9c Create an assist to convert closure to freestanding fn
The assist converts all captures to parameters.
2024-08-27 17:07:55 +03:00
bors
8db40df2a3 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
Ivar Scholten
7d9e4fcc07 fix: do not assume rustup is installed in xtask codegen
When formatting generated code the xtask crate attempts to run `rustup run stable rustfmt`,
which fails if `rustup` is not installed. This results in test failures when another source manages
the compiler toolchain, for example when using Nix (or any other distro-specific packaging solution):

* xtask::codegen::grammar::test
* xtask::codegen::assists_doc_tests::test

With this commit xtask will first attempt to run `rustup run stable rustfmt`, and if that fails just
plain `rustfmt`. It still validates a stable version is being used.

This allows `cargo test` to pass on systems that do not use `rustup`.
2024-08-27 14:25:13 +02:00
Lukas Wirth
a7c519c98f Fix tests 2024-08-27 14:23:23 +02:00
bors
b675c93fc5 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
06a40a61b0 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
90f903b521 Drop Apache license appendices 2024-08-27 14:52:34 +03:00
Lukas Wirth
9a47e6f2c8 Expand proc-macros in workspace root, not package root 2024-08-27 13:40:24 +02:00
bors
66b9b56853 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
0f7f68dad2 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
fa48bc216c
Revert "feat: Implement module_path macro" 2024-08-27 08:19:09 +02:00
Chayim Refael Friedman
104c29764b 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
095926ea6f 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
f1b4a9cfb0 Show lifetime args if there are only error ones 2024-08-26 12:19:50 +03:00
Aleksei Trifonov
7ea4241afa Show and render error lifetime args as '_ 2024-08-26 12:19:42 +03:00
bors
0ad26e6025 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
cd734cb7ae 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
21e6058ab7 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
7106cd3be5 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
316590f5b1 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
b6ed2f5a41 internal: Don't allocate autoderef steps when not needed 2024-08-25 13:12:07 +02:00
duncan
18081eabd0 fix: add extra_test_bin_args to test explorer test runner
trim whitespace
2024-08-25 12:11:36 +01:00
bors
071997d475 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
737d5088e5 fix: Fix trait method completions not acknowledging Deref impls 2024-08-25 10:47:30 +02:00
bors
f4dbbac7ca 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
191949eabe fix: Fix metadata retrying eating original errors 2024-08-25 09:28:47 +02:00
bors
1271dff610 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
b98278307e 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
52462ada22 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
5c59a718c5 Provide impl From<ast::TypeOrConstParam> for ast::GenericParam 2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
ddbb28daa0 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
e6d59e65ec Add helper methods to retrieve Future::Output and Iterator::Item 2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
34920dde8d Provide Future::Output and Iterator lang items 2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
3712bb7f6a Handle associated types that are lang items
Previously we were ignoring them.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
cc07652be5 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
506b9663bf 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
da931e7398 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