Commit Graph

1267 Commits

Author SHA1 Message Date
bors[bot]
eb931c0d9e Merge #505
505: Inherent methods r=matklad a=flodiebold

This adds resolution, type checking and completion for inherent methods.

The main open question here is the caching, I think. I'm not sure whether we should be caching method resolutions in a more fine grained way (currently we just build a hash map of types -> impl blocks, and iterate through all potential impl blocks when looking for a method).

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-12 21:18:14 +00:00
Florian Diebold
1ed7fbfc1b args -> params 2019-01-12 21:58:16 +01:00
Florian Diebold
5db5f5cc1d Small improvements from review comments 2019-01-12 21:51:56 +01:00
bors[bot]
e56072bfa3 Merge #500
500: Code lens support for running tests r=matklad a=kjeremy

Supports running individual and mod tests.

I feel like this kind of abuses the `Runnables` infrastructure but it works. Maybe later on down the line we should introduce a struct that is really just a tuple of binary, arguments, and environment and pass that back to the client instead. `run_single.ts` is just a paired down version of `runnables.ts` and there is duplication because I think run_single will probably change independent of runnables.

Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-12 18:56:11 +00:00
Jeremy Kolb
72d48b08fb Move CargoTargetSpec and friends to cargo_target_spec module 2019-01-12 13:00:58 -05:00
bors[bot]
8033c81acc Merge #507
507: Fix handling of attributes in positional field lists r=matklad a=DJMcNab

First reported by @max-frai. This allows us to properly handle crates using e.g. `#[Derive(fail)]` with `#[fail(cause)]`, among other cases.

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-12 15:47:48 +00:00
DJMcNab
0b9e462ab0 Fix handling of attributes in positional field lists 2019-01-12 15:42:12 +00:00
DJMcNab
c38432c0bd Use --force when installing the VSIX. 2019-01-12 15:00:03 +00:00
Florian Diebold
d0bdaa6c00 Complete inherent methods 2019-01-12 15:01:27 +01:00
Florian Diebold
082ef52bcb Implement basic inherent method resolution 2019-01-12 15:01:19 +01:00
Jeremy Kolb
f42f70b1d5 Switch hover to use MarkupContent
MarkedString is deprecated
2019-01-11 21:45:16 -05:00
Florian Diebold
1212e59bee Fix assertion error in unification (hopefully)
Currently, all types that we handle during inference need to be resolved as far
as possible at the time. It's maybe too brittle of an invariant; I need to think
how we can do this better. This should fix #484 though, I hope (if
it's the same case as I managed to reproduce).
2019-01-11 22:59:00 +01:00
Jeremy A. Kolb
faf0037635 Code lens support for running tests 2019-01-11 15:16:55 -05:00
Aleksey Kladov
f60153ee9e warn louder on mising sysroot 2019-01-11 20:55:56 +02:00
Aleksey Kladov
f193fbcbae actually produce missing def kinds 2019-01-11 21:02:12 +03:00
Aleksey Kladov
19136cde00 uncopypaste def sources 2019-01-11 20:43:10 +03:00
Aleksey Kladov
0f9c350812 add missing def kinds 2019-01-11 20:28:10 +03:00
Aleksey Kladov
2d3940d0ab rename TreePtr -> TreeArc
This is much clearer about the semantics
2019-01-11 19:59:06 +03:00
bors[bot]
aad1bf877e Merge #496
496: Include two element ranges into the nav. r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-11 15:35:41 +00:00
Aleksey Kladov
f23a13bfa7 kill NavTarget ptr 2019-01-11 18:35:04 +03:00
Aleksey Kladov
dda916bc4d fix tests 2019-01-11 18:32:22 +03:00
Aleksey Kladov
4089db1e0d prioritize event handing over indexing
If we index gazillion libraries simultaneously, we fill the threadpool
and so the main loop fails to turn, although there isn't really any
significant blocking inside the loop itself.
2019-01-11 17:08:49 +03:00
Aleksey Kladov
8a5f74a24f use location link in goto def 2019-01-11 16:06:22 +03:00
Aleksey Kladov
3aaf20bd6e return ref ranges from gotodef 2019-01-11 16:06:08 +03:00
Aleksey Kladov
f9ed8d4d23 envapsulate navigation target better 2019-01-11 16:01:57 +03:00
Aleksey Kladov
1d3d05d5d7 simplify 2019-01-11 16:01:57 +03:00
Aleksey Kladov
a5dd04078e reshuffle nones 2019-01-11 16:01:57 +03:00
Aleksey Kladov
7b14377965 refactor nav target 2019-01-11 16:01:57 +03:00
Aleksey Kladov
df6bbc6e42 Make from_syntax private 2019-01-11 16:01:57 +03:00
Aleksey Kladov
2aa125251e move nav to a separate file 2019-01-11 16:01:57 +03:00
Aleksey Kladov
f848aa97ab group feature modules 2019-01-11 16:01:57 +03:00
Aleksey Kladov
a1b661faec fine grained on typed tests 2019-01-11 15:48:06 +03:00
Aleksey Kladov
d9e70e3160 fix on-type offset 2019-01-11 15:05:40 +03:00
Aleksey Kladov
4aa632761f make on dot typed actually work 2019-01-11 14:57:19 +03:00
Aleksey Kladov
66d7adf1cb force serde in ra_syntax 2019-01-11 13:21:18 +03:00
Aleksey Kladov
4bf6b91b9d minor 2019-01-11 00:51:34 +03:00
Aleksey Kladov
cd00158b1d wire sysroot into crate graph 2019-01-11 00:51:34 +03:00
Aleksey Kladov
e35374ec7c special case std 2019-01-11 00:51:34 +03:00
Aleksey Kladov
8852408bfb use arena for sysroot 2019-01-11 00:51:34 +03:00
Aleksey Kladov
66fba88534 split module 2019-01-11 00:51:34 +03:00
Aleksey Kladov
e8923713c5 add sysroot boilerplate 2019-01-11 00:51:34 +03:00
bors[bot]
b6bc55f542 Merge #490
490: dont depend on tools from lsp-server r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-10 21:46:56 +00:00
Aleksey Kladov
4196b65f21 dont depend on tools from lsp-server 2019-01-11 00:46:32 +03:00
Florian Diebold
a6590ce231 Use name resolution for goto definition 2019-01-10 21:32:54 +01:00
bors[bot]
dc2a8d5acc Merge #470
470: Type inference for enum variants r=flodiebold a=marcusklaas

Opened a new PR instead of https://github.com/rust-analyzer/rust-analyzer/pull/461. Totally botched that one.

I think I resolved all the issues mentioned there.

Co-authored-by: Marcus Klaas de Vries <mail@marcusklaas.nl>
2019-01-10 19:12:40 +00:00
bors[bot]
a95536301c Merge #488
488: switch CargoWorkspace to arena r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-10 18:59:40 +00:00
Aleksey Kladov
faa1d35cbc dont complete () if they are already there 2019-01-10 21:38:04 +03:00
Aleksey Kladov
cbeaa541aa switch CargoWorkspace to arena 2019-01-10 21:26:43 +03:00
DJMcNab
afdb569902 Fix handling of where clauses in tuple structs 2019-01-10 18:21:01 +00:00
Aleksey Kladov
f83485839b better change visibility assist
* don't add visibility before #derive
* suggest changing pub(crate) into pub
2019-01-10 19:18:15 +03:00