summaryrefslogtreecommitdiff
path: root/src/hir/from_ast.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-05-26 11:04:04 +0800
committerJohn Hodge <tpg@mutabah.net>2016-05-26 11:04:04 +0800
commit81d89041e8500d9f6dfab9c55aee76967a5233f1 (patch)
tree26452d9973421d917921548e1b2b63950a6ca52b /src/hir/from_ast.cpp
parentdd7680bc0d53f02e4b96b2b3896ebea16742c9bb (diff)
downloadmrust-81d89041e8500d9f6dfab9c55aee76967a5233f1.tar.gz
HIR Cosnt Eval - Initial work, hits TODOs
Diffstat (limited to 'src/hir/from_ast.cpp')
-rw-r--r--src/hir/from_ast.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/hir/from_ast.cpp b/src/hir/from_ast.cpp
index df73d4ec..41ee37fd 100644
--- a/src/hir/from_ast.cpp
+++ b/src/hir/from_ast.cpp
@@ -463,10 +463,17 @@
return ::HIR::TypeRef( ::HIR::TypeRef::Data::make_Pointer({e.is_mut, box$(LowerHIR_Type(*e.inner))}) );
),
(Array,
- return ::HIR::TypeRef( ::HIR::TypeRef::Data::make_Array({
- box$( LowerHIR_Type(*e.inner) ),
- LowerHIR_Expr( e.size )
- }) );
+ if( e.size ) {
+ return ::HIR::TypeRef( ::HIR::TypeRef::Data::make_Array({
+ box$( LowerHIR_Type(*e.inner) ),
+ LowerHIR_Expr( e.size )
+ }) );
+ }
+ else {
+ return ::HIR::TypeRef( ::HIR::TypeRef::Data::make_Slice({
+ box$( LowerHIR_Type(*e.inner) )
+ }) );
+ }
),
(Path,