summaryrefslogtreecommitdiff
path: root/src/hir_conv/resolve_ufcs.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-09-12 11:01:03 +0800
committerJohn Hodge <tpg@mutabah.net>2016-09-12 11:01:03 +0800
commita4a4c80b9111e8442f8371bd6428d1295f1f48d3 (patch)
tree32c6b5b9b10a7c383f1d8b65e04069bbe38bd475 /src/hir_conv/resolve_ufcs.cpp
parentbe5a94e5e1537e91e4ace4ed9694394dcef9f291 (diff)
downloadmrust-a4a4c80b9111e8442f8371bd6428d1295f1f48d3.tar.gz
Resolve UFCS - HACK: Let unknown UFCS paths remain as UfcsUnknown if they can't be resolved here
Diffstat (limited to 'src/hir_conv/resolve_ufcs.cpp')
-rw-r--r--src/hir_conv/resolve_ufcs.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/hir_conv/resolve_ufcs.cpp b/src/hir_conv/resolve_ufcs.cpp
index 459c6e24..4da656bf 100644
--- a/src/hir_conv/resolve_ufcs.cpp
+++ b/src/hir_conv/resolve_ufcs.cpp
@@ -76,11 +76,13 @@ namespace {
m_current_trait = nullptr;
}
void visit_type_impl(::HIR::TypeImpl& impl) override {
+ TRACE_FUNCTION_F("impl" << impl.m_params.fmt_args() << " " << impl.m_type << " (mod=" << impl.m_src_module << ")");
auto _t = this->push_mod_traits( this->m_crate.get_mod_by_path(Span(), impl.m_src_module) );
auto _g = m_resolve.set_impl_generics(impl.m_params);
::HIR::Visitor::visit_type_impl(impl);
}
void visit_trait_impl(const ::HIR::SimplePath& trait_path, ::HIR::TraitImpl& impl) override {
+ TRACE_FUNCTION_F("impl" << impl.m_params.fmt_args() << " " << trait_path << impl.m_trait_args << " for " << impl.m_type << " (mod=" << impl.m_src_module << ")");
auto _t = this->push_mod_traits( this->m_crate.get_mod_by_path(Span(), impl.m_src_module) );
auto _g = m_resolve.set_impl_generics(impl.m_params);
::HIR::Visitor::visit_trait_impl(trait_path, impl);
@@ -385,7 +387,7 @@ namespace {
}
// Couldn't find it
- ERROR(sp, E0000, "Failed to find impl with '" << e.item << "' for " << *e.type << " (in " << p << ")");
+ //ERROR(sp, E0000, "Failed to find impl with '" << e.item << "' for " << *e.type << " (in " << p << ")");
)
else {
::HIR::Visitor::visit_path(p, pc);