Aleksey Kladov
076c972e3b
internal: prevent possible bugs when adding magical comments
2021-09-13 13:43:13 +03:00
Aleksey Kladov
c56f041477
internal: simplify
2021-09-13 13:35:31 +03:00
Aleksey Kladov
940b3afd00
internal: fix bugs in tests by simplifying code
2021-09-13 13:29:27 +03:00
Aleksey Kladov
80991356e1
minore: improve readability
...
Tuples are hard to understand
2021-09-13 12:34:05 +03:00
Lukas Wirth
95746a99b4
Use correct file syntax node for decl_access computation in find_all_refs
2021-09-12 23:19:23 +02:00
bors[bot]
3e056b9e90
Merge #10213
...
10213: minor: Improve resilience of match checking r=flodiebold a=iDawer
In bug condition the match checking strives to recover giving false no-error diagnostic.
Suggested in https://github.com/rust-analyzer/rust-analyzer/pull/9105#discussion_r644656085
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-09-12 12:23:56 +00:00
Dawer
68dfe190ab
Improve resilience of match checking
...
In bug condition the match checking strives to recover giving false no-error diagnostic.
2021-09-12 16:03:12 +05:00
Florian Diebold
a2d9f7d7bb
Avoid type inference panic on bitslice methods
...
Should fix #10090 , #10046 , #10179 .
This is only a workaround, but the proper fix requires some bigger
refactoring (also related to fixing #10058 ), and this at least prevents
the crash.
2021-09-12 10:49:40 +02:00
bors[bot]
317059985a
Merge #10202
...
10202: fix: Type param hover shows correct sized bounds. r=flodiebold a=iDawer
Closes #9949
This adds implicit `: Sized` bound to type parameters at lowering step.
Hovering on type parameter does not show it's `: Sized` bound be it set explicitly or implicitly. This is because it doesn't track that the bound was set implicitly.
### Perf
```rust
./target/rust-analyzer-baseline-3dae94bf -q analysis-stats --memory-usage .
Database loaded: 4.51s, 311minstr, 110mb (metadata 1.08s, 22minstr, 743kb; build 3.20s, 8730kinstr, -237kb)
crates: 38, mods: 770, decls: 17173, fns: 12835
Item Collection: 29.63s, 85ginstr, 372mb
exprs: 353460, ??ty: 364 (0%), ?ty: 232 (0%), !ty: 144
Inference: 118.25s, 284ginstr, 601mb
Total: 147.88s, 370ginstr, 973mb
./target/rust-analyzer-hover-ty-param-dfb15292 -q analysis-stats --memory-usage .
Database loaded: 4.53s, 311minstr, 110mb (metadata 1.10s, 22minstr, 743kb; build 3.20s, 8672kinstr, -189kb)
crates: 38, mods: 770, decls: 17173, fns: 12835
Item Collection: 29.59s, 85ginstr, 372mb
exprs: 353460, ??ty: 364 (0%), ?ty: 232 (0%), !ty: 144
Inference: 121.69s, 296ginstr, 601mb
Total: 151.28s, 382ginstr, 974mb
```
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-09-12 07:54:56 +00:00
Aleksey Kladov
9b2bac621e
minor: make code clearer with ControlFlow
2021-09-11 20:49:10 +03:00
bors[bot]
abdb75912c
Merge #10207
...
10207: minor: improve readability r=matklad a=matklad
It's important that module interface doesn't depend on features. Better
hide features in bodies.
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-09-11 15:46:36 +00:00
Aleksey Kladov
e5b813b566
minor: improve readability
...
It's important that module interface doesn't depend on features. Better
hide features in bodies.
2021-09-11 18:42:38 +03:00
Giles Cope
15312aab58
removing seemingly unused dev deps.
2021-09-11 16:26:36 +01:00
Giles Cope
4ccd90af81
remove unused deps
2021-09-11 16:20:04 +01:00
Dawer
964c7b3211
minor: fix tests.
2021-09-10 23:02:37 +05:00
Dawer
dfb15292c2
fix: Type param hover shows correct sized bounds.
2021-09-10 20:48:39 +05:00
Dawer
9ce3c075ad
internal: add implicit : Sized
bound to type parameters.
2021-09-10 20:41:53 +05:00
bors[bot]
07fb5db3dc
Merge #10177
...
10177: fix: Treat path dependencies like workspace members r=jonas-schievink a=jonas-schievink
Closes https://github.com/rust-analyzer/rust-analyzer/issues/9070
Fixes diagnostics not showing up in path dependencies.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-10 14:14:02 +00:00
Jonas Schievink
9a320bcf38
Support the new rustc_builtin_macro
syntax
2021-09-09 21:32:41 +02:00
bors[bot]
8e47e359fa
Merge #10190
...
10190: minor: Bump deps r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-09-09 18:13:26 +00:00
Laurențiu Nicola
c930dcca13
Bump chalk
2021-09-09 21:12:38 +03:00
bors[bot]
92ce768ea3
Merge #10188
...
10188: fix: add multi-token mapping support to runnables r=jonas-schievink a=lnicola
Closes #10184
changelog fix (first contribution) add multi-token mapping support to runnables
Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
2021-09-09 15:07:43 +00:00
Anatol Ulrich
5d08ac20d9
implement #10070 in runnables
...
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-09 18:02:53 +03:00
Jonas Schievink
85993171e5
minor: include ImplLoc
in panic context
2021-09-09 02:20:55 +02:00
bors[bot]
6a8062092b
Merge #10174
...
10174: fix: path display error when start with `crate` r=flodiebold a=dzvon
Fixes #10172
Co-authored-by: Dezhi Wu <wu543065657@163.com>
2021-09-08 14:40:54 +00:00
Yotam Ofek
ebb891246c
Split and document array method resolution logic.
2021-09-08 13:15:40 +03:00
Yotam Ofek
9593fe684d
Fix resolution of inherent array methods.
2021-09-08 11:49:05 +03:00
Yotam Ofek
1785493cae
Add (failing) test for inherent array method resolution.
2021-09-08 11:00:55 +03:00
Jonas Schievink
e241015a75
Rename is_member
to is_local
2021-09-07 17:29:58 +02:00
Jonas Schievink
8a4c35a068
Treat path dependencies like workspace members
2021-09-07 17:26:21 +02:00
Dezhi Wu
87436a08fa
fix super
path wrong display
2021-09-07 17:49:46 +08:00
Dezhi Wu
880af425d4
fix path wrong display
2021-09-07 16:54:02 +08:00
Dezhi Wu
6d2154e409
cargo fmt
2021-09-07 14:50:33 +08:00
Dezhi Wu
82ae228d98
fix: path display error when start with crate
2021-09-07 14:44:30 +08:00
Aleksey Kladov
682fbbbd5a
minor: modernize
2021-09-06 18:54:16 +03:00
Aleksey Kladov
104cd0ce88
internal: make name consistent with usage
2021-09-06 18:34:03 +03:00
bors[bot]
7d9eb4fd73
Merge #10167
...
10167: minor: Avoid extra allocation in completion rendering r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-09-06 15:15:10 +00:00
Laurențiu Nicola
d27ed8c243
Avoid extra allocation in completion rendering
2021-09-06 17:55:07 +03:00
David Barsky
184fbf24f0
update to tracing-tree 0.1.10, which does not pull in syn.
2021-09-06 10:33:08 -04:00
bors[bot]
cbc13ae6bd
Merge #10152
...
10152: feat: Add completion for raw identifiers r=matklad a=nabakin
![rust_analyzer_pr](https://user-images.githubusercontent.com/894305/132110362-c21b713d-acaf-4a6d-9749-ff812172cbce.gif )
Adds support for valid Rust completion of raw identifiers.
Previously, code completion of fields made via raw identifiers would not re-insert those raw identifiers, resulting in invalid Rust code. Now, code completion of fields made via raw identifiers do re-insert those raw identifiers, resulting in valid Rust code.
The same is true for all code completion instances for fields and compatible Rust identifiers.
Co-authored-by: Blake Wyatt <894305+nabakin@users.noreply.github.com>
2021-09-06 10:54:18 +00:00
bors[bot]
0bc8e2acb8
Merge #10154
...
10154: feat: Complete `#![recursion_limit = "N"]` instead of `#![recursion_limit = N]` r=lnicola a=hkmatsumoto
Currently ra emits `#![recursion_limit = 128]`, but this should rather be `#![recursion_limit = "128"]`
Co-authored-by: Hirochika Matsumoto <git@hkmatsumoto.com>
2021-09-06 10:38:41 +00:00
Jonas Schievink
8e736da456
Recover from statement macro expansion errors
2021-09-06 00:16:12 +02:00
Aleksey Kladov
dbb702cfc1
internal: remove accidental code re-use
...
FragmentKind played two roles:
* entry point to the parser
* syntactic category of a macro call
These are different use-cases, and warrant different types. For example,
macro can't expand to visibility, but we have such fragment today.
This PR introduces `ExpandsTo` enum to separate this two use-cases.
I suspect we might further split `FragmentKind` into `$x:specifier` enum
specific to MBE, and a general parser entry point, but that's for
another PR!
2021-09-05 22:36:36 +03:00
Jonas Schievink
d6a12b491f
Don't dump DefMap
s to build the panic context
2021-09-05 20:42:22 +02:00
Jonas Schievink
7d67c71c34
Add panic info for impl_trait
/trait_data
2021-09-05 19:19:34 +02:00
bors[bot]
487078feb5
Merge #10155
...
10155: Minor: replace old name `CrateDefMap` in comments r=jonas-schievink a=toyboot4e
This PR replaces the old name `CrateDefMap` in comments with the new name `DefMap`. The renaming was done in [57a82fb0
](https://github.com/rust-analyzer/rust-analyzer/commit/57a82fb0 ) (Jan 2021).
I didn't touch the working code ([CrateDefMapQueryQuery][QQ]). Thank you.
[QQ]: https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide_db/src/apply_change.rs#L126
Co-authored-by: toyboot4e <toyboot4e@gmail.com>
2021-09-05 16:57:46 +00:00
Jonas Schievink
65bb5d7511
Add crate name to nameres panic context
2021-09-05 18:48:34 +02:00
toyboot4e
89e46b40c3
Minor: replace old name CrateDefMap
2021-09-05 19:22:34 +09:00
Hirochika Matsumoto
1f238b3bb5
Complete #![recursion_limit = "N"]
over #![recursion_limit = N]
2021-09-05 18:05:06 +09:00
Blake Wyatt
6c51ecad5b
Add completion for raw identifiers
2021-09-04 19:28:59 -04:00