rust-analyzer/crates
bors[bot] c8066ebd17
Merge #8201
8201: Fix recursive macro statements expansion r=edwin0cheng a=edwin0cheng

This PR attempts to properly handle macro statement expansion by implementing the following:

1.  Merge macro expanded statements to parent scope statements.
2.  Add a new hir `Expr::MacroStmts` for handle tail expression infer.

PS : The scope of macro expanded statements are so strange that it took more time than I thought to understand and implement it :(

Fixes  #8171



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-03-27 02:57:02 +00:00
..
base_db Improve readability 2021-03-23 13:04:43 +03:00
cfg a lot of clippy::style fixes 2021-03-21 16:15:41 +01:00
flycheck Bump cargo_metadata 2021-03-02 14:27:29 +02:00
hir syntax: return owned string instead of leaking string 2021-03-26 18:30:59 +01:00
hir_def Fix recursive macro statement expansion 2021-03-26 04:21:15 +08:00
hir_expand Merge #8201 2021-03-27 02:57:02 +00:00
hir_ty Merge #8201 2021-03-27 02:57:02 +00:00
ide syntax: return owned string instead of leaking string 2021-03-26 18:30:59 +01:00
ide_assists syntax: return owned string instead of leaking string 2021-03-26 18:30:59 +01:00
ide_completion completion relevance distinguish between exact type match and could unify 2021-03-26 09:18:18 -07:00
ide_db syntax: return owned string instead of leaking string 2021-03-26 18:30:59 +01:00
ide_ssr syntax: return owned string instead of leaking string 2021-03-26 18:30:59 +01:00
mbe a lot of clippy::style fixes 2021-03-21 16:15:41 +01:00
parser Parse extended_key_value_attributes 2021-03-19 02:13:46 +01:00
paths Document paths items 2021-01-22 15:38:33 +01:00
proc_macro_api Trim down IPC json size 2021-03-24 15:01:37 +08:00
proc_macro_srv Improve message usage in proc-macro 2021-03-24 03:51:06 +08:00
proc_macro_test Add description for crates that will be published 2020-08-24 13:07:22 +02:00
profile add more counts 2021-01-27 12:39:19 +03:00
project_model clippy::complexity simplifications related to Iterators 2021-03-21 13:13:34 +01:00
rust-analyzer completion relevance distinguish between exact type match and could unify 2021-03-26 09:18:18 -07:00
stdx Cleanup decl_check 2021-02-05 16:09:45 +01:00
syntax Add TokenText 2021-03-26 21:33:45 +03:00
test_utils Add new_source_root meta to test fixtures 2021-03-16 15:28:02 +01:00
text_edit Avoid turning completion objects into builders 2020-11-16 23:16:41 +02:00
toolchain Add description for crates that will be published 2020-08-24 13:07:22 +02:00
tt a lot of clippy::style fixes 2021-03-21 16:15:41 +01:00
vfs Fix slow tests sometimes failing 2021-02-12 16:31:16 +01:00
vfs-notify Fix slow tests sometimes failing 2021-02-12 16:31:16 +01:00