summaryrefslogtreecommitdiff
path: root/src/resolve
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2018-05-27 13:06:19 +0800
committerJohn Hodge <tpg@mutabah.net>2018-05-27 13:06:19 +0800
commit8120f62d373b8ef87357fbfe4b2fc210e955a2fb (patch)
tree77e4b8c45179638a9f99de653fdbfbe2f424839e /src/resolve
parent30783d1e61a83bb680f1231af32004f4c994fea3 (diff)
downloadmrust-8120f62d373b8ef87357fbfe4b2fc210e955a2fb.tar.gz
AST - Fix missing handling of `for<>` in a few places
Diffstat (limited to 'src/resolve')
-rw-r--r--src/resolve/absolute.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/resolve/absolute.cpp b/src/resolve/absolute.cpp
index f114fd78..46a27c2d 100644
--- a/src/resolve/absolute.cpp
+++ b/src/resolve/absolute.cpp
@@ -2055,12 +2055,14 @@ void Resolve_Absolute_Trait(Context& item_context, ::AST::Trait& e)
Resolve_Absolute_Generic(item_context, e.params());
for(auto& st : e.supertraits()) {
- if( !st.ent.is_valid() ) {
+ if( !st.ent.path.is_valid() ) {
DEBUG("- ST 'static");
}
else {
- DEBUG("- ST " << st.ent);
- Resolve_Absolute_Path(item_context, st.sp, Context::LookupMode::Type, st.ent);
+ DEBUG("- ST " << st.ent.hrbs << st.ent.path);
+ item_context.push(st.ent.hrbs);
+ Resolve_Absolute_Path(item_context, st.sp, Context::LookupMode::Type, st.ent.path);
+ item_context.pop(st.ent.hrbs);
}
}