Edwin Cheng
fe78a14bbb
Support local macro_rules
2020-03-14 14:25:51 +08:00
Aleksey Kladov
57da3df99a
Explicitly remember desugard pats
2020-03-06 15:17:48 +01:00
Aleksey Kladov
5ffddc4b92
Explicitly remember desugard exprs
2020-03-06 15:11:05 +01:00
Aleksey Kladov
a1e1869554
Rename ast::ImplBlock -> ast::ImplDef
2020-02-29 21:33:15 +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
Kirill Bulatov
b8ddcb0652
Run cargo +nightly fix --clippy -Z unstable-options
2020-02-18 16:03:08 +02:00
bors[bot]
759100fb0d
Merge #3062
...
3062: Implement slice pattern AST > HIR lowering r=jplatte a=jplatte
WIP. The necessary changes for parsing are implemented, but actual inference is not yet. Just wanted to upload what I've got so far so it doesn't get duplicated :)
Will fix #3043
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2020-02-11 21:46:36 +00:00
Jonas Platte
a3b104aa6d
Implement slice pattern AST > HIR lowering
2020-02-11 22:33:11 +01:00
Matthew Jasper
8c8d0bb34f
Add or- and parenthesized-patterns
2020-02-09 22:06:15 +00:00
bors[bot]
523b4cbc60
Merge #2650
...
2650: Add macro call support for SourceAnalyzer::type_of r=matklad a=edwin0cheng
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2019-12-29 15:02:27 +00:00
Florian Diebold
50ebff257d
Rename ResolvedVisibility -> Visibility
2019-12-26 16:23:40 +01:00
Florian Diebold
8ac25f119e
Keep track of visibility during def collection
2019-12-26 16:23:40 +01:00
Edwin Cheng
12cc2ed557
Use pre-stored macro file
2019-12-23 21:56:10 +08:00
Aleksey Kladov
e424545c0f
Rudimentary name resolution for local items
2019-12-22 22:41:21 +01:00
Aleksey Kladov
baee746185
Share impl Scope between modules and blocks
2019-12-22 15:52:35 +01:00
Florian Diebold
2a8c9100bf
Handle closure return types
...
Fixes #2547 .
2019-12-20 18:16:11 +01:00
Aleksey Kladov
f42697e54b
Support for nested traits
2019-12-20 12:29:25 +01:00
Aleksey Kladov
fe1b160dcf
Support for nested statics, consts and type aliases
2019-12-20 12:22:55 +01:00
Aleksey Kladov
ac5a3f611b
Support for nested ADT
2019-12-20 12:20:49 +01:00
Aleksey Kladov
94ad07af4b
Introduce ContainerId
2019-12-20 12:07:23 +01:00
Aleksey Kladov
8fc20b6503
Rename ContainerId -> AssocContainerId
2019-12-20 12:00:05 +01:00
Aleksey Kladov
a04177f135
Add local functions to bodies
2019-12-20 11:52:17 +01:00
Aleksey Kladov
5bd8de3f5e
Allow storing defs in bodies
2019-12-19 18:09:50 +01:00
Florian Diebold
6911bc89a7
Rename N! to name!
2019-12-13 22:33:38 +01:00
Florian Diebold
259c42f00e
Add macros for known names and paths
2019-12-13 22:33:37 +01:00
Florian Diebold
5e096def15
Expand macros in blocks to expressions for now
...
Expanding to statements isn't handled properly yet and breaks things.
2019-12-08 13:03:13 +01:00
ice1000
009437f5d9
Replace ra_hir_expand::either
with crate
2019-12-03 11:07:56 -05:00
oxalica
2cb684bbce
Reduce variants of Expr
2019-11-29 14:49:12 +08:00
oxalica
4992d2bf79
Infer range types
2019-11-29 03:10:16 +08:00
Aleksey Kladov
d157812cd1
Docs
2019-11-24 20:39:48 +03:00
Aleksey Kladov
fc1e543f7a
Get rid of DefDatabase2
2019-11-23 14:49:45 +03:00
Aleksey Kladov
a1346bba5c
Fix test mark placement
2019-11-21 17:09:38 +03:00
Aleksey Kladov
c37d1c5b38
Restore a mark
2019-11-21 15:49:24 +03:00
Aleksey Kladov
4efd345b09
Slightly better naming
2019-11-14 11:33:48 +03:00
Aleksey Kladov
da2ca01eba
Handle macro-generated expressions slightly less wrong
2019-11-14 10:30:30 +03:00
Aleksey Kladov
a73b7bb3f6
Move expansion to Expander
2019-11-14 10:04:39 +03:00
Aleksey Kladov
5c720b256f
Move parse_path to Expander
2019-11-14 09:58:39 +03:00
Aleksey Kladov
e7880db1d0
Expansion stack scaffold
2019-11-14 09:57:57 +03:00
Aleksey Kladov
c89010df2d
Add Expader::to_source
2019-11-14 09:57:57 +03:00
Aleksey Kladov
e7e85c60d2
Move original_file to Expander
2019-11-14 09:55:24 +03:00
Aleksey Kladov
8c8ef1432e
Rename MacroResolver -> Expander
2019-11-14 09:38:25 +03:00
Aleksey Kladov
b3175b7077
Move current file to MacroResolver
2019-11-14 09:37:33 +03:00
Aleksey Kladov
1c0a3a1a30
Drop obsolete comment
2019-11-12 18:51:37 +03:00
Aleksey Kladov
1a90ad5802
Move expression lowering to hir_def
2019-11-12 18:46:57 +03:00
Aleksey Kladov
d09e5a3d9e
Move definition of exprs to hir_def
2019-11-12 15:09:25 +03:00