mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-13 06:43:52 +00:00
updated always wrong test case
This commit is contained in:
@@ -40,7 +40,7 @@ proc `=destroy`*[T](x: var myseq[T]) =
|
||||
x.len = 0
|
||||
x.cap = 0
|
||||
|
||||
proc `=`*[T](a: var myseq[T]; b: myseq[T]) =
|
||||
proc `=copy`*[T](a: var myseq[T]; b: myseq[T]) =
|
||||
if a.data == b.data: return
|
||||
if a.data != nil:
|
||||
`=destroy`(a)
|
||||
@@ -66,6 +66,11 @@ proc `=sink`*[T](a: var myseq[T]; b: myseq[T]) =
|
||||
a.cap = b.cap
|
||||
a.data = b.data
|
||||
|
||||
proc `=wasMoved`*[T](a: var myseq[T]) =
|
||||
a.data = nil
|
||||
a.len = 0
|
||||
a.cap = 0
|
||||
|
||||
proc resize[T](s: var myseq[T]) =
|
||||
if s.cap == 0: s.cap = 8
|
||||
else: s.cap = (s.cap * 3) shr 1
|
||||
@@ -118,7 +123,7 @@ template `[]=`*[T](x: myseq[T]; i: Natural; y: T) =
|
||||
proc createSeq*[T](elems: varargs[T]): myseq[T] =
|
||||
result.cap = elems.len
|
||||
result.len = elems.len
|
||||
result.data = cast[type(result.data)](alloc(result.cap * sizeof(T)))
|
||||
result.data = cast[type(result.data)](alloc0(result.cap * sizeof(T)))
|
||||
inc allocCount
|
||||
when supportsCopyMem(T):
|
||||
copyMem(result.data, addr(elems[0]), result.cap * sizeof(T))
|
||||
|
||||
Reference in New Issue
Block a user