660: Support macro calls in type position r=matklad a=regiontog

A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c) demonstrating the syntax in question.

Co-authored-by: Erlend Tobiassen <erlend.tobiassen@gmail.com>
This commit is contained in:
bors[bot] 2019-01-26 10:23:28 +00:00
commit 2acaa92c93
3 changed files with 68 additions and 1 deletions

View file

@ -0,0 +1,2 @@
type A = foo!();
type B = crate::foo!();

View file

@ -0,0 +1,43 @@
SOURCE_FILE@[0; 41)
TYPE_DEF@[0; 16)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
NAME@[5; 6)
IDENT@[5; 6) "A"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
MACRO_CALL@[9; 15)
PATH@[9; 12)
PATH_SEGMENT@[9; 12)
NAME_REF@[9; 12)
IDENT@[9; 12) "foo"
EXCL@[12; 13)
TOKEN_TREE@[13; 15)
L_PAREN@[13; 14)
R_PAREN@[14; 15)
SEMI@[15; 16)
WHITESPACE@[16; 17)
TYPE_DEF@[17; 40)
TYPE_KW@[17; 21)
WHITESPACE@[21; 22)
NAME@[22; 23)
IDENT@[22; 23) "B"
WHITESPACE@[23; 24)
EQ@[24; 25)
WHITESPACE@[25; 26)
MACRO_CALL@[26; 39)
PATH@[26; 36)
PATH@[26; 31)
PATH_SEGMENT@[26; 31)
CRATE_KW@[26; 31)
COLONCOLON@[31; 33)
PATH_SEGMENT@[33; 36)
NAME_REF@[33; 36)
IDENT@[33; 36) "foo"
EXCL@[36; 37)
TOKEN_TREE@[37; 39)
L_PAREN@[37; 38)
R_PAREN@[38; 39)
SEMI@[39; 40)
WHITESPACE@[40; 41)