diff --git a/runtime/internal/arrayInit.d b/runtime/internal/arrayInit.d index 5485699c..c597fb29 100644 --- a/runtime/internal/arrayInit.d +++ b/runtime/internal/arrayInit.d @@ -151,7 +151,7 @@ size_t _d_array_cast_len(size_t len, size_t elemsz, size_t newelemsz) if (newelemsz == 1) { return len*elemsz; } - else if (len % newelemsz) { + else if ((len*elemsz) % newelemsz) { throw new Exception("Bad array cast"); } return (len*elemsz)/newelemsz;