From eb6e05c941966dfc11a3d0377f67589023a32724 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Fri, 19 Aug 2016 11:47:27 +0800 Subject: Parse - Fix bug in parsing `extern crate` --- src/parse/root.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/parse/root.cpp b/src/parse/root.cpp index b932bf1a..c21cfba3 100644 --- a/src/parse/root.cpp +++ b/src/parse/root.cpp @@ -1304,12 +1304,13 @@ void Parse_ExternCrate(TokenStream& lex, AST::Module& mod, bool is_public, AST:: name = mv$(tok.str()); if(GET_TOK(tok, lex) == TOK_RWORD_AS) { path = mv$(name); + GET_CHECK_TOK(tok, lex, TOK_IDENT); name = mv$(tok.str()); } else { PUTBACK(tok, lex); - name = path; + path = name; } break; default: @@ -1317,6 +1318,7 @@ void Parse_ExternCrate(TokenStream& lex, AST::Module& mod, bool is_public, AST:: } GET_CHECK_TOK(tok, lex, TOK_SEMICOLON); + DEBUG("- `extern crate` path='" << path << "', name="<