summaryrefslogtreecommitdiff
path: root/src/ast/ast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/ast.cpp')
-rw-r--r--src/ast/ast.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp
index 4c400a47..c071e139 100644
--- a/src/ast/ast.cpp
+++ b/src/ast/ast.cpp
@@ -180,12 +180,14 @@ static void iterate_module(Module& mod, ::std::function<void(Module& mod)> fcn)
void Crate::post_parse()
{
// Iterate all modules, grabbing pointers to all impl blocks
- iterate_module(m_root_module, [this](Module& mod){
+ auto cb = [this](Module& mod){
for( auto& impl : mod.impls() )
{
m_impl_index.push_back( &impl );
}
- });
+ };
+ iterate_module(m_root_module, cb);
+ iterate_module(g_compiler_module, cb);
}
void Crate::iterate_functions(fcn_visitor_t* visitor)