summaryrefslogtreecommitdiff
path: root/src/hir/visitor.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-06-07 14:21:26 +0800
committerJohn Hodge <tpg@mutabah.net>2016-06-07 14:21:26 +0800
commitd21eaed77240158885c2e22c436bc17053a9cd1d (patch)
treeea83a637649c858720c5357f072cbe9f6d4c8250 /src/hir/visitor.cpp
parent1b37aad87169969a337e32a38321003bfb0e469f (diff)
downloadmrust-d21eaed77240158885c2e22c436bc17053a9cd1d.tar.gz
HIR Typecheck - Binary operator overloads
Diffstat (limited to 'src/hir/visitor.cpp')
-rw-r--r--src/hir/visitor.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/hir/visitor.cpp b/src/hir/visitor.cpp
index d4eeec50..cb9874c2 100644
--- a/src/hir/visitor.cpp
+++ b/src/hir/visitor.cpp
@@ -103,7 +103,12 @@ void ::HIR::Visitor::visit_trait_impl(const ::HIR::SimplePath& trait_path, ::HIR
::HIR::PathChain p { "#impl" };
TRACE_FUNCTION_F("trait_path=" << trait_path);
this->visit_params(impl.m_params);
- this->visit_path_params(impl.m_trait_args);
+ // - HACK: Create a generic path to visit (so that proper checks are performed)
+ {
+ ::HIR::GenericPath gp { trait_path, mv$(impl.m_trait_args) };
+ this->visit_generic_path(gp, PathContext::TRAIT);
+ impl.m_trait_args = mv$(gp.m_params);
+ }
this->visit_type(impl.m_type);
for(auto& ent : impl.m_methods) {