From d958535969e616d7e79bc14ac471492ada5a0ce4 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Thu, 29 Jan 2009 17:45:12 +0100 Subject: [PATCH] Remove asserts on array consistancy in arraysetlength. Fixes #184, thanks Deewiant. --- runtime/internal/lifetime.d | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/internal/lifetime.d b/runtime/internal/lifetime.d index 1d410bba..09f2e7b9 100644 --- a/runtime/internal/lifetime.d +++ b/runtime/internal/lifetime.d @@ -607,7 +607,9 @@ extern (C) byte* _d_arraysetlengthT(TypeInfo ti, size_t newlength, size_t plengt in { assert(ti); - assert(!plength || pdata); +// This assert on array consistency may fail with casts or in unions. +// This function still does something sensible even if plength && !pdata. +// assert(!plength || pdata); } body { @@ -698,7 +700,9 @@ Loverflow: extern (C) byte* _d_arraysetlengthiT(TypeInfo ti, size_t newlength, size_t plength, byte* pdata) in { - assert(!plength || pdata); +// This assert on array consistency may fail with casts or in unions. +// This function still does something sensible even if plength && !pdata. +// assert(!plength || pdata); } body {