Commit Graph

5148 Commits

Author SHA1 Message Date
uHOOCCOOHu
67d33cc21a
Hoist macros from extern crate with macro_use 2019-09-05 18:50:04 +08:00
uHOOCCOOHu
dec43a0c5d
Consider prelude to be macro_use 2019-09-05 18:50:04 +08:00
bors[bot]
82f3317e2b
Merge #1761
1761: "move type bounds to where clause" assist r=matklad a=viorina



Co-authored-by: Ekaterina Babshukova <ekaterina.babshukova@yandex.ru>
2019-09-05 10:39:35 +00:00
Ekaterina Babshukova
acb89d2be1 add assist to move type bounds to where clause 2019-09-05 13:29:13 +03:00
bors[bot]
6702f5b7b5
Merge #1743
1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu

Unfortunately, #1688 is still an issue. My guess is wrong :(

Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-05 09:04:02 +00:00
uHOOCCOOHu
3ff5d7e73c
Fix typo 2019-09-05 12:03:32 +08:00
uHOOCCOOHu
0d23286caf
Let macro_use bypass module scope 2019-09-05 11:46:00 +08:00
bors[bot]
36d7b75c95
Merge #1760
1760: Upgrade Chalk r=matklad a=flodiebold



Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2019-09-04 11:06:05 +00:00
Florian Diebold
02f4718649 Upgrade Chalk 2019-09-04 13:04:01 +02:00
bors[bot]
09d4af7746
Merge #1758
1758: lsp-types 0.61.0 r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-09-03 14:54:24 +00:00
kjeremy
cb063a9b30 lsp-types 0.61.0 2019-09-03 10:50:39 -04:00
bors[bot]
bac73ade7f
Merge #1757
1757: Assoc type bindings r=flodiebold a=flodiebold

This adds support for type bindings (bounds like `where T: Iterator<Item = u32>`).

It doesn't yet work in as many situations as I'd like because of some [Chalk problems](https://github.com/rust-lang/chalk/issues/234). But it works in some situations, and will at least not bitrot this way ;)

(part of the problem is that we use `Normalize` to normalize associated types, but produce `ProjectionEq` goals from where clauses, so Chalk can't normalize using the environment; this would be fixed by using `ProjectionEq` for normalization, which I think is the 'proper' way, but then we'd run into those ambiguity problems everywhere...)

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-03 12:17:58 +00:00
Florian Diebold
b8c1e402fa Make type walking infrastructure a bit nicer
If/when we switch to using Chalk's Ty, we'll need to replace this by its `Fold`
trait, but I didn't want to import the whole thing just yet.
2019-09-03 14:00:35 +02:00
Florian Diebold
c4fcfa2b0d Properly format impl Trait<Type = Foo> types
It's a bit complicated because we basically have to 'undo' the desugaring, and
the result is very dependent on the specifics of the desugaring and will
probably produce weird results otherwise.
2019-09-03 14:00:35 +02:00
Florian Diebold
741e350d4b Add support for associated type bindings (where Trait<Type = X>) 2019-09-03 14:00:35 +02:00
Florian Diebold
966ab9abd2 Add test for assoc type bindings 2019-09-03 13:25:29 +02:00
bors[bot]
1c0672b7f8
Merge #1756
1756: Correctly build BodySourceMap for macro-expanded expressions r=flodiebold a=matklad

r? @flodiebold 

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-03 10:38:47 +00:00
Aleksey Kladov
9c3b25177e Correctly build BodySourceMap for macro-expanded expressions 2019-09-03 11:04:38 +03:00
Heyward Fann
31017d6dc4 feat(docs): add coc-rust-analyzer 2019-09-03 16:02:32 +08:00
bors[bot]
f5b60a53f6
Merge #1754
1754: slightly simplify expr lowering flow r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-03 06:50:46 +00:00
Aleksey Kladov
4b51c92fee slightly simplify expr lowering flow 2019-09-03 09:41:21 +03:00
bors[bot]
6c64f68d4a
Merge #1753
1753: clearer ignore r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-03 06:02:57 +00:00
Aleksey Kladov
da850361ba clearer ignore 2019-09-03 09:01:09 +03:00
Aleksey Kladov
82b218b7bf remove needless refs 2019-09-03 08:59:44 +03:00
Aleksey Kladov
48ffbf29b7 use recrod terminology for hir::Pat 2019-09-03 08:59:09 +03:00
Aleksey Kladov
db69d134fb move expr lowering to lower 2019-09-03 08:56:36 +03:00
bors[bot]
7faec1c300
Merge #1752
1752: Always wrap blocks into block expressions r=flodiebold a=matklad

This way, things like function bodies are expressions, and we don't have to single them out

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 19:20:24 +00:00
Aleksey Kladov
e94587e315 fix assists 2019-09-02 21:52:06 +03:00
Aleksey Kladov
5e3f291195 fix hir for new block syntax 2019-09-02 21:23:19 +03:00
Aleksey Kladov
dcf8e89503 fix generated AST 2019-09-02 20:15:51 +03:00
Aleksey Kladov
470fc4765c update test data 2019-09-02 20:15:51 +03:00
Aleksey Kladov
3c2dea7f55 always wrap block into an expression 2019-09-02 20:15:51 +03:00
bors[bot]
a8397deab9
Merge #1751
1751: remove useless trait r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 16:46:10 +00:00
Aleksey Kladov
f377b94628 remove useless trait 2019-09-02 19:45:41 +03:00
bors[bot]
8de2fb37c0
Merge #1750
1750: remove needless clone r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 16:21:51 +00:00
Aleksey Kladov
e2b3844493 remove needless clone 2019-09-02 19:21:28 +03:00
bors[bot]
4417a97bc5
Merge #1749
1749: simplify r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 15:58:47 +00:00
Aleksey Kladov
c89abd4262 simplify 2019-09-02 18:58:21 +03:00
Aleksey Kladov
32bebfaf0e cleanup 2019-09-02 17:37:48 +03:00
bors[bot]
f39f72db57
Merge #1737
1737: Report type mismatches in analysis-stats r=matklad a=flodiebold

Only the number usually; each one individually when running with `-v`.

Getting the file/line locations for the exprs was really annoying and I had to make some stuff public (that I didn't remember why it would be `pub(crate)`); maybe I missed some easier way? It would be nice to have some general way for mapping locations 🤔 

This reports 1768 mismatches on RA currently; from skimming, this seems to be mostly various kinds of coercions, though there were also some other things.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-02 14:07:17 +00:00
Florian Diebold
f92177cfb5 Add an expr_source method analogous to the source methods in the code model
... and use that instead of exposing the source map.
2019-09-02 14:56:38 +02:00
Florian Diebold
a7858bb7bf Report type mismatches in analysis-stats
Only the number usually; each one individually when running with -v.
2019-09-02 14:56:38 +02:00
bors[bot]
6ecb36740a
Merge #1748
1748: fix links r=matklad a=matklad

bors r+

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 12:05:18 +00:00
Aleksey Kladov
c46889ac41 fix links 2019-09-02 15:02:45 +03:00
bors[bot]
ef75e461df
Merge #1747
1747: start GitHub pages r=matklad a=matklad

bors r+

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-02 11:42:58 +00:00
Aleksey Kladov
798dc2ca80 start GitHub pages 2019-09-02 14:42:23 +03:00
uHOOCCOOHu
a66214b34e
Fix import strategy of macro_use and its test 2019-09-02 14:36:20 +08:00
bors[bot]
fdb2874e3e
Merge #1745
1745: ⬆️ once_cell r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-01 20:21:23 +00:00
Aleksey Kladov
4b6bccb58c ⬆️ once_cell 2019-09-01 23:18:15 +03:00
uHOOCCOOHu
dfa758f6a9
Add test 2019-09-01 02:03:33 +08:00