summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-10-31 17:38:06 +0800
committerJohn Hodge <tpg@mutabah.net>2016-10-31 17:38:06 +0800
commit438659607baa1fd16af72b1189bf44a951adfb43 (patch)
tree3bec0256ffacc72544d2803534146dfd384fabbc
parentfb79fa94ba3d86322ffe7202935ec32138264587 (diff)
downloadmrust-438659607baa1fd16af72b1189bf44a951adfb43.tar.gz
HIR Typecheck Expr - Equate type params in check_associated
-rw-r--r--src/hir_typeck/expr_cs.cpp8
1 files changed, 8 insertions, 0 deletions
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 {