Aleksey Kladov
00ccc6c292
use derive(Debug) for SyntaxKind
2019-08-19 13:11:51 +03: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
Aleksey Kladov
832b40a075
use new quote-generated syntax kinds
2019-08-19 11:42:39 +03:00
Aleksey Kladov
7d29cf1225
use quote! to generate syntax kinds
2019-08-19 11:02:04 +03:00
Aleksey Kladov
39f50e7bd7
use new quote-generated ast
2019-08-18 23:36:22 +03:00
Aleksey Kladov
8cefdb5527
use quote! macro to generate grammar
...
We already use syn"e elsewhere (transitively), so it make sense to
cut down on the number of technologies and get rid of tera
2019-08-18 23:11:08 +03:00
Aleksey Kladov
d545a5c75c
deserialize grammar
2019-08-18 21:54:51 +03:00
Aleksey Kladov
229d7943d8
switch to new codegen
2019-08-18 21:44:24 +03:00
Aleksey Kladov
839d9cce89
codegen boilerplate
2019-08-18 21:36:06 +03:00
Aleksey Kladov
14fd9e72a7
add quote dep
2019-08-18 21:33:31 +03:00
Aleksey Kladov
64ecba4f15
update lsp
2019-08-17 22:21:59 +03:00
Aleksey Kladov
189d879659
implement initial type inference for index expressions
2019-08-17 18:05:20 +03:00
Aleksey Kladov
b082cd679a
normalize ordering ops
2019-08-17 17:51:01 +03:00
Aleksey Kladov
7e5a186c1f
Introduce separate hir::BinaryOp
...
Unlike ast::BinOp, it has significantly more structure to it, so it's
easier to, say, handle all assignment-like operations in the same way.
2019-08-17 17:42:41 +03:00
Aleksey Kladov
8919aa8065
implement accessors for IndexExpr
2019-08-17 17:17:01 +03:00
Aleksey Kladov
fd4c083e42
simplify
2019-08-17 17:14:22 +03:00
Aleksey Kladov
e751e4d8a3
Remove cpuprofile dependencies
2019-08-17 15:29:57 +03:00
Aleksey Kladov
42ae888629
⬆️ deps
2019-08-17 13:53:02 +03:00
bors[bot]
cd24349997
Merge #1691
...
1691: Show inherent and trait impls of structs and enums r=viorina a=viorina
Co-authored-by: Ekaterina Babshukova <ekaterina.babshukova@yandex.ru>
2019-08-16 14:24:51 +00:00
Ekaterina Babshukova
35a04ec066
show inherent and trait impls of structs and enums
2019-08-16 17:07:45 +03:00
Aleksey Kladov
343463c824
implement durability
2019-08-15 15:27:00 +03:00
Aleksey Kladov
9266c18ce6
switch from volatile to untracked read
2019-08-15 15:24:02 +03:00
bors[bot]
5ed6a13a2c
Merge #1685
...
1685: fix error of RangeFrom in for-loop r=DJMcNab a=bravomikekilo
fix [issue-1542](https://github.com/rust-analyzer/rust-analyzer/issues/1542 ) @matklad
Co-authored-by: bravomikekilo <bmk1221@126.com>
2019-08-15 05:49:13 +00:00
bors[bot]
19e0d7d596
Merge #1676
...
1676: Fix for<'lifetime> for types specified by path r=matklad a=eupn
Fixes #1467 .
Co-authored-by: Evgenii P <eupn@protonmail.com>
2019-08-14 15:10:31 +00:00
bravomikekilo
4f31fed362
fix test position
2019-08-14 21:20:04 +08:00
bravomikekilo
3fce56280f
fix test
2019-08-14 12:42:58 +08:00
bravomikekilo
2bebdf0b37
fix error of RangeFrom in for-loop
2019-08-14 11:55:21 +08:00
Evgenii P
8222a1fddf
Fix is_path_start to accept T![<], fix is_path_start usages
2019-08-13 22:36:01 +07:00
bors[bot]
978e3e384b
Merge #1636
...
1636: fix block parse problem r=matklad a=bravomikekilo
try to fix [issue-1598](https://github.com/rust-analyzer/rust-analyzer/issues/1598 ).
Co-authored-by: bravomikekilo <bmk1221@126.com>
2019-08-13 12:46:47 +00:00
bravomikekilo
eb0e9bd981
add inline test
2019-08-13 18:17:10 +08:00
Florian Diebold
5af9691dc9
Handle placeholder assoc types when Chalk produces them
2019-08-12 21:43:00 +02:00
Florian Diebold
9d72b14cfe
Normalize assoc types in more places
2019-08-12 21:43:00 +02:00
Florian Diebold
11b9845afd
Improve debug logging a bit
2019-08-12 21:43:00 +02:00
Florian Diebold
6265497523
Normalize associated types during inference
2019-08-12 21:43:00 +02:00
Florian Diebold
22724f37f3
Lower fully qualified associated type paths
...
I.e. `<T as Trait>::Foo`.
2019-08-12 21:43:00 +02:00
Florian Diebold
6cfdfdecba
Add representations of associated types
...
This adds three different representations, copied from the Chalk model:
- `Ty::Projection` is an associated type projection written somewhere in the
code, like `<Foo as Trait>::Bar`.
- `Ty::UnselectedProjection` is similar, but we don't know the trait
yet (`Foo::Bar`).
- The above representations are normalized to their actual types during type
inference. When that isn't possible, for example for `T::Item` inside an `fn
foo<T: Iterator>`, the type is normalized to an application type with
`TypeCtor::AssociatedType`.
2019-08-12 21:43:00 +02:00
Florian Diebold
3a9a0bc968
Add another test for assoc type resolution
2019-08-12 21:43:00 +02:00
Evgenii P
475a93097f
Use Source in Diagnostic and implement
2019-08-12 23:06:08 +07:00
Aleksey Kladov
13eddd7c49
Drop support for old extendSelection API
...
Emacs now handles this via native LSP request
dc86bbb227
2019-08-12 13:49:28 +03:00
Evgenii P
f1e62501c3
Fix for<'lifetime> for types specified by path
2019-08-11 16:56:05 +07:00
Kirill Bulatov
2c5c35bdae
Always set the runnable name
2019-08-09 23:34:14 +03:00
Kirill Bulatov
726535a44e
Extract common logic
2019-08-09 22:19:34 +03:00
Kirill Bulatov
918addee23
Show backtraces in lens runnables
2019-08-09 21:42:04 +03:00
Aleksey Kladov
f3ee5a1509
Move numeric names inside of NameRef
2019-08-09 12:16:47 +02:00
Evgenii P
fa24e20867
Make name_ref to accept numeric names optionally
2019-08-09 16:08:36 +07:00
Evgenii P
957b5ed23a
Parse tuple struct field initialization
2019-08-09 15:38:52 +07:00
Evgenii P
db4839033c
Change macro to function
2019-08-09 15:04:13 +07:00
Evgenii P
073cf42391
rustfmt
2019-08-09 14:23:13 +07:00