summaryrefslogtreecommitdiff
path: root/src/parse/types.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-02-25 14:39:25 +0800
committerJohn Hodge <tpg@mutabah.net>2016-02-25 14:39:25 +0800
commitb6aa089ef86e45e3a0f1c81f2f7a4d78765342d0 (patch)
tree5fae1373d6e26566d2e9d916e554915288cc07fd /src/parse/types.cpp
parentc43fd3adac502ab3ebb5f548dd09c0823af486e5 (diff)
downloadmrust-b6aa089ef86e45e3a0f1c81f2f7a4d78765342d0.tar.gz
Parse - Handle named arguments in fn() types
Diffstat (limited to 'src/parse/types.cpp')
-rw-r--r--src/parse/types.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/parse/types.cpp b/src/parse/types.cpp
index 425a7f36..22f5acf2 100644
--- a/src/parse/types.cpp
+++ b/src/parse/types.cpp
@@ -223,6 +223,11 @@ TypeRef Parse_Type_Fn(TokenStream& lex)
GET_CHECK_TOK(tok, lex, TOK_PAREN_OPEN);
while( LOOK_AHEAD(lex) != TOK_PAREN_CLOSE )
{
+ // Handle `ident: `
+ if( lex.lookahead(0) == TOK_IDENT && lex.lookahead(1) == TOK_COLON ) {
+ GET_TOK(tok, lex);
+ GET_TOK(tok, lex);
+ }
args.push_back( Parse_Type(lex) );
if( GET_TOK(tok, lex) != TOK_COMMA ) {
lex.putback(tok);