From 1b173dc2281022b42560f169a5f7445ba9528f6c Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 24 Feb 2018 13:17:15 +0800 Subject: Expand - Fix #61, not expanding paths in types --- src/expand/mod.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/expand/mod.cpp b/src/expand/mod.cpp index d50a51fd..571d21e2 100644 --- a/src/expand/mod.cpp +++ b/src/expand/mod.cpp @@ -25,6 +25,7 @@ void Expand_Attrs(const ::AST::MetaItems& attrs, AttrStage stage, ::std::functi void Expand_Mod(::AST::Crate& crate, LList modstack, ::AST::Path modpath, ::AST::Module& mod, unsigned int first_item = 0); void Expand_Expr(::AST::Crate& crate, LList modstack, AST::Expr& node); void Expand_Expr(::AST::Crate& crate, LList modstack, ::std::shared_ptr& node); +void Expand_Path(::AST::Crate& crate, LList modstack, ::AST::Module& mod, ::AST::Path& p); void Register_Synext_Decorator(::std::string name, ::std::unique_ptr handler) { g_decorators.insert(::std::make_pair( mv$(name), mv$(handler) )); @@ -265,11 +266,19 @@ void Expand_Type(::AST::Crate& crate, LList modstack, ::AST: (Generic, ), (Path, + Expand_Path(crate, modstack, mod, e.path); ), (TraitObject, + for(auto& p : e.traits) + { + Expand_Path(crate, modstack, mod, p); + } ), (ErasedType, - // TODO: Visit paths. + for(auto& p : e.traits) + { + Expand_Path(crate, modstack, mod, p); + } ) ) } -- cgit v1.2.3