summaryrefslogtreecommitdiff
path: root/src/mir/helpers.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-05-05 12:42:57 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-05-05 12:42:57 +0800
commit4c4a7b88914861b644ec56738ced8cfc179f93f9 (patch)
treeb5ab0e30b67698c4d72b224e6b695672966aaeac /src/mir/helpers.cpp
parenta67c91329da4e2840ee4089e5c7854f68bb8afda (diff)
downloadmrust-4c4a7b88914861b644ec56738ced8cfc179f93f9.tar.gz
MIR - Wrap HIR::Path-s in MIR::Constant in unique_ptr
Diffstat (limited to 'src/mir/helpers.cpp')
-rw-r--r--src/mir/helpers.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mir/helpers.cpp b/src/mir/helpers.cpp
index 38388aed..1453acb3 100644
--- a/src/mir/helpers.cpp
+++ b/src/mir/helpers.cpp
@@ -270,7 +270,7 @@ const ::HIR::TypeRef& MIR::TypeResolve::get_param_type(::HIR::TypeRef& tmp, cons
),
(Const,
MonomorphState p;
- auto v = m_resolve.get_value(this->sp, e.p, p, /*signature_only=*/true);
+ auto v = m_resolve.get_value(this->sp, *e.p, p, /*signature_only=*/true);
if( const auto* ve = v.opt_Constant() ) {
const auto& ty = (*ve)->m_type;
if( monomorphise_type_needed(ty) ) {
@@ -282,12 +282,12 @@ const ::HIR::TypeRef& MIR::TypeResolve::get_param_type(::HIR::TypeRef& tmp, cons
return ty.clone();
}
else {
- MIR_BUG(*this, "get_const_type - Not a constant " << e.p);
+ MIR_BUG(*this, "get_const_type - Not a constant " << *e.p);
}
),
(ItemAddr,
MonomorphState p;
- auto v = m_resolve.get_value(this->sp, e, p, /*signature_only=*/true);
+ auto v = m_resolve.get_value(this->sp, *e, p, /*signature_only=*/true);
TU_MATCHA( (v), (ve),
(NotFound,
MIR_BUG(*this, "get_const_type - ItemAddr points to unknown value - " << c);
@@ -325,7 +325,7 @@ const ::HIR::TypeRef& MIR::TypeResolve::get_param_type(::HIR::TypeRef& tmp, cons
::HIR::FunctionType ft;
ft.is_unsafe = false;
ft.m_abi = ABI_RUST;
- auto enum_path = e.clone();
+ auto enum_path = e->clone();
enum_path.m_data.as_Generic().m_path.m_components.pop_back();
ft.m_rettype = box$( ::HIR::TypeRef::new_path(mv$(enum_path), ve.e) );
ft.m_arg_types.reserve(str_data.size());
@@ -348,7 +348,7 @@ const ::HIR::TypeRef& MIR::TypeResolve::get_param_type(::HIR::TypeRef& tmp, cons
::HIR::FunctionType ft;
ft.is_unsafe = false;
ft.m_abi = ABI_RUST;
- ft.m_rettype = box$( ::HIR::TypeRef::new_path( ::HIR::GenericPath(*ve.p, e.m_data.as_Generic().m_params.clone()), &str) );
+ ft.m_rettype = box$( ::HIR::TypeRef::new_path( ::HIR::GenericPath(*ve.p, e->m_data.as_Generic().m_params.clone()), &str) );
ft.m_arg_types.reserve(str_data.size());
for(const auto& fld : str_data)
ft.m_arg_types.push_back( p.monomorph(this->sp, fld.ent) );