Florian Diebold
c35ef5013c
Resolve trait associated items
...
E.g. `Default::default` or `<Foo as Default>::default`.
2019-09-25 21:41:17 +02:00
Florian Diebold
d0d1a202d4
Fix retrieval of the Fn traits
...
I used the wrong query, so it only used the lang items from the respective
crate...
2019-09-25 20:04:37 +02:00
bors[bot]
a452e50e0e
Merge #1911
...
1911: fewer monomorphisations r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-25 14:19:46 +00:00
Aleksey Kladov
b7422bd1ab
fewer monomorphisations
2019-09-25 17:19:16 +03:00
Aleksey Kladov
efeae82f52
clean up naming
2019-09-25 15:58:40 +03:00
Aleksey Kladov
98639d835c
cleanup diagnostics
2019-09-25 15:39:41 +03:00
Aleksey Kladov
32843ae6f7
shorten AstBuilder names
2019-09-25 15:28:26 +03:00
Aleksey Kladov
546f031e4e
minor builder cleanups
2019-09-25 15:26:05 +03:00
Aleksey Kladov
25fca04753
cleaned up record field builder
2019-09-25 15:09:03 +03:00
Aleksey Kladov
69689625ce
move ast builder to a separate file
2019-09-25 14:35:26 +03:00
Aleksey Kladov
f32081fa18
move assists to subdir
2019-09-25 14:29:41 +03:00
bors[bot]
63433ba79a
Merge #1906
...
1906: Add missing lang-items to `def_crates` r=matklad a=sinkuu
Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2019-09-25 08:55:32 +00:00
Shotaro Yamada
89d0ff1623
Add missing lang-items to def_crates
2019-09-25 12:02:53 +09:00
Shotaro Yamada
9c45a9e586
Remove redundant clone()
2019-09-25 10:32:01 +09:00
Shotaro Yamada
7e0fa71532
Avoid intermediate allocation
2019-09-25 10:30:33 +09:00
Florian Diebold
6a86706650
Implement the call argument checking order hack for closures
2019-09-24 23:05:12 +02:00
Florian Diebold
a0aeb6e7ad
Make the closure_1 test work
2019-09-24 23:05:12 +02:00
Florian Diebold
3b06faad26
Make closures impl closure traits
2019-09-24 23:05:12 +02:00
Florian Diebold
619a8185a6
Give closures types
2019-09-24 23:05:12 +02:00
Florian Diebold
7bb6fdcf52
Upgrade Chalk again
2019-09-24 22:29:52 +02:00
Aleksey Kladov
66101e931c
simplify
2019-09-24 09:28:16 +03:00
bors[bot]
c12a713739
Merge #1898
...
1898: Drive by lints r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2019-09-23 18:47:14 +00:00
Jeremy Kolb
13d7fc1620
Revert Self
2019-09-23 14:38:05 -04:00
Florian Diebold
6df9c4035a
Upgrade Chalk
2019-09-23 20:36:15 +02:00
kjeremy
1808175f98
Drive by lints
2019-09-23 14:31:30 -04:00
Florian Diebold
4f1afe77b9
Split off path expression inference code into submodule
2019-09-23 18:53:52 +02:00
bors[bot]
c2d9cca4e4
Merge #1895
...
1895: Handle associated type shorthand (`T::Item`) (Second attempt) r=flodiebold a=flodiebold
This is only allowed for generic parameters (including `Self` in traits), and
special care needs to be taken to not run into cycles while resolving it,
because we use the where clauses of the generic parameter to find candidates for
the trait containing the associated type, but the where clauses may themselves
contain instances of short-hand associated types.
In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U:
Iterator`. If there is a cycle, we'll currently panic, which isn't great, but
better than overflowing the stack...
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-22 22:01:38 +00:00
Aleksey Kladov
43da23401d
remove obsolete TOOD
...
I have no idea what I've meant to fix here :-(
2019-09-22 23:43:37 +03:00
Aleksey Kladov
9a0fef71cc
test for TOODs as well
2019-09-22 23:43:23 +03:00
Aleksey Kladov
76290afa9a
minor cleanup
2019-09-22 23:39:29 +03:00
Florian Diebold
bc905d202c
Handle projection types from Chalk
2019-09-22 20:08:46 +02:00
Florian Diebold
18bf278c25
Handle associated type shorthand (T::Item
)
...
This is only allowed for generic parameters (including `Self` in traits), and
special care needs to be taken to not run into cycles while resolving it,
because we use the where clauses of the generic parameter to find candidates for
the trait containing the associated type, but the where clauses may themselves
contain instances of short-hand associated types.
In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U:
Iterator`. If there is a cycle, we'll currently panic, which isn't great, but
better than overflowing the stack...
2019-09-22 20:02:32 +02:00
Jens Hausdorf
c70e30e409
Support open source version of vscode as well
2019-09-21 10:24:41 +02:00
kjeremy
fef7fcf5a9
Support loop as argument
2019-09-20 16:35:29 -04:00
bors[bot]
07bbe57fef
Merge #1888
...
1888: allow compiling ra_ide_api on wasm r=matklad a=matklad
bors r+
this is from #1746
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-20 18:21:18 +00:00
Aleksey Kladov
4d81432213
allow compiling ra_ide_api on wasm
2019-09-20 20:39:02 +03:00
kjeremy
2d99e6de27
Simplify match arm
2019-09-20 12:03:25 -04:00
bors[bot]
3575f7c4a2
Merge #1884
...
1884: Add indexing to record_field_pat r=matklad a=kjeremy
Fixes #1870
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-09-20 15:54:01 +00:00
kjeremy
17a45a686c
Apply suggestion
2019-09-20 11:49:45 -04:00
bors[bot]
0492b18ed4
Merge #1883
...
1883: Fix path attribute causing false "unresolved module" error for submodules r=matklad a=gfreezy
fixed #1880
Co-authored-by: gfreezy <gfreezy@gmail.com>
2019-09-20 15:45:58 +00:00
kjeremy
5a65d4d9fb
Add indexing to record_field_pat
2019-09-20 11:43:34 -04:00
gfreezy
6a4cf48bff
fix module attr path
2019-09-20 23:20:43 +08:00
Aleksey Kladov
d57b993ade
fix infinite loop in the parser
...
closes #1866
2019-09-20 16:57:31 +03:00
bors[bot]
c733993658
Merge #1881
...
1881: don't confuse macro with != r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-20 13:24:07 +00:00
Aleksey Kladov
0f70290b6e
don't confuse macro with !=
...
closes #1871
2019-09-20 16:23:24 +03:00
bors[bot]
b19da133ee
Merge #1850
...
1850: feat(assists): raw string <-> usual string manipulation r=matklad a=Geobert
Fixes #1730
Co-authored-by: Geobert Quach <geobert@protonmail.com>
2019-09-20 10:40:15 +00:00
Geobert Quach
ce4d843656
feat(assists): Apply comments
2019-09-19 22:12:28 +01:00
Geobert Quach
a3ab80b332
feat(assists): Rename escape_quote
to escape_double_quote
2019-09-19 22:12:28 +01:00
Geobert Quach
889f1f0a7c
feature(assists): Fix regression
2019-09-19 22:12:28 +01:00
Geobert Quach
016c997243
feat(assists): manage "
when removing hash and make_usual_string
2019-09-19 22:12:28 +01:00