Florian Diebold
b1a40042e8
Handle impl/dyn Trait in method resolution
...
When we have one of these, the `Trait` doesn't need to be in scope to call its
methods. So we need to consider this when looking for method
candidates. (Actually I think the same is true when we have a bound `T:
some::Trait`, but we don't handle that yet).
At the same time, since Chalk doesn't handle these types yet, add a small hack
to skip Chalk in method resolution and just consider `impl Trait: Trait` always
true. This is enough to e.g. get completions for `impl Trait`, but since we
don't do any unification we won't infer the return type of e.g. `impl
Into<i64>::into()`.
2019-08-22 21:55:11 +02:00
Florian Diebold
16a7d8cc85
Add impl Trait
and dyn Trait
types
...
- refactor bounds handling in the AST a bit
- add HIR for bounds
- add `Ty::Dyn` and `Ty::Opaque` variants and lower `dyn Trait` / `impl Trait`
syntax to them
2019-08-22 19:33:00 +02:00
bors[bot]
08e5d394df
Merge #1719
...
1719: ⬆️ salsa r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-22 13:42:28 +00:00
Aleksey Kladov
8213db5c04
⬆️ salsa
2019-08-22 16:42:05 +03:00
bors[bot]
79a46f2588
Merge #1717
...
1717: Don't add `?` bounds as real bounds r=flodiebold a=matklad
closes #1709
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-22 13:13:07 +00:00
bors[bot]
5c7d832bf9
Merge #1718
...
1718: disable clap's features r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-22 12:58:13 +00:00
Aleksey Kladov
77fa2ef96d
disable clap's features
2019-08-22 15:57:48 +03:00
Aleksey Kladov
9f238930f1
Don't add ?
bounds as real bounds
...
closes #1709
2019-08-22 15:35:42 +03:00
bors[bot]
0a612fad02
Merge #1715
...
1715: Feature flags r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-22 12:17:21 +00:00
Aleksey Kladov
69bbe79c50
implement feature flags
2019-08-22 15:07:31 +03:00
Aleksey Kladov
4dd5afb7fe
show error to the user when deserializing config
2019-08-22 11:08:22 +03:00
bors[bot]
2d0931b9ba
Merge #1714
...
1714: Fix syntax-highlighting for fields (`NAMED_FIELD_DEF`) r=matklad a=cynecx
Before:
`ralsp.function: "#ff0000"`
![image](https://user-images.githubusercontent.com/5961244/63473802-13920600-c477-11e9-93df-67c04fc67636.png )
After:
`ralsp.field: "#9cdcfe"`
![image](https://user-images.githubusercontent.com/5961244/63473976-a894ff00-c477-11e9-8731-269a4c942e05.png )
Co-authored-by: cynecx <me@cynecx.net>
2019-08-22 06:57:01 +00:00
cynecx
1d87f85441
Update snapshots/highlighting.html to use correct highlighting
2019-08-22 01:08:07 +02:00
cynecx
5534167f58
Fix syntax-highlighting for fields (NAMED_FIELD_DEF
)
2019-08-22 00:39:18 +02:00
bors[bot]
5fd9a5be09
Merge #1712
...
1712: fix default for the exlude key r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-21 14:31:35 +00:00
Aleksey Kladov
6ab85cc192
fix default for the exlude key
2019-08-21 17:30:58 +03:00
bors[bot]
8521f0456f
Merge #1711
...
1711: switch to jod threads r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-21 08:09:27 +00:00
Aleksey Kladov
8844ed9697
switch to jod threads
2019-08-21 11:09:01 +03:00
bors[bot]
bdf16d1b67
Merge #1706 #1708
...
1706: Normalize line endings to Unix flavor on IO bounraries r=matklad a=matklad
1708: update yanked getrandom r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-20 16:56:24 +00:00
Aleksey Kladov
77751cfe01
remove debug-print
2019-08-20 19:55:34 +03:00
Aleksey Kladov
deba1fedfa
⬆️ rustc_lexer
2019-08-20 19:53:05 +03:00
Aleksey Kladov
bbeb07e5ca
switch to upstream ra_vfs
2019-08-20 19:53:05 +03:00
Aleksey Kladov
188c9967c0
Drop unnecessary &'_
from impls
2019-08-20 19:53:05 +03:00
Aleksey Kladov
4753409f86
refactor TryConvWith similar to ConvWith
2019-08-20 19:53:05 +03:00
Aleksey Kladov
6ea4184fd1
translate \n -> \r\n on the way out
2019-08-20 19:53:05 +03:00
Aleksey Kladov
80a6e61446
make CTX type param instead of assoc type
...
that way, we can implement ConvWith<&'_ CTX> for different lifetimes
2019-08-20 19:53:05 +03:00
Aleksey Kladov
de3f2948ea
add tests for crlf
2019-08-20 19:53:05 +03:00
Aleksey Kladov
ccca427ce4
minor
2019-08-20 19:53:05 +03:00
Aleksey Kladov
f2d458760a
update yanked getrandom
2019-08-20 19:28:40 +03:00
bors[bot]
43dd8b64e7
Merge #1707
...
1707: make sure lockfile is used for cargo install r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-20 16:27:57 +00:00
Aleksey Kladov
1ae186a4cc
make sure lockfile is used for cargo install
2019-08-20 19:27:33 +03:00
bors[bot]
c7d37e424f
Merge #1703
...
1703: don't load sysroot in most heavy tests r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 12:42:06 +00:00
Aleksey Kladov
7cd9b1dd7a
don't load sysroot in most heavy tests
2019-08-19 15:41:18 +03:00
bors[bot]
3ba9bc493f
Merge #1702
...
1702: replace heck with just ascii transformation r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 12:09:33 +00:00
Aleksey Kladov
58e9d7ef6f
replace heck with just ascii transformation
2019-08-19 15:08:36 +03:00
bors[bot]
cef90ce45e
Merge #1701
...
1701: qualify ast types with `ast::` r=matklad a=matklad
(only the last commit is relevant, the rest are from #1700 )
bors r+
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 11:31:01 +00:00
Aleksey Kladov
db84437d6f
qualify ast types with ast::
...
By convention, ast nodes should always be used as `ast::FnDef`. This
is to avoid confusion with similarly-named hir types.
2019-08-19 14:27:15 +03:00
bors[bot]
8704a74cd5
Merge #1700
...
1700: remove ast::*Kind enums r=matklad a=matklad
bors r+
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 11:18:09 +00:00
Aleksey Kladov
df6dce23a7
remove ast::*Kind from ra_ide_api
2019-08-19 14:13:58 +03:00
Aleksey Kladov
3bec812258
remove ast::*Kind enums from assists
2019-08-19 14:11:09 +03:00
Aleksey Kladov
b50a04827c
remove ast::*Kind from hir
2019-08-19 14:04:51 +03:00
Aleksey Kladov
39e444d701
remove ast::*Kind enums
...
With the new owned trees, we don't need an indirection here
2019-08-19 13:58:49 +03:00
bors[bot]
ba2836245b
Merge #1699
...
1699: ⬆️ vfs r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 10:30:19 +00:00
Aleksey Kladov
97a36c85a5
⬆️ vfs
2019-08-19 13:21:34 +03:00
bors[bot]
2a34f5ca47
Merge #1698
...
1698: use derive(Debug) for SyntaxKind r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 10:17:23 +00:00
Aleksey Kladov
00ccc6c292
use derive(Debug) for SyntaxKind
2019-08-19 13:11:51 +03:00
bors[bot]
53241928e5
Merge #1697
...
1697: Use quote instead of tera for boilerplate generation r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-08-19 09:37:03 +00:00
Aleksey Kladov
038975b348
plug new boilerplate_gen into ra_tools
2019-08-19 12:26:34 +03:00
Aleksey Kladov
aa250ff612
rename codegen -> boilerplate_gen
2019-08-19 11:42:39 +03:00
Aleksey Kladov
5633829a16
drop tera dependency
2019-08-19 11:42:39 +03:00