diff options
-rw-r--r-- | src/ast/crate.cpp | 4 | ||||
-rw-r--r-- | src/resolve/index.cpp | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/ast/crate.cpp b/src/ast/crate.cpp index c05b2e29..5b15a15d 100644 --- a/src/ast/crate.cpp +++ b/src/ast/crate.cpp @@ -29,6 +29,10 @@ namespace { } ) } + // TODO: What about if an anon mod has been #[cfg]-d out? + for(const auto& anon : mod.anon_mods() ) { + iterate_module(*anon, fcn); + } } } diff --git a/src/resolve/index.cpp b/src/resolve/index.cpp index 421f4ae1..39ae4ff2 100644 --- a/src/resolve/index.cpp +++ b/src/resolve/index.cpp @@ -122,6 +122,7 @@ void Resolve_Index_Module_Base(const AST::Crate& crate, AST::Module& mod) _add_item(i.data.span, mod, IndexName::Namespace, i.name, i.is_pub, mv$(p)); ), (Crate, + ASSERT_BUG(i.data.span, crate.m_extern_crates.count(e.name) > 0, "Referenced crate '" << e.name << "' isn't loaded"); p.bind( ::AST::PathBinding::make_Crate({ &crate.m_extern_crates.at(e.name) }) ); _add_item(i.data.span, mod, IndexName::Namespace, i.name, i.is_pub, mv$(p)); ), |