diff --git a/parser/parser_impl.cpp b/parser/parser_impl.cpp index a5c9d3e30381..99bae8817936 100644 --- a/parser/parser_impl.cpp +++ b/parser/parser_impl.cpp @@ -440,7 +440,7 @@ auto ParseTree::Parser::ParseVariableDeclaration() -> Node { TokenizedBuffer::Token var_token = Consume(TokenKind::VarKeyword()); auto start = StartSubtree(); - auto type = ParseExpression(); + auto type = ParseType(); auto name = ConsumeAndAddLeafNodeIf(TokenKind::Identifier(), ParseNodeKind::DeclaredName()); diff --git a/parser/parser_impl.h b/parser/parser_impl.h index 2cf7027b2eb0..dd19afc580d7 100644 --- a/parser/parser_impl.h +++ b/parser/parser_impl.h @@ -174,6 +174,9 @@ class ParseTree::Parser { // Parses an expression. auto ParseExpression() -> llvm::Optional; + // Parses a type expression. + auto ParseType() -> llvm::Optional { return ParseExpression(); } + // Parses an expression statement: an expression followed by a semicolon. auto ParseExpressionStatement() -> llvm::Optional;