Commit Graph

13609 Commits

Author SHA1 Message Date
gfreezy
e1ef205a19 avoid allocating an unnecessary intermediate vector & not traverse multiple times 2018-12-30 23:03:43 +08:00
gfreezy
a3520bf01d implement struct shorthand initialization diagnostic 2018-12-30 22:26:59 +08:00
bors[bot]
55b57227e4 Merge #367
367: add `;` to last return in block r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-30 14:23:51 +00:00
Aleksey Kladov
0f75ac1ae0 add ; to last return in block 2018-12-30 17:22:12 +03:00
bors[bot]
12d4c069bb Merge #364
364: Parens r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-30 13:30:43 +00:00
Aleksey Kladov
c182aab546 don't add () in use items 2018-12-30 16:29:10 +03:00
Aleksey Kladov
3ee7a95315 use completion context when creating completion 2018-12-30 16:20:17 +03:00
Aleksey Kladov
0e90e0436a remove runtime dependency on tools 2018-12-30 15:28:54 +03:00
bors[bot]
8d1df9834c Merge #358
358: Add support for formatting entire document with rustfmt r=matklad a=aleksanb

Attempting to format a document when rustfmt isn't installed will result
in an error being returned to the frontend. An alternative
implementation would be returning zero replacements.

Part of https://github.com/rust-analyzer/rust-analyzer/issues/160.

Co-authored-by: Aleksander Vognild Burkow <aleksanderburkow@gmail.com>
2018-12-30 10:16:22 +00:00
bors[bot]
75acc25c5a Merge #362
362: Complete call parens r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-30 09:49:43 +00:00
Aleksey Kladov
e29f53f626 bump cargo.lock 2018-12-30 12:49:07 +03:00
Aleksey Kladov
1ac934eafa add paramthesis when completing functions 2018-12-30 12:49:07 +03:00
bors[bot]
e2bc57e3c8 Merge #361
361: fix the cancellation bug r=matklad a=matklad

See https://github.com/salsa-rs/salsa/pull/103 for the upstream fix

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-30 08:10:13 +00:00
Aleksey Kladov
c97bb8f7e4 fix the cancellation bug 2018-12-30 11:09:17 +03:00
Aleksander Vognild Burkow
0cb270e75d Simplify failure bail code 2018-12-30 00:21:15 +01:00
bors[bot]
748fbb5371 Merge #360
360: Improve comments and code in ra_vfs r=DJMcNab a=DJMcNab

Some random code/comment improvements I saw whilst trying to understand `ra_vfs`.

Let's see if this works:
bors r+

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-29 22:46:54 +00:00
DJMcNab
5dd602f901 Reuse has_rs_extension in io.rs 2018-12-29 22:45:01 +00:00
Aleksander Vognild Burkow
ed47c93afe Install rustfmt in rustfmt test 2018-12-29 23:38:26 +01:00
Aleksander Vognild Burkow
09c20c8fcf Add better error message for Command failure 2018-12-29 23:38:26 +01:00
DJMcNab
07202f944c Remove some unnecessary unwraps by using the Result::ok
combinatoric
2018-12-29 22:33:28 +00:00
DJMcNab
c881fc607e Fix instance of uneeded brackets in use_statement (thanks to #333) 2018-12-29 22:32:39 +00:00
DJMcNab
f18e25f24c Improve comment contents 2018-12-29 22:30:54 +00:00
DJMcNab
764ddc0c85 Fix a switched line in a comment 2018-12-29 22:07:56 +00:00
Aleksander Vognild Burkow
ee9fc3f998 Document formatting capabilities 2018-12-29 21:57:46 +01:00
Aleksander Vognild Burkow
8b24f158f7 Add support for formatting entire document with rustfmt
Attempting to format a document when rustfmt isn't installed will result
in an error being returned to the frontend. An alternative
implementation would be returning zero replacements.
2018-12-29 21:57:46 +01:00
bors[bot]
7fe32938b6 Merge #359
359: Add more docs in ty.rs r=matklad a=flodiebold

Also get rid of the indirection through query_definitions for the type-related
queries.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2018-12-29 19:31:32 +00:00
Florian Diebold
4142792d1f Add more docs in ty.rs
Also get rid of the indirection through query_definitions for the type-related
queries.
2018-12-29 20:27:13 +01:00
Aleksander Vognild Burkow
2aac6b0e34 Ignore intellij files 2018-12-29 20:09:36 +01:00
bors[bot]
4a3d6aa26a Merge #356
356: Fix a bug in char literal validation discovered through fuzzing r=matklad a=DJMcNab

We also add a Cargo.lock to the fuzzing directory, as that isn't gitignored automatically, so I imagine it should be committed.

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-29 12:50:34 +00:00
DJMcNab
b67a4e7a57 Add fuzz failure to the fuzz-failures directory 2018-12-29 12:45:48 +00:00
DJMcNab
054f22f231 Fix a fuzzing bug and add Cargo.lock to the fuzzing directory 2018-12-29 12:40:08 +00:00
bors[bot]
9220641ba4 Merge #355
355: Type variables / unification r=matklad a=flodiebold

This will really become necessary when we implement generics, but even now, it allows us to reason 'backwards' to infer types of expressions that we didn't understand for some reason.

This uses [ena](https://crates.io/crates/ena) to keep track of type variables.

Also turn `Ty::Tuple` from a `Vec` into an `Arc<[Ty]>` to keep `Ty` easily cloneable. Though to be honest I'm not sure how often we actually share data here, with all the make_muts and modifying...

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2018-12-29 12:24:40 +00:00
bors[bot]
a9528c540b Merge #354
354: Deny warnings on CI (#329) r=matklad a=DJMcNab

Fixes #329.

Co-authored-by: DJMcNab <36049421+djmcnab@users.noreply.github.com>
2018-12-29 11:56:36 +00:00
DJMcNab
e7863d979f Use a different format for env vars 2018-12-29 11:37:25 +00:00
DJMcNab
3fb02c85d1 Readd quotes to -D warnings 2018-12-29 11:11:51 +00:00
Florian Diebold
b1590bdf6a Missing return type means unit, not unknown 2018-12-29 12:08:57 +01:00
Florian Diebold
cfa1de72eb Implement type variables
This will really become necessary when we implement generics, but even now, it
allows us to reason 'backwards' to infer types of expressions that we didn't
understand for some reason.

We use ena, the union-find implementation extracted from rustc, to keep track of
type variables.
2018-12-29 12:04:34 +01:00
DJMcNab
ab36ef7733 Remove duplicated env var 2018-12-29 10:49:40 +00:00
DJMcNab
5dbab81481 Reformat .travis.yml (using the vscode prettier extension)
TODO: Check this on CI. Maybe we should change the prettier script
in `editors/code`, or move it to somewhere else
(`tests/format` maybe)
Editing the script in editors/code would be easiest as
that means we don't have to double install some shared `node_modules`
2018-12-29 10:31:20 +00:00
DJMcNab
f4364993f9 Change typo of few to many 2018-12-29 10:26:52 +00:00
DJMcNab
7b431be2f7 Deny warnings on CI (#329) 2018-12-29 10:25:53 +00:00
bors[bot]
f3f073804c Merge #353
353: update README with Rust 1.31 r=matklad a=yerke

Update README with Rust 1.31, since Rust 2018 edition is already on stable

Co-authored-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2018-12-28 22:44:12 +00:00
Yerkebulan Tulibergenov
1719b93120 don't mention beta channel Rust in ROADMAP 2018-12-28 14:38:27 -08:00
Yerkebulan Tulibergenov
113a24855f update README with Rust 1.31 2018-12-28 14:02:23 -08:00
bors[bot]
751616f062 Merge #352
352: Macro extend selection r=matklad a=matklad

and a bunch of unrelated stuff

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-12-28 18:35:52 +00:00
Aleksey Kladov
7928995876 nameify structs&enums 2018-12-28 21:34:58 +03:00
Aleksey Kladov
11122e29b7 completion for enum variants 2018-12-28 21:07:47 +03:00
Aleksey Kladov
1a860dba38 simplify 2018-12-28 20:45:58 +03:00
Aleksey Kladov
5299a35e3d extend selection works with macros 2018-12-28 20:33:39 +03:00
Aleksey Kladov
10e687f281 fix lockfile 2018-12-28 19:46:35 +03:00