bors[bot]
419eec3d2f
Merge #1771
...
1771: Further tweak for macro_use on extern crate r=matklad a=uHOOCCOOHu
Some more tweaks to #1743 to behave more like `rustc`
1. Hoist macros from `#[macro_use] extern crate`, so that they can be used before `extern crate`.
2. Implicit `#[macro_use]` for `prelude` if exists
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-05 19:50:06 +00:00
bors[bot]
c705fff309
Merge #1770
...
1770: rename test file to match impl file r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 18:54:20 +00:00
bors[bot]
9856096a80
Merge #1769
...
1769: fix renaming of modules r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 18:46:14 +00:00
Aleksey Kladov
5a38a80d1a
rename test file to match impl file
2019-09-05 21:43:32 +03:00
Aleksey Kladov
33965f0f3e
fix renaming of modules
2019-09-05 21:36:40 +03:00
Aleksey Kladov
3e5f7299e1
move mod resolution to a separate file
2019-09-05 20:27:10 +03:00
bors[bot]
86f5fd602b
Merge #1767
...
1767: better error recovery for use trees r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 16:53:47 +00:00
Aleksey Kladov
b2be998b7b
better error recovery for use trees
2019-09-05 19:53:07 +03:00
bors[bot]
edc2016f8b
Merge #1766
...
1766: always use \n newlines r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-05 14:51:14 +00:00
Aleksey Kladov
8b8a11ded7
always use \n newlines
2019-09-05 17:50:39 +03:00
bors[bot]
566c26cbb1
Merge #1764
...
1764: close #1763 r=matklad a=ivfranco
Close #1763 for now
Co-authored-by: ivfranco <ivfranco33@outlook.com>
2019-09-05 14:35:57 +00:00
bors[bot]
a5aeae15ed
Merge #1765
...
1765: cargo update r=kjeremy a=kjeremy
Removes extra `crossbeam-deque` version
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-09-05 14:24:07 +00:00
kjeremy
b354cfdc6a
cargo update
2019-09-05 10:10:53 -04:00
ivfranco
4854408f28
close #1763
2019-09-05 22:04:56 +08:00
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