Jeremy Kolb
76c0d0b94d
format
2019-01-31 07:44:26 -05:00
bors[bot]
97ade89993
Merge #692
...
692: [WIP] Correctly parse attributes r=matklad a=DJMcNab
Reference - https://doc.rust-lang.org/reference/attributes.html
This fixes/investigates inner attributes for:
- [x] `impl` blocks
- [x] `extern` blocks
- [x] `fn`s (fixes #689 )
- [x] `mod`s (already supported)
- [x] 'block expressions' (the long text just describes all 'blocks' used as statements)
This also investigates/fixes outer attributes for:
- [ ] 'most statements' (see also: #685 , https://doc.rust-lang.org/reference/expressions.html#expression-attributes )
- [x] Enum variants, Struct and Union fields (Fixed in #507 )
- [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?)
- [ ] 'Generic lifetime or type parameters'
- [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions'
- [ ] 'The tail expression of block expressions'
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-31 07:06:31 +00:00
bors[bot]
777c79ce6b
Merge #712
...
712: Fix #667 and improvements to introduce_variable r=matklad a=eulerdisk
Fix #667 (but not re-indenting currently), plus many other improvements.
@matklad I'm not sure how to handle re-indenting here.
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-01-31 07:00:11 +00:00
Jeremy Kolb
57899d66fa
Use "▶" for test code lens
...
I find that this makes code lenses stand out more.
2019-01-30 22:09:27 -05:00
Andrea Pretto
a5fe4a08fb
Some improvements to introduce_variable.
2019-01-30 23:01:01 +01:00
bors[bot]
28fdb8d03c
Merge #701
...
701: Minor type inference tweaks r=flodiebold a=marcusklaas
Pass down expectation for reference expressions and type the guard in match expressions.
I wasn't able to add a test for the former addition because the type variable previously introduced would always resolve to the right type in the things I tried!
Co-authored-by: Marcus Klaas de Vries <mail@marcusklaas.nl>
2019-01-30 20:51:47 +00:00
Florian Diebold
1acff307fe
Move expr_scopes query to its module
2019-01-30 21:39:34 +01:00
Andrea Pretto
7a1494ced5
Fix #667
2019-01-30 21:31:29 +01:00
Florian Diebold
65864d85f9
Rename FnScopes -> ExprScopes
...
The reason for this is that it describes scopes for any body expression, not
just that of a function. It did not actually refer to functions at all anymore.
2019-01-30 21:23:50 +01:00
Marcus Klaas de Vries
13cb4a1b37
Add test for passing on ref expectations
2019-01-30 21:14:26 +01:00
Aleksey Kladov
ef7eb8c257
Use Crate instead of CrateId
2019-01-30 22:37:20 +03:00
Aleksey Kladov
95aa7e46fc
move item_map_query
2019-01-30 22:36:22 +03:00
bors[bot]
b704ce803b
Merge #702
...
702: Go to Implementation r=matklad a=kjeremy
First half of #620
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-01-30 19:19:31 +00:00
kjeremy
04eb15856b
Resolve crate
2019-01-30 13:18:21 -05:00
Jeremy Kolb
b88ba007cc
Pass Documentation up to LSP and add "rust" to our codeblocks there
2019-01-29 21:39:09 -05:00
Jeremy Kolb
3c17643b30
Go to Implementation for structs and enums
2019-01-29 19:13:02 -05:00
Marcus Klaas de Vries
3daca3eb4d
Infer type of match guard
2019-01-28 23:09:14 +01:00
DJMcNab
00e6b5d26c
Parse and validate attributes in blocks
2019-01-28 20:03:56 +00:00
WizardOfMenlo
ec32b2e39c
Use match-all instead of individual branches
2019-01-28 17:17:04 +00:00
WizardOfMenlo
9416904d14
Added support for primitive types type inference when using std::ops::Not
2019-01-28 14:52:43 +00:00
Aleksey Kladov
2ee08098a6
opt-in jemalloc
2019-01-28 15:52:21 +03:00
Aleksey Kladov
d1a67c1174
align command naming
2019-01-28 15:01:22 +03:00
bors[bot]
7abe1f422c
Merge #678
...
678: WIP: automatically collect garbage r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-28 11:39:02 +00:00
Aleksey Kladov
53e3e82d91
update salsa
2019-01-28 13:53:32 +03:00
Florian Diebold
cf5c99271d
Sort completions in tests
2019-01-27 22:51:20 +01:00
Aleksey Kladov
c4ceea3417
use salsa from my repo
2019-01-27 22:57:18 +03:00
Aleksey Kladov
b4c8baadb1
tweak words
2019-01-27 22:57:18 +03:00
Aleksey Kladov
c7f4e3a401
show jemalloc
2019-01-27 22:57:18 +03:00
Aleksey Kladov
09b5dc8e02
drop obsolete comment
2019-01-27 22:57:18 +03:00
Aleksey Kladov
7801f6b50f
automatically collect garbage
2019-01-27 22:57:18 +03:00
Marcus Klaas de Vries
6249989e6c
Process second review
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
f6eb44cd9e
Use type information from the turbofish
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
0da1e8b2f8
Add a FnSig to Ty::FnDef
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
089b1c57c1
Address some issues flagged in review
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
04748a0f16
Add missing ty test snapshot
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
aa06893a14
Add type params to FnSignature
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
67e40e431a
Initial implementation of generics for method calls
2019-01-27 17:59:21 +01:00
Marcus Klaas de Vries
3bd47c0285
First attempt at generic type inference for fns
2019-01-27 17:59:21 +01:00
bors[bot]
3f4f50baaa
Merge #690
...
690: Fix module resolution for non standard filenames r=matklad a=regiontog
fixes #668
Co-authored-by: Erlend Tobiassen <erlend.tobiassen@gmail.com>
2019-01-27 15:55:47 +00:00
Erlend Tobiassen
b775fa285c
Revert parts of "Test non standard crate root"
...
Prefer cursor position over file_map
2019-01-27 16:32:31 +01:00
DJMcNab
137b1ccb71
Add a test for inner attributes on extern blocks
2019-01-27 15:20:36 +00:00
bors[bot]
b2b62b9579
Merge #691
...
691: remove dead code r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-27 15:08:23 +00:00
Aleksey Kladov
154bce1864
remove dead code
2019-01-27 18:07:45 +03:00
DJMcNab
73b075c556
Correctly parse inner attributes of impl blocks
2019-01-27 14:55:03 +00:00
Erlend Tobiassen
b149882d19
Remove dbg!(...)
2019-01-27 15:44:59 +01:00
Erlend Tobiassen
08e12f974c
Fix bad rebase and rustfmt
2019-01-27 15:37:43 +01:00
Erlend Tobiassen
e2e1f4ceca
Typos
2019-01-27 15:19:42 +01:00
Erlend Tobiassen
5052bf9889
Update test to use correct paths
2019-01-27 15:19:41 +01:00
Erlend Tobiassen
c5e6db16b1
fix #668
2019-01-27 15:19:38 +01:00
Erlend Tobiassen
683e5e64f4
Test non standard crate root
2019-01-27 15:15:56 +01:00
bors[bot]
964086e0d4
Merge #685
...
685: Support attributes on let statements r=matklad a=DJMcNab
Fix #677 .
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-27 09:04:02 +00:00
DJMcNab
4d35cc3875
Stop using let_stmt twice
2019-01-27 09:00:57 +00:00
bors[bot]
ffcf618842
Merge #662
...
662: Preserve indentation in doc comments r=matklad a=kjeremy
Fixes #502
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-27 08:21:04 +00:00
bors[bot]
2577a65684
Merge #687
...
687: fix verificatio on ci r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 23:35:49 +00:00
Aleksey Kladov
7177fffd7b
fix verification on CI
...
remove `--verify` flag from the binaries: we have tests for this!
2019-01-27 02:30:54 +03:00
Florian Diebold
94bbb2418a
Add marks
2019-01-26 23:59:11 +01:00
Florian Diebold
77f92674f9
Handle cycles in type vars
...
This might be the cause of #587 .
2019-01-26 23:48:01 +01:00
DJMcNab
7055d43c3a
Make attrs be a child of the let statement
2019-01-26 22:02:23 +00:00
bors[bot]
e40d8d4032
Merge #683
...
683: fix AST for if expressions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 21:41:27 +00:00
Aleksey Kladov
619af1e22c
fix AST for if expressions
...
then is not always a block...
2019-01-27 00:37:11 +03:00
DJMcNab
55a3e21ac4
Support attributes on let statements
2019-01-26 21:35:03 +00:00
Aleksey Kladov
f78b092629
fix panic in call info
...
closes #317
closes #675
2019-01-27 00:34:18 +03:00
bors[bot]
691ffd2dcb
Merge #681
...
681: Use the correct working directory for cargo metadata and rustfmt r=matklad a=DJMcNab
Fixes maybe #670 . @bjorn3, is that true?
(Awkward wording due to GitHub's eager 'fixes' finding)
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-26 21:18:52 +00:00
DJMcNab
9fbbb8f609
Don't use the reserved error code
2019-01-26 20:58:50 +00:00
DJMcNab
d9456c3989
Return an lsp error
2019-01-26 20:43:51 +00:00
Aleksey Kladov
a128075af9
remove Option<SourceFileItemId> hack
2019-01-26 23:27:01 +03:00
DJMcNab
632b0f2902
Use the correct working directory for cargo metadata and rustfmt
2019-01-26 20:16:15 +00:00
Aleksey Kladov
9c1a18a626
store syntax ptr in FileItems
...
we cache the tree in file_item query anyway
2019-01-26 22:48:04 +03:00
Aleksey Kladov
ae97a45c35
remove dead code
2019-01-26 22:43:07 +03:00
bors[bot]
2d337c88b0
Merge #680
...
680: Struct literals should not be a `BlockLike::Block` r=DJMcNab a=DJMcNab
Fix #674 .
Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2019-01-26 19:17:48 +00:00
DJMcNab
7a76433c45
Struct literals should not be a BlockLike::Block
2019-01-26 18:45:29 +00:00
Aleksey Kladov
a1fb8efd7a
⬆️ salsa
2019-01-26 21:23:59 +03:00
Aleksey Kladov
6f862a6704
⬆️ rowan
...
The new rowan uses arena allocator for red nodes which helps
slightly (5% on std completion test) with performance but should help
quite a bit with avoiding memory fragmentation.
2019-01-26 19:39:31 +03:00
Jeremy Kolb
a892067951
Make doc comments optional
2019-01-26 10:35:23 -05:00
bors[bot]
a8d32c4d1a
Merge #671
...
671: Makre VFS slightly less super obscure r=vemoo a=matklad
I've decided to better understand what we do in VFS, and this turns out to be really hard. Jugling threads and channels is one of the most unfortunately arcane bits of rust...
I had some success though by flattenning the structure so that all channel & thread creation routines are on one screen.
r? @vemoo
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 15:13:44 +00:00
Jeremy Kolb
e9e0ea0398
Do not unconditionally trim comments
2019-01-26 09:55:30 -05:00
Jeremy Kolb
8c08b6825e
Preserve indentation in doc comments
2019-01-26 09:50:17 -05:00
Aleksey Kladov
9f16892b94
remove watcher ctx
2019-01-26 17:17:28 +03:00
Aleksey Kladov
bf98fc609e
remove mutexes
2019-01-26 17:04:00 +03:00
Aleksey Kladov
012ea3fac6
handle all the reads on the "main" watcher thread
2019-01-26 17:01:58 +03:00
Aleksey Kladov
3ce531f95d
cleanup: add result alias
2019-01-26 16:40:24 +03:00
Aleksey Kladov
390a20787e
consolidate error handling
2019-01-26 16:28:04 +03:00
Aleksey Kladov
20d7a431fd
refactor-fvs
2019-01-26 16:28:04 +03:00
Aleksey Kladov
bf7a0f43d0
minor cleanups
2019-01-26 16:26:30 +03:00
bors[bot]
3feaf2a008
Merge #659
...
659: Fold blocks of mod items r=matklad a=eulerdisk
Fixes #572
As requested, we ignore `mod`s with a visibility specifier.
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-01-26 12:49:08 +00:00
Aleksey Kladov
07a4b9f1a0
dont overwrite memfies
2019-01-26 15:41:52 +03:00
Andrea Pretto
b9ca8ab868
Better visibility check.
2019-01-26 13:32:48 +01:00
bors[bot]
2acaa92c93
Merge #660
...
660: Support macro calls in type position r=matklad a=regiontog
A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c ) demonstrating the syntax in question.
Co-authored-by: Erlend Tobiassen <erlend.tobiassen@gmail.com>
2019-01-26 10:23:28 +00:00
bors[bot]
8b6dea348f
Merge #666
...
666: rename source_file -> parse r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-26 08:55:38 +00:00
Aleksey Kladov
9457b1f0e6
rename source_file -> parse
2019-01-26 11:51:36 +03:00
Bernardo
410a3ae6e8
use entry file_type, improve test
2019-01-26 11:46:37 +03:00
Bernardo
d63e1cebff
use Roots
in watcher
2019-01-26 11:46:37 +03:00
Bernardo
86fadbd4e5
extract Roots
struct
2019-01-26 11:46:37 +03:00
Bernardo
cfbf47b002
review fixes
2019-01-26 11:46:37 +03:00
Bernardo
34a34f9399
use released notifiy
version, add TODO comment
2019-01-26 11:46:37 +03:00
Bernardo
be14ab217c
better test, avoid duplicated events
2019-01-26 11:46:27 +03:00
Bernardo
0a08650852
hardcode ".git" and "node_modules" also
2019-01-26 11:46:27 +03:00
Bernardo
10a24cf649
simplify and optimize RootFilter
by determining if is contained first
2019-01-26 11:46:27 +03:00
Bernardo
eeed6cf53b
fix recursive watch
2019-01-26 11:46:27 +03:00
Bernardo
2a1afad3ed
avoid boxing
2019-01-26 11:46:27 +03:00