make more tests green; system.repr does not produce 'nil' for strings and seqs anymore

This commit is contained in:
Araq
2018-08-22 15:37:57 +02:00
parent dbd21d670c
commit 27f488e5d9
4 changed files with 10 additions and 7 deletions

View File

@@ -29,7 +29,9 @@ proc reprStrAux(result: var string, s: cstring; len: int) =
if cast[pointer](s) == nil:
add result, "nil"
return
add result, reprPointer(cast[pointer](s)) & "\""
if len > 0:
add result, reprPointer(cast[pointer](s))
add result, "\""
for i in 0 .. pred(len):
let c = s[i]
case c
@@ -162,9 +164,10 @@ when not defined(useNimRtl):
proc reprSequence(result: var string, p: pointer, typ: PNimType,
cl: var ReprClosure) =
if p == nil:
add result, "nil"
add result, "[]"
return
result.add(reprPointer(p) & "[")
result.add(reprPointer(p))
result.add '['
var bs = typ.base.size
for i in 0..cast[PGenericSeq](p).len-1:
if i > 0: add result, ", "

View File

@@ -35,7 +35,7 @@ proc main() {.async.} =
fut = newFutureVar[string]()
let retFut = failureTest(fut, true)
yield retFut
doAssert(fut.read().isNil)
doAssert(fut.read().len == 0)
doAssert(fut.finished)
fut = newFutureVar[string]()

View File

@@ -3,8 +3,8 @@ discard """
0
0
0
[[a = nil,
b = nil]]'''
[[a = "",
b = []]]'''
"""
# bug #1475

View File

@@ -245,7 +245,7 @@ proc findLoops(self: var HavlakLoopFinder): int =
# - the list of backedges (backPreds) or
# - the list of non-backedges (nonBackPreds)
#
for w in 0 .. <size:
for w in 0 ..< size:
header[w] = 0
types[w] = BB_NONHEADER