summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hir_typeck/common.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/hir_typeck/common.cpp b/src/hir_typeck/common.cpp
index fa83723c..742f22c4 100644
--- a/src/hir_typeck/common.cpp
+++ b/src/hir_typeck/common.cpp
@@ -255,9 +255,11 @@ bool monomorphise_type_needed(const ::HIR::TypeRef& tpl)
),
(Array,
if( e.size_val == ~0u ) {
- BUG(sp, "Attempting to clone array with unknown size - " << tpl);
+ rv = ::HIR::TypeRef( ::HIR::TypeRef::Data::make_Array({ box$(clone_ty_with(sp, *e.inner, callback)), e.size, ~0u }) );
+ }
+ else {
+ rv = ::HIR::TypeRef::new_array( clone_ty_with(sp, *e.inner, callback), e.size_val );
}
- rv = ::HIR::TypeRef::new_array( clone_ty_with(sp, *e.inner, callback), e.size_val );
),
(Slice,
rv = ::HIR::TypeRef::new_slice( clone_ty_with(sp, *e.inner, callback) );