From 5c63b46f8dca1d65c1906c77169555229ab07412 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 22 Sep 2018 16:25:01 +0800 Subject: All - Generate MIR for constant evaluation (has too many const_cast calls, but it's less ugly) - Also includes some MIR optimisation changes to reduce some compile times (hopefully) - Removed duplicated MIR consteval and now-unused HIR consteval --- src/hir_expand/annotate_value_usage.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/hir_expand/annotate_value_usage.cpp') diff --git a/src/hir_expand/annotate_value_usage.cpp b/src/hir_expand/annotate_value_usage.cpp index 58a4604a..693c7745 100644 --- a/src/hir_expand/annotate_value_usage.cpp +++ b/src/hir_expand/annotate_value_usage.cpp @@ -10,6 +10,7 @@ #include #include #include "main_bindings.hpp" +#include namespace { @@ -654,6 +655,16 @@ namespace { }; } +void HIR_Expand_AnnotateUsage_Expr(const ::HIR::Crate& crate, ::HIR::ExprPtr& exp) +{ + assert(exp); + StaticTraitResolve resolve { crate }; + if(exp.m_state->m_impl_generics) resolve.set_impl_generics(*exp.m_state->m_impl_generics); + if(exp.m_state->m_item_generics) resolve.set_item_generics(*exp.m_state->m_item_generics); + ExprVisitor_Mark ev { resolve }; + ev.visit_root(exp); +} + void HIR_Expand_AnnotateUsage(::HIR::Crate& crate) { OuterVisitor ov(crate); -- cgit v1.2.3