From 649f9f98efe3f1b138c34f3762a5feba9dde457c Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 30 Oct 2016 16:13:02 +0800 Subject: HIR Typecheck Expr - Perfom coercions in casts --- src/hir_typeck/expr_cs.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') 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), -- cgit v1.2.3