Josh Mcguigan
ee822d19b7
handle tuple patterns with ellipsis
2020-04-13 08:19:19 -07:00
Aleksey Kladov
5e5eb6a108
Align grammar for record patterns and literals
...
The grammar now looks like this
[name_ref :] pat
2020-04-12 00:00:15 +02:00
bors[bot]
fd06fe7b13
Merge #3925
...
3925: Implement assist "Reorder field names" r=matklad a=geoffreycopin
This PR implements the "Reorder record fields" assist as discussed in issue #3821 .
Adding a `RecordFieldPat` variant to the `Pat` enum seemed like the easiest way to handle the `RecordPat` children as a single sequence of elements, maybe there is a better way ?
Co-authored-by: Geoffrey Copin <copin.geoffrey@gmail.com>
2020-04-11 18:40:46 +00:00
Aleksey Kladov
0aece75cdd
Remove dead code
2020-04-11 19:36:31 +02:00
Geoffrey Copin
270bcfdfc2
Avoid adding a RecordFieldPat variant to the Pat enum
2020-04-11 19:30:41 +02:00
Aleksey Kladov
7a39bc3ba2
Make records grammar more orthogonal
...
We used
name [: expr]
grammar before, now it is
[name :] expr
which makes things simpler
2020-04-11 19:20:41 +02:00
Aleksey Kladov
f980b07529
Make incremental nameres test harder
2020-04-11 17:54:46 +02:00
Aleksey Kladov
38c67e5c0d
Avoid cyclic queries in name resolution when processing enums
2020-04-11 17:52:26 +02:00
Aleksey Kladov
deb40d52aa
Align naming
2020-04-11 17:20:26 +02:00
Aleksey Kladov
55356332bf
Remove code duplication
2020-04-11 17:18:42 +02:00
Aleksey Kladov
b8eb1597c9
Use Expander for cfg handling in structs
2020-04-11 17:17:12 +02:00
Aleksey Kladov
ac21100f32
Use Expander for cfg handling in impls
2020-04-11 17:12:17 +02:00
Aleksey Kladov
e9519e1035
Pull Expander up
2020-04-11 17:09:50 +02:00
Aleksey Kladov
6b0870d12e
Simplify
2020-04-11 17:00:31 +02:00
Aleksey Kladov
c1244c853c
Forward compat
2020-04-11 00:27:00 +02:00
Aleksey Kladov
7995c916fe
profile queries
2020-04-10 20:26:47 +02:00
Aleksey Kladov
c8b4c36f81
Semicolon token
2020-04-10 16:10:28 +02:00
Josh Mcguigan
e63315b8f1
add record pat missing field diagnostic
2020-04-10 06:35:52 -07:00
Geoffrey Copin
730a927c5e
Implement assist "Reorder field names"
2020-04-10 00:57:03 +02:00
Aleksey Kladov
30084a56a5
Simpler acessors for keywords
2020-04-09 23:42:01 +02:00
Aleksey Kladov
00ec0c1066
use uniform accessor
2020-04-09 23:19:51 +02:00
bors[bot]
33df20868d
Merge #3918
...
3918: Add support for feature attributes in struct literal r=matklad a=bnjjj
As promised here is the next PR to solve 2 different scenarios with feature flag on struct literal.
close #3870
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-09 19:27:06 +00:00
Benjamin Coenen
c1317d6923
feat: add support for feature attributes in struct literal
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-09 19:12:50 +02:00
Aleksey Kladov
2bfb65db93
Be consistent about token accesors
2020-04-09 18:48:13 +02:00
Benjamin Coenen
fc70cf9458
feat: add support for feature attributes in struct literal
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-09 18:32:02 +02:00
Aleksey Kladov
e6d22187a6
Add _token suffix to token accessors
...
I think this makes is more clear which things are : AstNode and which
are : AstToken
2020-04-09 18:25:36 +02:00
Aleksey Kladov
689661c959
Scale back to only two traits
2020-04-09 13:00:09 +02:00
Luca Barbieri
60f4d7bd8c
Provide more complete AST accessors to support usage in rustc
2020-04-09 11:50:37 +02:00
Benjamin Coenen
8f1dba6f9a
feat: add attributes support on struct fields and method #3870
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-08 18:12:15 +02:00
Benjamin Coenen
18a5e16483
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
2020-04-07 17:59:09 +02:00
Benjamin Coenen
ab864ed259
feat: add attributes support on struct fields #3870
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-04-07 17:58:05 +02:00
Aleksey Kladov
bf569f8b29
Check for eprintln on CI
2020-04-06 17:00:18 +02:00
Laurențiu Nicola
b58a7f41f1
Fix inference of function pointer return types
2020-04-05 18:18:40 +03:00
Aleksey Kladov
da8eb29a2f
Macro patterns are not confused with expressions.
...
We treat macro calls as expressions (there's appropriate Into impl),
which causes problem if there's expresison and non-expression macro in
the same node (like in the match arm).
We fix this problem by nesting macor patterns into another node (the
same way we nest path into PathExpr or PathPat). Ideally, we probably
should add a similar nesting for macro expressions, but that needs
some careful thinking about macros in blocks: `{ am_i_expression!() }`.
2020-04-03 16:12:38 +02:00
Josh Mcguigan
d0b6b2ee2f
lower bool literal with the value from source code rather than default bool value
2020-04-01 04:47:41 -07:00
Josh Mcguigan
a9d0c9b2a4
lower literal patterns
2020-04-01 04:18:46 -07:00
Aleksey Kladov
6596e7cddf
Nice string formatting
2020-03-28 12:27:54 +01:00
bors[bot]
b1594f1080
Merge #3727
...
3727: Introduce ra_proc_macro r=matklad a=edwin0cheng
This PR implemented:
1. Reading dylib path of proc-macro crate from cargo check , similar to how `OUTDIR` is obtained.
2. Added a new crate `ra_proc_macro` and implement the foot-work for reading result from external proc-macro expander.
3. Added a struct `ProcMacroClient` , which will be responsible to the client side communication to the External process.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-03-26 17:09:32 +00:00
Edwin Cheng
db162df264
Remove deps on tt_mbe
2020-03-27 00:46:40 +08:00
Aleksey Kladov
db34abeb85
Get rid of ItemOrMacro
2020-03-26 16:10:01 +01:00
Aleksey Kladov
b7aaefb5a4
Minor incremental tests cleanup
2020-03-26 15:44:31 +01:00
Edwin Cheng
d0b6ed4441
Add ProcMacroClient
2020-03-26 03:29:45 +08:00
Aleksey Kladov
9f53cec1da
Cleanup memory usage stats
2020-03-25 19:35:46 +01:00
Edwin Cheng
07ec31813c
fix typo of visibility_of
2020-03-26 00:11:38 +08:00
Edwin Cheng
2adc9a8d5f
Remove collect proc_macro definitions
2020-03-25 20:14:22 +08:00
Edwin Cheng
8afb445357
Rename to CustomDerive
2020-03-25 19:50:12 +08:00
Edwin Cheng
7667aa6033
Refactoring a bit
2020-03-25 19:50:12 +08:00
Edwin Cheng
34dc8d25c1
Add basic custom derive lowering
2020-03-25 19:50:12 +08:00
Edwin Cheng
bcfb3700ce
Add ItemScope::visibility_of
2020-03-25 04:45:42 +08:00
bors[bot]
baa11d52f4
Merge #3684
...
3684: ra_hir_def: fix typo r=edwin0cheng a=Veetaha
Co-authored-by: veetaha <veetaha2@gmail.com>
2020-03-22 19:59:05 +00:00