diff options
-rw-r--r-- | src/hir_typeck/expr_check.cpp | 2 | ||||
-rw-r--r-- | src/hir_typeck/helpers.cpp | 3 | ||||
-rw-r--r-- | src/hir_typeck/static.cpp | 3 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/hir_typeck/expr_check.cpp b/src/hir_typeck/expr_check.cpp index 6153b197..b2cda61b 100644 --- a/src/hir_typeck/expr_check.cpp +++ b/src/hir_typeck/expr_check.cpp @@ -755,7 +755,7 @@ namespace { const auto& val_ty = node.m_value->m_res_type; TU_IFLET( ::HIR::TypeRef::Data, val_ty.m_data, Function, e, - + DEBUG("- Function pointer: " << val_ty); if( node.m_args.size() != e.m_arg_types.size() ) { ERROR(node.span(), E0000, "Incorrect number of arguments to call via " << val_ty); } diff --git a/src/hir_typeck/helpers.cpp b/src/hir_typeck/helpers.cpp index fa9a6a67..359e0c19 100644 --- a/src/hir_typeck/helpers.cpp +++ b/src/hir_typeck/helpers.cpp @@ -1683,6 +1683,9 @@ void TraitResolution::expand_associated_types_inplace(const Span& sp, ::HIR::Typ ), (Function, // Recurse? + for(auto& ty : e.m_arg_types) + expand_associated_types_inplace(sp, ty, stack); + expand_associated_types_inplace(sp, *e.m_rettype, stack); ), (Closure, // Recurse? diff --git a/src/hir_typeck/static.cpp b/src/hir_typeck/static.cpp index 651f0cfe..4a0e176d 100644 --- a/src/hir_typeck/static.cpp +++ b/src/hir_typeck/static.cpp @@ -630,6 +630,9 @@ void StaticTraitResolve::expand_associated_types_inner(const Span& sp, ::HIR::Ty ), (Function, // Recurse? + for(auto& ty : e.m_arg_types) + expand_associated_types_inner(sp, ty); + expand_associated_types_inner(sp, *e.m_rettype); ), (Closure, // Recurse? |