Ville Penttinen
39679d499f
Ignore failing test for now
2019-02-22 00:27:22 +02:00
Ville Penttinen
a34eb98a78
Make nameres::ResolvePathResult private and refactor
2019-02-22 00:11:21 +02:00
Ville Penttinen
2e7bc905be
Remove Const inference for now, refactor PathResult
2019-02-21 23:57:07 +02:00
bors[bot]
bb665a7062
Merge #864
...
864: Fix handling of generics in tuple variants and refactor a bit r=matklad a=flodiebold
(The problem was that we created separate substitutions for the return value, so we lost the connection between the type arguments in the constructor call and the type arguments of the result.)
Also make them display a tiny bit nicer.
Fixes #860 .
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2019-02-21 20:47:50 +00:00
Florian Diebold
db9a5a9ac0
Add an assert (and fix the other)
2019-02-21 21:25:27 +01:00
bors[bot]
5100aeac42
Merge #876
...
876: Fix join_lines not adding a comma after join_single_expr_block with match arm r=matklad a=vipentti
Fixes #868
Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-21 16:55:26 +00:00
Ville Penttinen
82173c8de4
Move non_trivia_sibling
to ra_syntax::algo
2019-02-21 18:49:03 +02:00
Ville Penttinen
3c22c64725
Simplify adding a comma after match arm
2019-02-21 18:26:27 +02:00
Ville Penttinen
40add5de9a
Fix join_lines not adding a comma after join_single_expr_block in match arm
...
We will also remove optional whitespace between the expression and the comma.
e.g.
```rust
fn foo() {
let x = (<|>{
4
} ,); // NOTE: whitespace
}
```
becomes
```rust
fn foo() {
let x = (<|>4,);
}
```
2019-02-21 17:55:14 +02:00
kjeremy
56f48ac42a
Update lsp-types and backtrace
2019-02-21 10:07:14 -05:00
Aleksey Kladov
4fe07a2b61
add API guide to ra_syntax
2019-02-21 17:35:45 +03:00
Aleksey Kladov
7060a39d5c
simplify trait bounds
2019-02-21 16:12:15 +03:00
Aleksey Kladov
b51b71bf25
rearrange methods
2019-02-21 16:04:03 +03:00
Aleksey Kladov
f7f99af0a6
kill utils module
2019-02-21 15:57:40 +03:00
Aleksey Kladov
6225e1ab70
Ignore lockfile in fuzz
...
It's too much trouble maintaining it
2019-02-21 15:44:38 +03:00
Aleksey Kladov
412ac63ff5
docs
2019-02-21 15:24:42 +03:00
Aleksey Kladov
2fa2805887
add failing test
2019-02-21 14:06:21 +03:00
Aleksey Kladov
46179230a0
fix the test
2019-02-21 13:45:10 +03:00
Aleksey Kladov
c47f9e2d37
fix compilation
2019-02-21 13:37:32 +03:00
Aleksey Kladov
d334b5a1db
move parser to a separate crate
2019-02-21 13:27:45 +03:00
Ville Penttinen
816971ebc9
Implement basic support for Associated Methods and Constants
...
This is done in `infer_path_expr`. When `Resolver::resolve_path` returns
`PartiallyResolved`, we use the returned `Resolution` together with the given
`segment_index` to check if we can find something matching the segment at
segment_index in the impls for that particular type.
2019-02-21 12:25:55 +02:00
Aleksey Kladov
cd0d2866fc
make grammar independent of syntax tree
2019-02-21 12:12:04 +03:00
Aleksey Kladov
1b2e70df99
minor
2019-02-21 12:05:52 +03:00
Aleksey Kladov
79ce0fa8d7
move whitespace handling to tree builder
2019-02-21 12:03:42 +03:00
Florian Diebold
72712b8a42
Fix handling of generics in tuple variants and refactor a bit
...
Also make them display a tiny bit nicer.
Fixes #860 .
2019-02-20 22:48:55 +01:00
Aleksey Kladov
882c47f187
move syntax error to parser
2019-02-20 23:17:07 +03:00
Aleksey Kladov
61992dc1cd
simplify
2019-02-20 23:05:59 +03:00
Aleksey Kladov
4c1f9b8d4e
remove TokenPos
2019-02-20 23:02:24 +03:00
Aleksey Kladov
cce23fddba
flattern module structure
2019-02-20 22:52:32 +03:00
Aleksey Kladov
2acb21e8f7
merge parse_impl and parser_api
2019-02-20 22:44:06 +03:00
Aleksey Kladov
e72ad0a2fa
fix off by one error
2019-02-20 22:27:49 +03:00
Aleksey Kladov
2b5e336ce7
move abstract traits to top
2019-02-20 22:19:12 +03:00
Aleksey Kladov
d2bce118ae
switch to dynamic dispatch for TokenSource
...
Benchmarks show no difference. This is probably because we are
bottlenecked on memory allocations, and we should fix that, but we are
not optimizing for performance just yet.
changes. Lines starting # with '#' will be ignored, and an empty
message aborts the commit. # # On branch token-source # Changes to be
committed: # modified: crates/ra_syntax/src/parsing/parser_api.rs #
modified: crates/ra_syntax/src/parsing/parser_impl.rs #
2019-02-20 22:02:03 +03:00
Aleksey Kladov
0c81b9deee
route parsing via TokenSource trait
2019-02-20 21:50:07 +03:00
Aleksey Kladov
3517c175ac
rename Sink -> TreeSink
2019-02-20 21:08:59 +03:00
Aleksey Kladov
86a67dce25
fix tests
2019-02-20 16:48:06 +03:00
Aleksey Kladov
45fc91cc47
rearrange modules in a suggestd reading order
2019-02-20 16:24:39 +03:00
Aleksey Kladov
a4a1e08ab8
flatten modules
2019-02-20 16:16:14 +03:00
Aleksey Kladov
9f6883fbf1
move reparsers to grammar
2019-02-20 16:02:06 +03:00
Aleksey Kladov
5a6eda528c
tighten visibility
2019-02-20 15:57:26 +03:00
Aleksey Kladov
5222b8aba3
move all parsing related bits to a separate module
2019-02-20 15:47:32 +03:00
Aleksey Kladov
9d0cda4bc8
slightly better name
2019-02-20 15:03:31 +03:00
Aleksey Kladov
df6efe62c5
make stuff private
2019-02-20 14:53:19 +03:00
Aleksey Kladov
9738fb48a6
remove ignored macro tests
...
we need to significantly reengineer macros, so the tests as they exist
are useless
2019-02-19 20:06:53 +03:00
Aleksey Kladov
a6897a837c
remove local-vfs
2019-02-18 16:43:48 +03:00
Aleksey Kladov
1bdd935e91
switch to crates.io vfs
2019-02-18 16:43:16 +03:00
Aleksey Kladov
d93097a493
better comments
2019-02-18 16:20:12 +03:00
Aleksey Kladov
def7bc0ec5
drop dependency on thread_worker
2019-02-18 15:30:58 +03:00
Aleksey Kladov
9da3705191
drop unused extern crate
2019-02-18 14:39:18 +03:00
Aleksey Kladov
c5a65466e2
hide TaskResult from the public API
2019-02-18 14:29:54 +03:00
Aleksey Kladov
062aa97235
move public API to top of the file
2019-02-18 14:29:39 +03:00
Aleksey Kladov
74288ae272
remove depedency on ra_arena
2019-02-18 14:20:54 +03:00
Aleksey Kladov
4c154c289e
remove arena from Roots
...
we want to move ra_vfs to a new repo, so having fewer deps is useful.
Arena is a thin layer of sugar on top of Vec anyway.
2019-02-18 14:13:13 +03:00
Aleksey Kladov
d151b2a655
remove useless Arc
2019-02-18 14:05:08 +03:00
Aleksey Kladov
5823d3d042
drop unused deps
2019-02-18 12:46:08 +03:00
bors[bot]
16c7ebbb27
Merge #854
...
854: more compact edits in insta r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-18 09:26:24 +00:00
Aleksey Kladov
a92db7c848
more compact edits in insta
2019-02-18 12:24:25 +03:00
Aleksey Kladov
92aa0f9c87
Don't use additional_text_edits API internally
2019-02-18 12:24:20 +03:00
bors[bot]
564ab84b78
Merge #852
...
852: Handle != r=flodiebold a=matklad
r? @flodiebold
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-18 09:13:51 +00:00
Aleksey Kladov
79f35cc699
More orthogonal method naming
2019-02-18 12:07:47 +03:00
Aleksey Kladov
864fd5ee25
More compact debug representation for completion
2019-02-18 10:31:00 +03:00
Aleksey Kladov
4e8a3f565b
handle != operator
2019-02-18 10:09:44 +03:00
bors[bot]
8b95c0e0c2
Merge #850
...
850: Handle tuple structs / enum variants properly in type inference r=matklad a=flodiebold
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-02-18 06:22:07 +00:00
Ville Penttinen
58d14bcaf7
Enable parsing attributes for generic lifetimes and type parameters
2019-02-17 23:32:10 +02:00
Florian Diebold
b82db68400
Handle tuple structs / enum variants properly in type inference
2019-02-17 20:53:13 +01:00
bors[bot]
a725dd4f7a
Merge #849
...
849: Don't render `()` in calls to assoc functions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-17 18:47:09 +00:00
bors[bot]
646b53ace3
Merge #846
...
846: WIP: Enable parsing of attributes inside a match block r=matklad a=vipentti
We allow invalid inner attributes to be parsed, e.g. inner attributes that are
not directly after the opening brace of the match block.
Instead we run validation on `MatchArmList` to allow better reporting of errors.
This fixes #845 and works towards #759
Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-17 18:39:26 +00:00
Ville Penttinen
bb25958705
Remove match_armlist validator
2019-02-17 20:32:10 +02:00
Aleksey Kladov
e503ffe9ff
Don't render ()
in calls to assoc functions
2019-02-17 21:30:46 +03:00
bors[bot]
3dcde0b2ab
Merge #847
...
847: Refactor vfs r=matklad a=matklad
Some slight refctorings of VFS, in preparation for moving it to a separate repo
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-17 18:19:27 +00:00
Aleksey Kladov
aea986001f
marginally better names
2019-02-17 21:10:40 +03:00
Aleksey Kladov
bb393e2d11
fix-tests
2019-02-17 21:05:33 +03:00
Aleksey Kladov
143e5b628e
remove overlay removes overlay
2019-02-17 20:58:28 +03:00
Aleksey Kladov
e8bc29f122
simplify overlay handling
2019-02-17 20:54:11 +03:00
Ville Penttinen
96e3ac389f
Parse only outer_attributes for match arms for now
2019-02-17 19:48:08 +02:00
Aleksey Kladov
b719a6cc07
simplify
2019-02-17 20:34:01 +03:00
Ville Penttinen
1c97c1ac11
Enable parsing of attributes inside a match block
...
We allow invalid inner attributes to be parsed, e.g. inner attributes that are
not directly after the opening brace of the match block.
Instead we run validation on `MatchArmList` to allow better reporting of errors.
2019-02-17 19:26:57 +02:00
Aleksey Kladov
7187fc5c2a
rename method
2019-02-17 20:25:52 +03:00
Aleksey Kladov
e95fb7c9f9
remove duplicated method
2019-02-17 20:25:35 +03:00
Aleksey Kladov
162dea51bf
hide root config
2019-02-17 20:22:46 +03:00
Aleksey Kladov
6b5d90972a
move roots to a module
2019-02-17 19:46:55 +03:00
bors[bot]
982f72c022
Merge #844
...
844: Refactor find_all_refs to return ReferenceSearchResult r=vipentti a=vipentti
This refactors `find_all_refs` to return a new `ReferenceSearchResult` based on feedback in #839 .
There are few questions/notes regarding the refactor:
1. Introducing `NavigationTarget::from_bind_pat` this simply forwards the call to `NavigationTarget::from_named`, could we just expose `from_named` directly as `pub(crate)` ?
2. Added an utility method `NavigationTarget::range` since there were few places where you would use `self.focus_range.unwrap_or(self.full_range)`
3. Implementing `IntoIterator` for `ReferenceSearchResult`. This turns `ReferenceSearchResult` into an iterator over `FileRanges` and allows previous code to mostly stay as it was based on the order that `find_all_refs` previously had (declaration first and then the references). I'm not sure if there is a way of doing the conversion to `IntoIter` without the allocation of a new vector
4. Is it possible to have a binding without a name? I'm not sure if the `NavigationTarget::from_bind_pat` can cause some edge-cases that previously were ok
This fixes #835 .
Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-17 15:38:33 +00:00
Ville Penttinen
fd5307e60d
Remove leading ::
2019-02-17 17:25:19 +02:00
Florian Diebold
3c7c7e5a04
Make GenericArgs::from_ast pub(crate)
2019-02-17 14:55:04 +01:00
Florian Diebold
795d718ba1
Unify with the autorefed/autoderefed receiver type during method resolution
2019-02-17 14:44:39 +01:00
Ville Penttinen
85a6bf3424
Refactor find_all_refs to return ReferenceSearchResult
2019-02-17 13:40:43 +02:00
Florian Diebold
a1bda3fc08
Handle generic args for method calls
2019-02-16 23:06:41 +01:00
Florian Diebold
65bd9bc3a8
Handle impl generics in method calls
2019-02-16 23:06:41 +01:00
Florian Diebold
2af067b391
Resolve impl generic params
2019-02-16 23:06:41 +01:00
Florian Diebold
da7056245d
Add generic params to impl blocks
2019-02-16 23:06:41 +01:00
Florian Diebold
ccfc6b11c1
Add a test for impl generics
2019-02-16 23:06:41 +01:00
Florian Diebold
0242acae53
Turn ImplBlock into a copy type just containing IDs
...
This makes it more like the other code model types.
Also make Module::definition_source/declaration_source return HirFileIds, to
make them more like the other source functions.
2019-02-16 22:08:13 +01:00
Aleksey Kladov
2d131d63f9
document design guideline
2019-02-16 15:15:52 +03:00
bors[bot]
13f464edbd
Merge #836
...
836: auto_import: fix bug when the common path was shorter than both the c… r=matklad a=eulerdisk
Fix bug when the common path was shorter than both the current use and target path.
Wrong 1 (unnecessary self)
```
use std::fmt::nested::Debug;
std::fmt::Display<|>
```
--->
```
use std::fmt::{ self, Display, nested::Debug};
Display<|>
```
Wrong 2 (unnecessary, Debug disappear!!)
```
use std::fmt::Debug;
std::fmt::nested::Display
```
-->
```
use std::fmt::Debug::{ self, nested::Display, };
Display<|>
```
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-02-16 11:29:03 +00:00
Felix S. Klock II
cc15d3613c
Dont slow down everyone else's testing (especially the CI's Linux) just for OS X.
...
Namely, the allowance for up to 7 events, and thus requiring anyone
with fewer than 7 events to wait for the 3 second timeout, is only
relevant to fsevents (i.e. Mac OS X)
2019-02-15 13:26:19 +01:00
Felix S. Klock II
f7e711b77f
Generalize tests/vfs.rs
processing to address wildly-varying time-dependent behavior on Mac OS X.
2019-02-15 12:55:30 +01:00
bors[bot]
17370463e2
Merge #830
...
830: Fix test_vfs_works failing on Windows due to extra Write events r=pnkfelix a=vipentti
On Windows `notify` generates extra `Write` events for folders, which caused
`process_tasks` to not handle all tasks generated on Windows.
This fixes #827
Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-14 22:00:11 +00:00
Andrea Pretto
e8f3c1650a
auto_import: fix bug when the common path was shorter than both the current use and target path.
...
Shorter test names.
2019-02-14 21:58:36 +01:00
bors[bot]
f8d4cec342
Merge #834
...
834: use better label for &mut ref completion r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-14 18:34:47 +00:00
Aleksey Kladov
469301b603
use better label for &mut ref completion
2019-02-14 21:34:06 +03:00
Aleksey Kladov
e0b8942c56
simplify
2019-02-14 21:14:47 +03:00
Aleksey Kladov
bf352cd251
automatically wait for worker threads
...
closes #817
2019-02-14 21:11:07 +03:00
bors[bot]
10bf61b83b
Merge #831
...
831: tweak postfix completions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-14 17:38:51 +00:00
Aleksey Kladov
5f8ec8aa10
tweak postfix completions
...
* better label
* add refm for &mut
2019-02-14 20:38:26 +03:00
Aleksey Kladov
434f1520df
add ref postfix template
2019-02-14 20:13:39 +03:00
Ville Penttinen
50e49e0bc0
Fix test_vfs_works failing on Windows due to extra Write events
...
On Windows `notify` generates extra `Write` events for folders, which caused
`process_tasks` to not handle all tasks generated on Windows.
This fixes #827
2019-02-14 18:30:21 +02:00
Jeremy Kolb
1cd5966462
Be precise about the argument list
...
Fixes #812
2019-02-14 10:28:48 -05:00
Ville Penttinen
f7a78b2846
Remove call to canonicalize in BatchDatabase::load_cargo
...
Instead of using canonicalize, we now join the given path to
`std::env::current_dir()`, which either replaces the path, if the given path is
absolute, or joins the paths.
This fixes #821 .
2019-02-14 10:57:06 +02:00
bors[bot]
ebfa26658e
Merge #818
...
818: In `RootConfig::contains`, check against canonicalized version of root path r=matklad a=pnkfelix
In `RootConfig::contains`, check against canonicalized version of root path since OS may hand us data that uses the canonical form rather than the root as specified by the user.
This is a step towards a resolution of issue #734 but does not completely fix the problem there.
Co-authored-by: Felix S. Klock II <pnkfelix@pnkfx.org>
2019-02-13 21:33:31 +00:00
Felix S. Klock II
da300fd553
rustfmt
2019-02-13 22:31:33 +01:00
Florian Diebold
911e32bca9
Complete names from prelude
2019-02-13 21:13:08 +01:00
Florian Diebold
92c595a6a6
Handle extern crates better, so they work correctly in 2015 edition
...
(see the removed comment.)
2019-02-13 21:13:08 +01:00
Florian Diebold
70839b7ef8
Make edition handling a bit nicer and allow specifying edition in crate_graph macro
2019-02-13 20:31:47 +01:00
Florian Diebold
d5ad38cbb8
Resolve 2015 style imports
2019-02-13 20:10:46 +01:00
Florian Diebold
3a9934e2c3
Keep track of crate edition
2019-02-13 20:10:46 +01:00
Florian Diebold
1526eb25c9
Import the prelude
2019-02-13 20:10:09 +01:00
bors[bot]
65266c644a
Merge #813
...
813: Add support for container_name in workspace/symbol query r=matklad a=vipentti
Currently this does not fill in the container_info if a type is defined on the top level in a file.
e.g. `foo.rs`
```rust
enum Foo { }
```
`Foo` will have None as the container_name, however
```rust
mod foo_mod {
enum Foo { }
}
```
`Foo` has `foo_mod` as the container_name.
This closes #559
Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-13 16:17:10 +00:00
Felix S. Klock II
cfed7c59f4
In RootConfig::contains
, check against canonicalized version of root
...
path since OS may hand us data that uses that rather than the root as
specified by the user.
2019-02-13 17:16:28 +01:00
Ville Penttinen
3973974de1
Fix possible issue where unnamed is_symbol_def would pop stack wrongly
...
This removes is_symbol_def as unnecessary.
2019-02-13 18:02:18 +02:00
Ville Penttinen
0c37a9cc28
Use cloned over map + clone
2019-02-13 17:42:15 +02:00
Ville Penttinen
d9905f7be5
Use clone directly rather than map + clone
2019-02-13 17:28:15 +02:00
Ville Penttinen
2ef6c469ef
Remove unnecessary braces
2019-02-13 11:08:25 +02:00
bors[bot]
74d03d57e7
Merge #814
...
814: auto_import: import in enclosing module by default r=matklad a=eulerdisk
Simpler version of #795
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-02-13 08:26:34 +00:00
Florian Diebold
e5f9d54661
Fix another crash
2019-02-12 21:49:54 +01:00
Andrea Pretto
6518fb2bf8
auto_import: import in enclosing module instead of file
2019-02-12 21:18:55 +01:00
Andrea Pretto
468e1d4c5e
auto_import: more tests and some refactorings
2019-02-12 21:18:42 +01:00
Ville Penttinen
dd6307ddc4
Add support for container_name in workspace/symbol query
2019-02-12 22:06:14 +02:00
bors[bot]
61324a845b
Merge #811
...
811: Filter attributes from the completion details/label r=kjeremy a=lnicola
Before:
![image](https://user-images.githubusercontent.com/308347/52657254-efba9a00-2f00-11e9-952f-901910cfc459.png )
After:
![image](https://user-images.githubusercontent.com/308347/52657278-fb0dc580-2f00-11e9-9267-8aff44c93447.png )
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-02-12 19:31:22 +00:00
Laurențiu Nicola
040fb91387
Filter attributes from the completion details/label
2019-02-12 20:35:10 +02:00
Aleksey Kladov
5f89180fd9
make token trees eq
2019-02-12 20:57:13 +03:00
bors[bot]
3e367b5760
Merge #809
...
809: what goes bump in the night? r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-02-12 16:11:19 +00:00
kjeremy
c15d0e0194
what goes bump in the night?
2019-02-12 11:03:28 -05:00
Aleksey Kladov
4e91c23c79
rename yellow -> syntax_node
...
why yellow in the first place? Its red + green.
2019-02-12 19:02:30 +03:00
Pascal Hertleif
4fd3613434
Fix some typos
2019-02-12 15:02:57 +01:00
Aleksey Kladov
7820fb38f4
don't distinguish Create and Write events in VFS
2019-02-12 16:01:01 +03:00
Laurențiu Nicola
7e8527f748
Implement completion for associated items
2019-02-12 12:51:01 +02:00
Aleksey Kladov
60524771fd
replace clone with copy
2019-02-12 13:32:34 +03:00
Aleksey Kladov
fa2e6e0bda
fix obsolete comment
2019-02-12 13:29:27 +03:00
Aleksey Kladov
8ef80086a0
fix regression in self-referential completion
2019-02-11 23:43:24 +03:00
Aleksey Kladov
0d060b073c
remove hard-coded query-group macro
2019-02-11 22:24:39 +03:00
Aleksey Kladov
ae312680d6
docs
2019-02-11 21:31:54 +03:00
Aleksey Kladov
0d34a256de
assign ids when converting tt
2019-02-11 21:12:06 +03:00
Aleksey Kladov
58897dd8dd
assign ids to tokens
2019-02-11 21:02:19 +03:00
bors[bot]
b356ab46f2
Merge #781
...
781: Refactor to allow for multiple assists r=matklad a=eulerdisk
This is necessary to allow assist "providers" (which currently are simple free function) to produce multiple assists. I'm not sure this is the best possible refactoring tough.
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-02-11 17:30:53 +00:00
Andrea Pretto
5c9c0d3ae2
ra_assists: assist "providers" can produce multiple assists
2019-02-11 18:07:21 +01:00
bors[bot]
77ccac74f9
Merge #790
...
790: make macro-rules eq r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-11 16:24:39 +00:00
Aleksey Kladov
2efdf41bdb
make macro a NameOwner
2019-02-11 19:24:13 +03:00
Aleksey Kladov
e7b370226c
make macro-rules eq
2019-02-11 19:19:23 +03:00
Aleksey Kladov
dc951098f6
typo
2019-02-11 19:09:53 +03:00
Aleksey Kladov
bbcd3566de
remove useless hash
2019-02-11 19:09:53 +03:00
Aleksey Kladov
28fd228c70
remove query_definitions
2019-02-11 17:44:54 +03:00
Aleksey Kladov
8cafdb3a99
rename combine -> or
...
This way we match API of Option
https://doc.rust-lang.org/std/option/enum.Option.html#method.or
2019-02-11 17:29:20 +03:00
Aleksey Kladov
58ed8ee665
use extern prelude in Resolver
...
This fixes two bugs:
- completion for paths works again
- we handle extern prelude shadowing more correctly
2019-02-11 15:41:39 +03:00
bors[bot]
2babbbb978
Merge #784
...
784: WIP: improve multi-crate fixtures r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-02-11 10:54:27 +00:00
Aleksey Kladov
9923383d53
add graph fixture
2019-02-11 13:47:17 +03:00
Aleksey Kladov
dced2f4ed4
Handle SourceRoots automatically in fixtures
2019-02-11 12:53:10 +03:00
Ville Penttinen
710975ecd8
Fix typo in Cargo.toml authors
...
Fixes typo introduced in #782
2019-02-11 10:20:04 +02:00
Ville Penttinen
ab3d231b1d
Update authors field in Cargo.tomls to "rust-analyzer developers"
...
This closes #777
2019-02-11 08:55:35 +02:00
bors[bot]
ffd407afff
Merge #778
...
778: Glob imports r=matklad a=flodiebold
This implements glob imports, completing #231 :)
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-02-10 20:15:41 +00:00
bors[bot]
b952c270ee
Merge #762
...
762: "Dumb" auto import assist r=matklad a=eulerdisk
This adds a new assist to "add xxx::yyy to the current file" when the cursor is on a PATH. It manages correctly nested imports,`self` keyword and creates new nested imports if necessary. [See the tests]
It doesn't use name resolution so in that sense is 'dumb', but I have plans to do that. That in the future will be useful to auto import trait names in autocompletion for example.
It can easily be extended to provide multiple actions to select in which scope to import. That's another thing I plan to do.
@matklad I copied some indentation code from `ide_light`, I don't know at the moment if/how you want to refactor that code. This assist was meant to be in `ide_light`.
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-02-10 19:00:36 +00:00
Florian Diebold
2f24e740db
Implement glob imports within the same crate
...
Fixes #231 .
2019-02-10 16:48:29 +01:00
Florian Diebold
2e1d739a80
Import glob imports from other crates
...
This is the easy part since we don't have to consider the fixpoint algorithm.
2019-02-10 16:20:01 +01:00
Florian Diebold
c1e295682e
Implement glob imports from enums
2019-02-10 16:20:01 +01:00
Florian Diebold
35cfb418ba
Add some tests
2019-02-10 16:20:01 +01:00
Florian Diebold
2e9194a621
Spell cases explicitly in Ty::walk{_mut}
2019-02-10 12:35:30 +01:00
Florian Diebold
b18863f987
Clean up a bit
2019-02-10 11:48:59 +01:00
Florian Diebold
6f81a372db
Add a smoke test for ra_batch
2019-02-10 11:44:53 +01:00
Florian Diebold
6964a88e8c
Add an ra_cli command that analyses all crates in the current workspace
...
... and prints various stats about how many expressions have a type etc.
2019-02-10 10:56:58 +01:00
Florian Diebold
43e52ac9e2
Implement BatchDatabase construction
2019-02-10 10:56:58 +01:00
Florian Diebold
15224dfcd5
Add new crate
2019-02-10 10:56:58 +01:00
bors[bot]
166c720425
Merge #770
...
770: Fix introduce var duplicating newlines r=matklad a=vipentti
This fixes #713 .
If the block before the statement we want to use introduce var on, had empty
lines these empty lines would also be added between the let-statement and
the current line where the new variable is used.
This fixes that by trimming excess newlines from the start of the indent chunk
and simply adding a single newline (when the chunk had newlines) between the
let-statement and the current statement. If there were no newlines this
matches the previous behaviour.
Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-02-10 08:16:08 +00:00
Florian Diebold
c098a3fda5
Add comment and mark
2019-02-09 22:03:01 +01:00
Florian Diebold
a28d4befaf
Fix another crash, and try harder to prevent stack overflows
2019-02-09 21:53:55 +01:00
Florian Diebold
c0c3b37255
Fix another crash found when analyzing rustc
2019-02-09 21:37:30 +01:00
Florian Diebold
f1afc93353
Fix handling of literal patterns
...
Wrap them in a LiteralPat node so they can be distinguished from literal
expressions.
2019-02-09 21:37:30 +01:00
Florian Diebold
7ebde241c0
Fix two crashes found by running inference on all of rustc
2019-02-09 21:37:09 +01:00
Bernardo
c3c2e166b0
update notify with fix for hight cpu usage
2019-02-09 17:18:26 +01:00
Ville Penttinen
7b9aefc29d
Fix introduce var duplicating newlines
...
This fixes #713 .
If the block before the statement we want to use introduce var on, had empty
lines these empty lines would also be added between the let-statement and
the current line where the new variable is used.
This fixes that by trimming excess newlines from the start of the indent chunk
and simply adding a single newline (when the chunk had newlines) between the
let-statement and the current statement. If there were no newlines this
matches the previous behaviour.
2019-02-09 13:52:01 +02:00
Andrea Pretto
1a4faaffd7
auto_import: use ra_fmt
2019-02-09 11:47:23 +01:00
Andrea Pretto
ee9b0c89e6
auto_import: struct variants for ImportAction
2019-02-09 11:30:09 +01:00
Andrea Pretto
1866fb2dda
auto_import: remove PathSegmentsMatch
2019-02-09 11:30:09 +01:00
Andrea Pretto
6d8832359e
auto_import: Removed Empty in favor of Partial(0)
...
auto_import: Removed unecessary lifetimes
2019-02-09 11:30:09 +01:00
Andrea Pretto
5580cf239d
auto_import assist
2019-02-09 11:29:59 +01:00
Florian Diebold
e91a46eb0c
Clean up a bit
2019-02-09 11:15:25 +01:00
Florian Diebold
50fd860471
Remove Vfs from project model
2019-02-09 11:15:25 +01:00
Florian Diebold
12c70871cc
Remove SmolStr from project model
2019-02-09 11:15:25 +01:00
Florian Diebold
ddbf43b630
Move crate graph generation to ra_project_model
2019-02-09 11:15:25 +01:00
Florian Diebold
fcd615e4b7
Extract project model to separate crate
2019-02-09 11:15:25 +01:00
bors[bot]
34398a8756
Merge #766
...
766: Formatting code into ra_fmt r=matklad a=eulerdisk
As discussed https://github.com/rust-analyzer/rust-analyzer/pull/762#discussion_r254905885
I did only move the code without other improvements.
Co-authored-by: Andrea Pretto <eulerdisk@gmail.com>
2019-02-09 09:56:54 +00:00
robojumper
4fdeb54bb5
Improve sorting delegate
2019-02-09 01:57:08 +01:00
robojumper
a70589712a
Remove unused import
2019-02-09 00:54:07 +01:00
robojumper
3be98f2ac9
Add tests for action target ranges
2019-02-09 00:34:26 +01:00
robojumper
a3622eb629
Add some assist ranges
2019-02-08 22:43:13 +01:00
Andrea Pretto
02dd0cfd8c
Refactor formatting code out of ra_ida_api_light into ra_fmt.
2019-02-08 18:58:27 +01:00
Aleksey Kladov
12e3b4c70b
reformat the world
2019-02-08 14:49:43 +03:00
Aleksey Kladov
884f04670a
diagnostics is now a function
2019-02-08 14:34:30 +03:00
Aleksey Kladov
8328e196dd
move diagnostics to a separate file
2019-02-08 14:34:30 +03:00
Aleksey Kladov
e4a6343e47
move index_resolve to symbol index
2019-02-08 14:34:30 +03:00
Aleksey Kladov
5173c6295b
move find_references to references
2019-02-08 14:34:30 +03:00
Aleksey Kladov
f5bb704568
avoid 'ignored' in test output
2019-02-08 14:34:30 +03:00
Aleksey Kladov
4d0e58afef
rename rename to references
2019-02-08 14:34:30 +03:00
Aleksey Kladov
bddd124298
move crate for
2019-02-08 14:34:30 +03:00
Aleksey Kladov
842e8001b2
move changes to a separate file
2019-02-08 14:34:30 +03:00
Ville Penttinen
be7c5eecc4
Remove unnecessary dbg! calls
2019-02-07 20:42:00 +02:00
Ville Penttinen
6cbf83c946
Add new assist to remove dbg!() calls
...
This fixes #758 .
Currently we try to maintain the cursor position relative to the statement under
cursor, if the cursor is inside the dbg! macro call.
Meaning:
let foo = dbg!(some.complex<|>().expression());
Should turn into:
let foo = some.complex<|>().expression();
With the cursor staying in place.
2019-02-07 20:34:33 +02:00
kjeremy
6753051a45
Some clippy cleanups
2019-02-06 15:50:26 -05:00
kjeremy
bcbee10b89
assists: compute edit
2019-02-06 11:15:18 -05:00
Aleksey Kladov
0c5fd8f7cb
move assists to a separate crate
2019-02-06 17:00:00 +03:00
Jeremy Kolb
d107926f86
Remove stray dbg!
2019-02-06 07:22:16 -05:00
kjeremy
852b083794
Fill deprecation for LSP
2019-02-05 17:05:46 -05:00
Jeremy Kolb
e696342afa
Rename assits to assists
2019-02-05 08:13:16 -05:00
bors[bot]
4183825475
Merge #740
...
740: Update dependencies r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-02-05 12:16:25 +00:00
Jeremy Kolb
c73cc0ab8f
Remove unused imports
2019-02-05 07:15:15 -05:00
bors[bot]
4d4c46aff8
Merge #742
...
742: Extern crate r=matklad a=flodiebold
This implements `extern crate` declarations by lowering them to (absolute) imports, and adds support for absolute paths. It also extracts the extern prelude from the per-module item map, and handles the special case of extern crates in the crate root adding to the extern prelude.
This means we finally resolve `Arc`, so it fixes #523 😄
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-02-05 07:53:08 +00:00
bors[bot]
94d5d0d7e8
Merge #743
...
743: Move comment r=matklad a=kjeremy
As pointed out in https://github.com/rust-analyzer/rust-analyzer/pull/738/files#r253651450
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-02-05 07:36:51 +00:00
bors[bot]
d914ac0069
Merge #744
...
744: mbe: Ensure repetition separator matches r=matklad a=jrmuizel
Co-authored-by: Jeff Muizelaar <jrmuizel@gmail.com>
2019-02-05 07:28:31 +00:00
Jeff Muizelaar
a4b473226b
mbe: Ensure repetition separator matches
2019-02-04 20:19:23 -05:00
Florian Diebold
de4c5e381f
Fix ReachedFixedPoint value for unresolved external prelude items
2019-02-04 23:26:25 +01:00
kjeremy
7f92fd858a
Move comment
2019-02-04 16:34:02 -05:00
Florian Diebold
699ce06ac3
Complete extern prelude (again)
2019-02-04 22:09:56 +01:00
Florian Diebold
ccef48b6c3
Make it possible to have multiple crate in a mock analysis fixture
2019-02-04 21:49:34 +01:00
Florian Diebold
0c2fedc2cb
Add alloc to std deps
2019-02-04 21:49:34 +01:00
Florian Diebold
1056b480d6
Make extern crates in the root module add to the extern prelude
...
To accomplish this, separate the extern prelude from the per-module item maps.
2019-02-04 21:49:34 +01:00
Florian Diebold
d69023fc72
Lower extern crates to imports
...
This is probably not completely correct, but it kind of works.
2019-02-04 21:49:34 +01:00
Florian Diebold
397d84ee29
Add test for extern crate renames
2019-02-04 21:49:34 +01:00
Florian Diebold
e163c908ac
Add AST for extern crate
...
Also change it to parse the crate name as a NAME_REF, not a NAME.
2019-02-04 21:49:34 +01:00
bors[bot]
77a824c6a0
Merge #741
...
741: Test more Self inference r=flodiebold a=kjeremy
These cases didn't look covered.
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-02-04 20:28:09 +00:00
kjeremy
5227102c12
Test more Self inference
2019-02-04 14:44:06 -05:00
kjeremy
8ec4b84013
Bump insta and proptest to latest
2019-02-04 14:11:51 -05:00
kjeremy
20e9aa2364
Future proof by explicitly matching against None
2019-02-04 12:49:29 -05:00
kjeremy
0f7a714c63
Add comment
2019-02-04 10:26:43 -05:00
Jeremy Kolb
6ac4cca6c1
Implement lens for impls and support resolving lenses.
2019-02-04 08:45:33 -05:00
Jeff Muizelaar
0000f00787
mbe: Add support matching for matching idents
2019-02-03 19:43:37 -05:00
Jeff Muizelaar
1997797adc
Factor out rules parsing
2019-02-03 19:43:35 -05:00
Aleksey Kladov
dbf9820e35
make HirDatabase object-safe
2019-02-03 22:15:31 +03:00
bors[bot]
395965351d
Merge #733
...
733: fill match arms r=matklad a=gfreezy
fixed #626
Co-authored-by: gfreezy <gfreezy@gmail.com>
2019-02-03 18:11:06 +00:00
gfreezy
bfaefed3f6
fill match arm
2019-02-04 00:27:36 +08:00
Laurențiu Nicola
cbc2ac5d09
Add core to STD_DEPS
...
See #731 .
2019-02-03 17:35:42 +02:00
Jeff Muizelaar
dbc3074556
Make sure we match the entire pattern
2019-02-03 10:07:57 -05:00
bors[bot]
f370393bba
Merge #728
...
728: add postfix completion for `dbg!()` with `.dbg` r=matklad a=hdhoang
closes #716
Co-authored-by: Hoàng Đức Hiếu <code@hdhoang.space>
2019-02-03 13:26:37 +00:00
Hoàng Đức Hiếu
9dd7ccf609
fold complete_postfix tests into one
2019-02-03 20:12:57 +07:00
bors[bot]
02bacf70fa
Merge #727
...
727: Fix macro_rules separator parsing. r=matklad a=jrmuizel
macro_rules rules are separated by ';' including an optional ';' at the end
Co-authored-by: Jeff Muizelaar <jrmuizel@gmail.com>
2019-02-03 07:32:59 +00:00
Jeff Muizelaar
0bb8456e7d
Fill out test a little more
...
This factors out an assert_expansion function to make things
more managable.
2019-02-02 22:39:45 -05:00
Jeff Muizelaar
31d143ba18
Fix macro_rules separator parsing.
...
macro_rules rules are separated by ';' including an optional ';' at the
end
2019-02-02 22:39:13 -05:00
DJMcNab
7417c0775b
Fix number of extern_inner_attributes
2019-02-02 16:18:12 +00:00
Hoàng Đức Hiếu
1c5a63e3db
add postfix completion for dbg!()
with .dbg
2019-02-02 22:10:18 +07:00
Florian Diebold
d8ef8acb47
Use aliases in import resolution
2019-02-02 00:23:59 +01:00
Florian Diebold
5a7fce4e4c
Pass aliases to ImportData
2019-02-02 00:23:53 +01:00
Florian Diebold
aa5f6a1ee8
Add test for use as
2019-02-02 00:23:53 +01:00
Florian Diebold
c5852f422f
Some cleanup and additional tests
2019-02-01 23:24:26 +01:00
Florian Diebold
d571d26955
Make the Resolution variants tuple variants
2019-02-01 22:54:30 +01:00
Florian Diebold
d3df80dfe4
Cleanup
2019-02-01 22:54:21 +01:00
Florian Diebold
afce8e4426
Use the new Resolver API for goto def
2019-02-01 22:45:43 +01:00
Florian Diebold
33ff7b56ff
Use the new Resolver API in completion
2019-02-01 22:45:25 +01:00
Florian Diebold
6b076f1931
Use new Resolver API in type inference
2019-02-01 22:45:23 +01:00
Florian Diebold
758bc72873
Implement methods to build a resolver
2019-02-01 22:17:48 +01:00
Florian Diebold
5208c2aa93
Sketching the resolver API
2019-02-01 22:14:34 +01:00
csmoe
4dffdcf14a
split HirDatabase api
2019-02-01 22:05:24 +08:00
csmoe
12433a7887
split hirdatabase
2019-02-01 21:36:51 +08:00
Aleksey Kladov
de85f1e947
remove hard-coded support for ctry macro
...
It was used mainly to prevent HirFileId infra from bitroting, but the
`vec![]` macro can serve that just as well!
2019-02-01 10:52:36 +03:00
kjeremy
f0fdc9d5c0
Go To Implementation for Trait
2019-01-31 18:34:52 -05:00
Aleksey Kladov
4c0ab7db85
explain the magic
2019-01-31 22:23:30 +02:00
Aleksey Kladov
b4b522fb39
cleanup the api
2019-01-31 22:23:30 +02:00
Aleksey Kladov
a16f6bb27d
cleanup
2019-01-31 22:23:30 +02:00
Aleksey Kladov
2d1f0b105d
move test
2019-01-31 22:23:30 +02:00
Aleksey Kladov
40feacdeb9
split macros across crates
2019-01-31 22:23:30 +02:00
Aleksey Kladov
ad80a0c551
preserve token spacing
2019-01-31 22:23:30 +02:00
Aleksey Kladov
5934738854
first test sort-of passes
2019-01-31 22:23:30 +02:00
Aleksey Kladov
be03aa5ee7
extract tt cursor
2019-01-31 22:23:30 +02:00
Aleksey Kladov
8d5a8f085c
binders boilerplate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
2def5b4e6f
more expand boilerplate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
d2a1e07150
more expand boilerplate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
09a8d75351
expand boilerplate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
2d88207853
reshuffle
2019-01-31 22:23:30 +02:00
Aleksey Kladov
ce3636798b
move macros to a separate crate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
9a043a163c
parses simple macro
2019-01-31 22:23:30 +02:00
Aleksey Kladov
0d9210e9bc
handle multibyte tokens
2019-01-31 22:23:30 +02:00
Aleksey Kladov
f3489e8111
add eat methods
2019-01-31 22:23:30 +02:00
Aleksey Kladov
e28a5e048a
parsing scaffold
2019-01-31 22:23:30 +02:00
Aleksey Kladov
2980508ad2
debug impls
2019-01-31 22:23:30 +02:00
Aleksey Kladov
82cf0185c3
add repeats to ast
2019-01-31 22:23:30 +02:00
Aleksey Kladov
3bd4560d6e
convert punts and literals
2019-01-31 22:23:30 +02:00
Aleksey Kladov
c09c6fc97c
start tt convertions boilerplate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
a4342a7fee
add conversion boilerplate
2019-01-31 22:23:30 +02:00
Aleksey Kladov
ca327f35ad
add macro by example ide
2019-01-31 22:23:30 +02:00
Aleksey Kladov
6846ac2a16
shorten name :-)
2019-01-31 22:23:30 +02:00
Aleksey Kladov
b8f56f89c6
start token tree module
2019-01-31 22:23:30 +02:00
bors[bot]
1bf47d43db
Merge #715
...
715: Use "▶" for test code lens r=matklad a=kjeremy
I find that this makes code lenses stand out more otherwise they can be easy to miss.
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-01-31 13:04:03 +00:00
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