summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-11-19 18:21:15 +0800
committerJohn Hodge <tpg@mutabah.net>2016-11-19 18:21:15 +0800
commite8189c1a3fc5c880b00b772cedaeeb5aa16d0ce0 (patch)
tree12905f647e6e45802e934b16fb4e9967a3d476b9
parente5123b5c5b13fb7b05f8d020e4d8e4dedba5ca73 (diff)
downloadmrust-e8189c1a3fc5c880b00b772cedaeeb5aa16d0ce0.tar.gz
Rust source update, fix a few parse issues
-rw-r--r--rust-nightly-date2
-rw-r--r--src/expand/macro_rules.cpp4
-rw-r--r--src/parse/pattern.cpp1
3 files changed, 5 insertions, 2 deletions
diff --git a/rust-nightly-date b/rust-nightly-date
index 53b36045..bfa511a8 100644
--- a/rust-nightly-date
+++ b/rust-nightly-date
@@ -1 +1 @@
-2016-10-21
+2016-11-17
diff --git a/src/expand/macro_rules.cpp b/src/expand/macro_rules.cpp
index 05bf291c..638b9ddd 100644
--- a/src/expand/macro_rules.cpp
+++ b/src/expand/macro_rules.cpp
@@ -117,7 +117,9 @@ class CMacroExportHandler:
void handle(const Span& sp, const AST::MetaItem& mi, ::AST::Crate& crate, const AST::Path& path, AST::Module& mod, AST::Item& i) const override
{
- if( i.is_MacroInv() ) {
+ if( i.is_None() ) {
+ }
+ else if( i.is_MacroInv() ) {
const auto& mac = i.as_MacroInv();
if( mac.name() != "macro_rules" ) {
ERROR(sp, E0000, "#[macro_export] is only valid on macro_rules!");
diff --git a/src/parse/pattern.cpp b/src/parse/pattern.cpp
index 05945bf8..b0149ddb 100644
--- a/src/parse/pattern.cpp
+++ b/src/parse/pattern.cpp
@@ -206,6 +206,7 @@ AST::Pattern Parse_PatternReal1(TokenStream& lex, bool is_refutable)
case TOK_IDENT:
case TOK_LT:
case TOK_DOUBLE_LT:
+ case TOK_INTERPOLATED_PATH:
PUTBACK(tok, lex);
return Parse_PatternReal_Path( lex, Parse_Path(lex, PATH_GENERIC_EXPR), is_refutable );
case TOK_DOUBLE_COLON: