summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hir_conv/bind.cpp5
-rw-r--r--src/hir_typeck/helpers.cpp3
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;
}