From 438659607baa1fd16af72b1189bf44a951adfb43 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Mon, 31 Oct 2016 17:38:06 +0800 Subject: HIR Typecheck Expr - Equate type params in check_associated --- src/hir_typeck/expr_cs.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/hir_typeck/expr_cs.cpp b/src/hir_typeck/expr_cs.cpp index 94a679df..d3c976a2 100644 --- a/src/hir_typeck/expr_cs.cpp +++ b/src/hir_typeck/expr_cs.cpp @@ -4676,6 +4676,14 @@ namespace { } count += 1; if( cmp == ::HIR::Compare::Equal ) { + // NOTE: Sometimes equal can be returned when it's not 100% equal (TODO) + // - Equate the types + auto itp = impl.get_trait_params(); + assert( v.params.m_types.size() == itp.m_types.size() ); + for(unsigned int i = 0; i < v.params.m_types.size(); i ++) + { + context.equate_types(sp, v.params.m_types[i], itp.m_types[i]); + } return true; } else { -- cgit v1.2.3