diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/hir_conv/bind.cpp | 5 | ||||
-rw-r--r-- | src/hir_typeck/helpers.cpp | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/hir_conv/bind.cpp b/src/hir_conv/bind.cpp index 8217aa09..7a1049e6 100644 --- a/src/hir_conv/bind.cpp +++ b/src/hir_conv/bind.cpp @@ -418,6 +418,11 @@ namespace { upper_visitor(uv) {} + void visit_generic_path(::HIR::Visitor::PathContext pc, ::HIR::GenericPath& p) + { + upper_visitor.visit_generic_path(p, pc); + } + void visit_node_ptr(::HIR::ExprNodeP& node_ptr) override { upper_visitor.visit_type(node_ptr->m_res_type); diff --git a/src/hir_typeck/helpers.cpp b/src/hir_typeck/helpers.cpp index d349ef23..a9577835 100644 --- a/src/hir_typeck/helpers.cpp +++ b/src/hir_typeck/helpers.cpp @@ -3179,9 +3179,11 @@ unsigned int TraitResolution::autoderef_find_method(const Span& sp, const HIR::t // TODO: Update `unconditional_allow_move` based on the current type. const auto& ty = this->m_ivars.get_type(*current_ty); if( ty.m_data.is_Infer() ) { + DEBUG("- Ivar, pausing"); return ~0u; } if(ty.m_data.is_Path() && ty.m_data.as_Path().binding.is_Unbound()) { + DEBUG("- Unbound type path " << ty << ", pausing"); return ~0u; } @@ -3231,6 +3233,7 @@ unsigned int TraitResolution::autoderef_find_method(const Span& sp, const HIR::t // If there are ivars within the type, don't error (yet) if( this->m_ivars.type_contains_ivars(top_ty) ) { + DEBUG("- Contains ivars, pausing"); return ~0u; } |