summaryrefslogtreecommitdiff
path: root/src/hir_expand/vtable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir_expand/vtable.cpp')
-rw-r--r--src/hir_expand/vtable.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/hir_expand/vtable.cpp b/src/hir_expand/vtable.cpp
index e92fef92..ea578237 100644
--- a/src/hir_expand/vtable.cpp
+++ b/src/hir_expand/vtable.cpp
@@ -75,10 +75,10 @@ namespace {
}
i ++;
}
- // TODO: Iterate supertraits too.
for(const auto& st : tr.m_parent_traits) {
add_types_from_trait(*st.m_trait_ptr);
}
+ // TODO: Iterate supertraits from bounds too
}
};
Foo visitor { &tr, {}, static_cast<unsigned int>(tr.m_params.m_types.size()) };
@@ -92,7 +92,7 @@ namespace {
if(t.m_data.is_Path() && t.m_data.as_Path().path.m_data.is_UfcsKnown()) {
const auto& pe = t.m_data.as_Path().path.m_data.as_UfcsKnown();
DEBUG("t=" << t);
- if( *pe.type == ::HIR::TypeRef("Self", 0xFFFF) /*&& pe.trait == trait_path*/ ) {
+ if( *pe.type == ::HIR::TypeRef("Self", 0xFFFF) /*&& pe.trait == trait_path*/ && tr.m_type_indexes.count(pe.item) ) {
// Replace with a new type param, need to know the index of it
o = ::HIR::TypeRef("a#"+pe.item, tr.m_type_indexes.at(pe.item));
return true;