From e52b02d47c71fd8c926ac9cac90d3bf6d9b1ba0a Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 20 Jan 2019 20:47:51 +0800 Subject: Parse - Handle `use {self as foo}` --- src/parse/root.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/parse/root.cpp b/src/parse/root.cpp index c3fbfdd1..4d9c96e0 100644 --- a/src/parse/root.cpp +++ b/src/parse/root.cpp @@ -1361,6 +1361,11 @@ void Parse_Use_Inner(TokenStream& lex, ::std::vector& entries else if( LOOK_AHEAD(lex) == TOK_RWORD_SELF ) { GET_TOK(tok, lex); auto name = path.nodes().back().name(); + if( LOOK_AHEAD(lex) == TOK_RWORD_AS ) { + GET_TOK(tok, lex); + GET_CHECK_TOK(tok, lex, TOK_IDENT); + name = mv$(tok.str()); + } entries.push_back({ lex.point_span(), AST::Path(path), ::std::move(name) }); } else { -- cgit v1.2.3