make tests green again

This commit is contained in:
Araq 2018-08-13 23:16:03 +02:00
commit f91a181f58
8 changed files with 18 additions and 55 deletions

View file

@ -44,16 +44,16 @@ import json
type
foo = object
thing: string not nil
thing: ptr int not nil
CTS = ref object
subs_by_sid: Table[int, foo]
proc parse(cts: CTS, jn: JsonNode) =
var y = jn.getInt(4523)
let ces = foo(
thing: jn.getStr("thing")
thing: addr y
)
cts.subs_by_sid[0] = ces
@ -63,17 +63,3 @@ proc parse(cts: CTS, jn: JsonNode) =
proc p(x: proc(){.closure.} not nil) = discard
p(proc(){.closure.} = discard)
# bug #3993
type
List[T] = seq[T] not nil
proc `^^`[T](v: T, lst: List[T]): List[T] =
result = @[v]
result.add(lst)
proc Nil[T](): List[T] = @[]
when isMainModule:
let lst = 1 ^^ 2 ^^ Nil[int]()

View file

@ -1,6 +1,6 @@
discard """
errormsg: "'y' is provably nil"
line:38
line:25
"""
import strutils
@ -10,19 +10,6 @@ type
TObj = object
x, y: int
type
superstring = string not nil
proc q(s: superstring) =
echo s
proc p2() =
var a: string = "I am not nil"
q(a) # but this should and does not
p2()
proc q(x: pointer not nil) =
discard

View file

@ -6,9 +6,9 @@ discard """
# bug #2355
type
Foo = object
foo: string not nil
bar: string not nil
foo: ref int
bar: ref int not nil
var x: ref int = new(int)
# Create instance without initializaing the `bar` field
var f = Foo(foo: "foo")
var f = Foo(foo: x)
echo f.bar.isNil # true