summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-10-30 16:13:02 +0800
committerJohn Hodge <tpg@mutabah.net>2016-10-30 16:13:02 +0800
commit649f9f98efe3f1b138c34f3762a5feba9dde457c (patch)
tree7feeead282b35341b0011ac9abf6979e4e474f4c /src
parent5b670937ed4f466a4b488aa820e2c310ee79e271 (diff)
downloadmrust-649f9f98efe3f1b138c34f3762a5feba9dde457c.tar.gz
HIR Typecheck Expr - Perfom coercions in casts
Diffstat (limited to 'src')
-rw-r--r--src/hir_typeck/expr_cs.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/hir_typeck/expr_cs.cpp b/src/hir_typeck/expr_cs.cpp
index 0cb01dcd..482c95c6 100644
--- a/src/hir_typeck/expr_cs.cpp
+++ b/src/hir_typeck/expr_cs.cpp
@@ -1969,7 +1969,10 @@ namespace {
ERROR(sp, E0000, "Non-scalar cast to " << this->context.m_ivars.fmt_type(tgt_ty));
),
(Borrow,
- TODO(sp, "Cast to borrow - coercion point");
+ // Emit a coercion and delete this revisit
+ this->context.equate_types_coerce(sp, tgt_ty, node.m_value);
+ this->m_completed = true;
+ return ;
),
(Pointer,
TU_MATCH_DEF( ::HIR::TypeRef::Data, (src_ty.m_data), (s_e),