diff options
author | John Hodge <tpg@mutabah.net> | 2016-05-26 11:04:04 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-05-26 11:04:04 +0800 |
commit | 81d89041e8500d9f6dfab9c55aee76967a5233f1 (patch) | |
tree | 26452d9973421d917921548e1b2b63950a6ca52b /src/hir/from_ast.cpp | |
parent | dd7680bc0d53f02e4b96b2b3896ebea16742c9bb (diff) | |
download | mrust-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.cpp | 15 |
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, |