summaryrefslogtreecommitdiff
path: root/src/expand/derive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expand/derive.cpp')
-rw-r--r--src/expand/derive.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/expand/derive.cpp b/src/expand/derive.cpp
index 25cc6742..3b25831c 100644
--- a/src/expand/derive.cpp
+++ b/src/expand/derive.cpp
@@ -2227,8 +2227,14 @@ static void derive_item(const Span& sp, const AST::Crate& crate, AST::Module& mo
else {
// proc_macro - Invoke the handler.
auto lex = ProcMacro_Invoke(sp, crate, mac_path.first, path.nodes().back().name(), item);
- Parse_ModRoot_Items(*lex, mod);
- found = true;
+ if( lex )
+ {
+ Parse_ModRoot_Items(*lex, mod);
+ found = true;
+ }
+ else {
+ ERROR(sp, E0000, "proc_macro derive failed");
+ }
break;
}
}