Aleksey Kladov
7be2d2f008
internal: remove one more accidentally quadratic code-path
...
Definition::visibility was implemented in a rather roundabout way -- by
asking the parent module about the effective visibility.
This is problematic for a couple of reasons:
* first, it doesn't work for local items
* second, asking module about visibility of a child is a linear
operation (that's a problem in itself, tracked in #9378 )
Instead, lets ask the declared visibility directly, we have all the code
for it, and need only to actually us it.
2021-06-22 21:26:07 +03:00
Lukas Wirth
f615efdfc3
Factor out pick_best_token
ide pattern into ide_db
2021-06-22 17:50:15 +02:00
Lukas Wirth
2113c46797
Cleanup insert_use tests
2021-06-19 22:33:29 +02:00
Lukas Wirth
344cb5e76a
Don't insert imports outside of cfg attributed items
2021-06-18 23:56:43 +02:00
bors[bot]
d9666ce509
Merge #9334
...
9334: feat: Allow to disable import insertion on single path glob imports r=Veykril a=Veykril
On by default as I feel like this is something the majority would prefer.
Closes #8490
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-18 21:23:22 +00:00
Lukas Wirth
2ee090faaf
Allow to disable import insertion on single path glob imports
2021-06-18 23:11:56 +02:00
rdambrosio
8e08b86304
Feat: inline generics in const and func trait completions
2021-06-17 19:54:28 -04:00
Aleksey Kladov
66673eae2b
internal: retire famous_defs_fixture
...
This is now done declaratively via `minicore`.
2021-06-18 00:42:32 +03:00
Aleksey Kladov
ebb591a570
internal: add derive and ord support to minicore
2021-06-18 00:30:22 +03:00
Aleksey Kladov
ca99aaa053
internal: add From to minicore
2021-06-17 21:04:12 +03:00
Aleksey Kladov
82c7afc703
minor: dead code
2021-06-17 20:51:34 +03:00
Aleksey Kladov
08c220ab2c
internal: add default to minicore
2021-06-17 20:49:49 +03:00
Aleksey Kladov
ac35645455
internal: remove dead code
2021-06-17 11:42:43 +03:00
Aleksey Kladov
a43bba760e
internal: switch some tests to minicore
2021-06-17 11:41:36 +03:00
Aleksey Kladov
1e100e8b3e
internal: cleanup tests
...
* ensure standard, non-indented style (should add this check to
`fixture` some day)
* removed a couple of ignores
2021-06-15 12:48:05 +03:00
Aleksey Kladov
c2015e7d18
internal: more natural order of sources for TypeParam
...
We usually use first (left) variant of `Either` for "usual" case, and
use right for odd things. For example, pat source is Pat | SelfParam.
2021-06-14 22:42:43 +03:00
Aleksey Kladov
94f7b63522
minor: less ambiguous name
2021-06-14 19:16:03 +03:00
Aleksey Kladov
9fb67e7477
internal: document rename challenges
2021-06-14 19:08:12 +03:00
Aleksey Kladov
26c978f258
internal: adapt diagnostics to the new rename API
2021-06-14 18:46:54 +03:00
Aleksey Kladov
a91071b57b
internal: cut deps between assists and diagnostics
2021-06-14 17:45:17 +03:00
Maan2003
5ac6804bb3
cargo fmt
2021-06-13 09:48:15 +05:30
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
Aleksey Kladov
0463d76a1f
internal: cross-crate cov-marks
2021-06-12 23:40:52 +03:00
bors[bot]
21d4416235
Merge #9218
...
9218: Item search now respects trait impl items r=Veykril a=Veykril
Fixes #2977
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-11 17:33:34 +00:00
Lukas Wirth
48f65b3b15
Item search now respects trait impl items
2021-06-11 19:24:52 +02:00
Jonas Schievink
1d6eef1350
Update ungrammar
2021-06-11 18:34:30 +02:00
Kirill Bulatov
3aaf07b8cb
Add more profiling for flyimports
2021-06-10 23:43:46 +03:00
Lukas Wirth
26c869ddc0
Don't classify attributes on macro-calls are the macro itself
2021-06-10 00:26:15 +02:00
Lukas Wirth
31aad2528f
Fix edge case for ImportGranularity guessing
2021-06-08 22:14:30 +02:00
Lukas Wirth
aa29364f83
Reorder CompletionContext fields
2021-06-07 19:06:03 +02:00
Lukas Wirth
fc06058a76
Unescape generated clippy lints
2021-06-05 19:14:53 +02:00
Lukas Wirth
0c89f38378
Replace -
with _
in generated lint names
2021-06-04 19:10:52 +02:00
Lukas Wirth
0b9ba4977e
Generate default lint groups
2021-06-04 18:55:08 +02:00
Lukas Wirth
343df88ac7
Generate default lint completions
2021-06-04 18:35:19 +02:00
Jonas Schievink
9fdb8f9037
Make it opt-in
2021-06-03 18:09:21 +02:00
Jonas Schievink
f96c1a0414
Implement per-edition preludes
2021-06-01 13:39:19 +02:00
bors[bot]
e9a797748d
Merge #8866
...
8866: Update salsa r=matklad a=jonas-schievink
This updates salsa to include https://github.com/salsa-rs/salsa/pull/265 , and removes all cancellation-related code from rust-analyzer
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-31 12:42:32 +00:00
Lukas Wirth
a6b92a8cc0
simplify
2021-05-28 20:46:09 +02:00
Jonas Schievink
33debc4065
Update salsa
2021-05-27 15:05:41 +02:00
Kirill Bulatov
050c592b8c
Exclude inherent traits more eagerly
2021-05-27 02:00:23 +03:00
bors[bot]
495c9586ec
Merge #8945
...
8945: fix: Make expected type work in more situations r=flodiebold a=flodiebold
Also makes call info show the correct types for generic methods.
![2021-05-23-182952_1134x616_scrot](https://user-images.githubusercontent.com/906069/119269023-dd5a5b00-bbf5-11eb-993a-b6e122c3b9a6.png )
![2021-05-23-183117_922x696_scrot](https://user-images.githubusercontent.com/906069/119269025-dfbcb500-bbf5-11eb-983c-fc415b8428e0.png )
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2021-05-23 21:55:51 +00:00
Florian Diebold
b8262099cc
Get rid of field_type again
2021-05-23 23:54:35 +02:00
Aleksey Kladov
8d5f59e0f1
minor: align import style with styleguide
2021-05-23 23:40:19 +03:00
Florian Diebold
4a6cdd776d
Record method call substs and use them in call info
2021-05-23 18:24:21 +02:00
Lukas Tobias Wirth
da7f1eb756
Don't compare ast::Visibility by stringifying
2021-05-20 17:45:59 +02:00
bors[bot]
8bb37737c9
Merge #8873
...
8873: Implement import-granularity guessing r=matklad a=Veykril
This renames our `MergeBehavior` to `ImportGranularity` as rustfmt has it as the purpose of them are basically the same. `ImportGranularity::Preserve` currently has no specific purpose for us as we don't have an organize imports assist yet, so it currently acts the same as `ImportGranularity::Item`.
We now try to guess the import style on a per file basis and fall back to the user granularity setting if the file has no specific style yet or where it is ambiguous. This can be turned off by setting `import.enforceGranularity` to `true`.
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8870
Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
2021-05-20 08:27:16 +00:00
Lukas Tobias Wirth
2bf720900f
Check for differing attributes in granularity guessing
2021-05-20 10:25:04 +02:00
Jonas Schievink
ea8555b155
Simplify eager macro representation
2021-05-19 20:19:08 +02:00
Lukas Tobias Wirth
b4fe479236
Replace ImportGranularity::Guess with guessing boolean flag
2021-05-19 15:57:10 +02:00
Lukas Tobias Wirth
5fd9f6c7b9
Add ImportGranularity::Guess
2021-05-18 20:21:47 +02:00