From e083a1533b40ed768b2085852b714ea8e5564f4f Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Wed, 26 Jun 2019 19:34:05 +0200 Subject: fixes #11098 --- lib/system.nim | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/system.nim b/lib/system.nim index d6f117d39..2044f8056 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -997,8 +997,7 @@ proc newSeqOfCap*[T](cap: Natural): seq[T] {. ## assert len(x) == 1 discard -when not defined(JS) and not defined(gcDestructors): - # XXX enable this for --gc:destructors +when not defined(JS): proc newSeqUninitialized*[T: SomeNumber](len: Natural): seq[T] = ## Creates a new sequence of type ``seq[T]`` with length ``len``. ## @@ -1011,8 +1010,11 @@ when not defined(JS) and not defined(gcDestructors): ## assert len(x) == 3 ## x[0] = 10 result = newSeqOfCap[T](len) - var s = cast[PGenericSeq](result) - s.len = len + when defined(gcDestructors): + cast[ptr int](addr result)[] = len + else: + var s = cast[PGenericSeq](result) + s.len = len proc len*[TOpenArray: openArray|varargs](x: TOpenArray): int {. magic: "LengthOpenArray", noSideEffect.} -- cgit 1.4.1-2-gfad0