summaryrefslogtreecommitdiff
path: root/src/hir/from_ast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/from_ast.cpp')
-rw-r--r--src/hir/from_ast.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/hir/from_ast.cpp b/src/hir/from_ast.cpp
index f3a41207..878e7d4c 100644
--- a/src/hir/from_ast.cpp
+++ b/src/hir/from_ast.cpp
@@ -1055,14 +1055,16 @@ public:
auto& macros = rv.m_exported_macros;
// - Extract macros from root module
- for( const auto& mac : crate.m_root_module.macros() ) {
+ for( /*const*/ auto& mac : crate.m_root_module.macros() ) {
//if( mac.data.export ) {
- macros.insert( ::std::make_pair( mac.name, mv$(*mac.data) ) );
+ MacroRulesPtr& mrp = mac.data;
+ MacroRules mac_data = mv$(*mrp);
+ macros.insert( ::std::make_pair( mac.name, mv$(mac_data) ) );
//}
}
- for( const auto& mac : crate.m_root_module.macro_imports_res() ) {
+ for( auto& mac : crate.m_root_module.macro_imports_res() ) {
//if( mac.data->export ) {
- macros.insert( ::std::make_pair( mac.name, *mac.data ) );
+ macros.insert( ::std::make_pair( mac.name, mv$(*const_cast<MacroRules*>(mac.data)) ) );
//}
}