Aleksey Kladov
52fd19621c
Remove code duplication in tests
2020-02-26 11:25:07 +01:00
kjeremy
fa355d6339
Rename back to highlight and check event's again highlight range
2020-02-25 14:44:47 -05:00
Jeremy Kolb
8f6f864547
Semantic Ranges
2020-02-25 11:37:43 -05:00
bors[bot]
d3040c0deb
Merge #3305
...
3305: Simplify r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-25 13:59:44 +00:00
Aleksey Kladov
d7da42bd40
Simplify
2020-02-25 14:59:13 +01:00
Aleksey Kladov
469011169b
⬆️ rowan
2020-02-25 14:44:51 +01:00
Aleksey Kladov
6542ab89ce
Simplify
2020-02-25 13:49:34 +01:00
bors[bot]
3853a3b643
Merge #3298
...
3298: Bump chalk and replace TypeFamily with Interner r=flodiebold a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-02-25 11:59:47 +00:00
Aleksey Kladov
136151515a
Replace generic with a concrete type
2020-02-25 12:43:08 +01:00
Jeremy Kolb
17ffdf9c27
Add docs
2020-02-24 21:17:20 -05:00
kjeremy
9f0cfb7ad2
Teach the server about Semantic Tokens proposed LSP
2020-02-24 20:59:58 -05:00
Laurențiu Nicola
ed69482d90
Bump chalk and replace TypeFamily with Interner
2020-02-24 22:36:57 +02:00
Aleksey Kladov
f551e50c16
When joining lines, unwrap trivial diverging blocks
2020-02-24 17:17:05 +01:00
Kirill Bulatov
7f3c0e8564
Omit type hints for enum variant bind pats
2020-02-24 10:32:46 +03:00
Yoshua Wuyts
b4970b0fe9
Add suggestion for failed path resolution
...
This adds https://github.com/rust-analyzer/rust-analyzer/issues/3245 as an inline help text for when path resolution fails.
2020-02-23 15:51:32 +01:00
Kirill Bulatov
b2a7b29bb9
Style fixes
2020-02-23 13:02:00 +03:00
Kirill Bulatov
c200dba167
Add basic parameter name hints heuristics
2020-02-23 12:49:53 +03:00
Kirill Bulatov
ca4557ac52
Fix the tests
2020-02-23 01:44:15 +03:00
Kirill Bulatov
6670868d09
Show more parameter name hints
2020-02-23 01:44:15 +03:00
Kirill Bulatov
4ca22f3a88
Simplify inlay hints processing
2020-02-23 01:44:15 +03:00
Aleksey Kladov
fda118f4e9
Simplify
2020-02-22 16:59:31 +01:00
bors[bot]
46dbe4dc80
Merge #3272
...
3272: ra_db: removed a couple of explicit lifetimes r=matklad a=Veetaha
Co-authored-by: Veetaha <gerzoh1@gmail.com>
2020-02-22 15:07:36 +00:00
Veetaha
4255bc70e8
ra_db: removed a couple of explicit lifetimes
2020-02-22 17:00:39 +02:00
bors[bot]
2cbe8a4c4b
Merge #3263
...
3263: Implement unsizing coercions using Chalk r=matklad a=flodiebold
These are coercions like `&[T; n] -> &[T]`, which are handled by the `Unsize` and `CoerceUnsized` traits. The impls for `Unsize` are all built in to the compiler and require special handling, so we need to provide them to Chalk.
This adds the following `Unsize` impls:
- `Unsize<[T]> for [T; _]`
- `Unsize<dyn Trait> for T where T: Trait`
- `Unsize<dyn SuperTrait> for dyn SubTrait`
Hence we are still missing the 'unsizing the last field of a generic struct' case.
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-02-22 12:31:30 +00:00
Veetaha
59dc797eb3
Fix dat comment
2020-02-22 14:16:13 +02:00
Florian Diebold
5a6e770f99
Shorten some code
2020-02-22 13:15:54 +01:00
Florian Diebold
3e106c77ff
Rework find_super_trait_path to protect against cycles
2020-02-22 13:14:39 +01:00
bors[bot]
f9acb4333f
Merge #3260
...
3260: Refactor how builtins are resolved r=matklad a=flodiebold
This fixes autocompletion suggesting e.g. `self::usize`. (I thought we had a bug for that, but I didn't find it.)
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-02-22 11:25:09 +00:00
Veetaha
5f15e3aeb0
ra_mbe: Remove explicit type annotation
2020-02-22 13:14:46 +02:00
Veetaha
28bdb65407
ra_mbe: added test for malformed token in macro invokation
...
There was a panic where lexer returned None on malformed tokens.
But now we just ignore tokenization errors in mbe.
2020-02-22 13:10:54 +02:00
Veetaha
93a19bda17
ra_mbe: convert_literal now works with malformed tokens
2020-02-22 13:10:54 +02:00
Florian Diebold
c200025794
Fix shift_bound_vars
...
It should only shift free vars (maybe the name isn't the best...)
2020-02-22 11:09:21 +01:00
Florian Diebold
463df6720c
Fix wrong handling of bare dyn Trait
exposed by canonicalizer fix
...
The self type in the `dyn Trait` trait ref should always be ^0, but we didn't
put that in there in the bare case.
2020-02-22 11:09:21 +01:00
Florian Diebold
2d5ab63247
Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn Trait
2020-02-22 11:09:21 +01:00
Florian Diebold
f126808b2e
Fix handling of binders in canonicalization
...
I'm looking forward to getting rid of this in favor of Chalk's implementation.
2020-02-22 11:09:21 +01:00
Florian Diebold
0dfbbaf03b
Implement dyn Trait unsizing as well
2020-02-22 11:09:21 +01:00
Florian Diebold
de39d221a1
Implement unsize coercion using proper trait solving
2020-02-22 11:09:21 +01:00
bors[bot]
baf832d6d9
Merge #3262
...
3262: Fix handling of const patterns r=matklad a=flodiebold
E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the
option variant), not a binding. To determine this, we need to try to resolve the
name during lowering. This isn't too hard since we already need to resolve names
for macro expansion anyway (though maybe a bit hacky).
Fixes #1618 .
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-02-22 00:27:09 +00:00
adamrk
fe8ce4c41d
remove unneeded collect
2020-02-21 23:51:30 +01:00
Adam Bratschi-Kaye
7be1044104
use Vec::extend instead of Vec::push in loop
...
Co-Authored-By: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-02-21 23:51:30 +01:00
adamrk
8b3f449b5f
rename module references
2020-02-21 23:51:30 +01:00
Florian Diebold
f1f45f9191
Fix handling of const patterns
...
E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the
option variant), not a binding. To determine this, we need to try to resolve the
name during lowering. This isn't too hard since we already need to resolve names
for macro expansion anyway (though maybe a bit hacky).
Fixes #1618 .
2020-02-21 17:01:19 +01:00
Florian Diebold
31af774254
Refactor how builtins are resolved
...
This fixes autocompletion suggesting e.g. self::usize.
2020-02-21 15:39:51 +01:00
Florian Diebold
e50201345e
Normalize associated types in types coming from Chalk
...
Fixes #3232 .
2020-02-21 14:06:19 +01:00
Edwin Cheng
d70ddec746
Remove unused placeholder
2020-02-21 18:33:45 +08:00
Edwin Cheng
4e48a73f9c
Improve server version info
2020-02-21 18:33:45 +08:00
Aleksey Kladov
7f4b205b72
Better errorse
2020-02-20 18:41:12 +01:00
Laurențiu Nicola
5cd311d64e
Fix off by one in onEnter
2020-02-20 11:24:47 +02:00
bors[bot]
e00b9ca3c9
Merge #3215
...
3215: Exclude methods from non-parameter types introduced by generic constraints r=flodiebold a=lnicola
Fixes #3184 .
r? @flodiebold
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-02-19 19:46:37 +00:00
Aleksey Kladov
9549aad525
Fill missing fields of enum variants
2020-02-19 18:17:09 +01:00