diff options
Diffstat (limited to 'src/resolve/use.cpp')
-rw-r--r-- | src/resolve/use.cpp | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/src/resolve/use.cpp b/src/resolve/use.cpp index 03cff143..0946f8b0 100644 --- a/src/resolve/use.cpp +++ b/src/resolve/use.cpp @@ -183,7 +183,23 @@ void Resolve_Use_Mod(const ::AST::Crate& crate, ::AST::Module& mod, ::AST::Path Resolve_Use_Mod(crate, i.data.as_Module(), path + i.name); ), (Impl, - TODO(Span(), "Recurse into Impl"); + for(auto& i : e.items()) + { + TU_MATCH_DEF( AST::Item, (*i.data), (e), + ( + ), + (Function, + if( e.code().is_valid() ) { + e.code().node().visit( expr_iter ); + } + ), + (Static, + if( e.value().is_valid() ) { + e.value().node().visit( expr_iter ); + } + ) + ) + } ), (Trait, for(auto& ti : e.items()) @@ -219,26 +235,6 @@ void Resolve_Use_Mod(const ::AST::Crate& crate, ::AST::Module& mod, ::AST::Path ) ) } - for(auto& im : mod.impls()) - { - for(auto& i : im.items()) - { - TU_MATCH_DEF( AST::Item, (*i.data), (e), - ( - ), - (Function, - if( e.code().is_valid() ) { - e.code().node().visit( expr_iter ); - } - ), - (Static, - if( e.value().is_valid() ) { - e.value().node().visit( expr_iter ); - } - ) - ) - } - } } ::AST::PathBinding Resolve_Use_GetBinding_Mod( |