summary refs log tree commit diff stats
path: root/tests/notnil
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2018-08-19 15:14:03 +0200
committerAndreas Rumpf <rumpf_a@web.de>2018-08-19 15:14:03 +0200
commit696c0c48c7c794453b79d2abf45c3f390a9b6fba (patch)
tree8a74e09ce97f64ea0e3377f6440a2e79d54ce0fd /tests/notnil
parent7ac6462cbd30bcdb1c3805fbb06be13b3346ce2a (diff)
parentf2263cd129ff41259db99c68e98f966a681adf78 (diff)
downloadNim-696c0c48c7c794453b79d2abf45c3f390a9b6fba.tar.gz
fixes merge conflict
Diffstat (limited to 'tests/notnil')
-rw-r--r--tests/notnil/tmust_compile.nim20
-rw-r--r--tests/notnil/tnotnil.nim12
-rw-r--r--tests/notnil/tnotnil1.nim15
-rw-r--r--tests/notnil/tnotnil_in_objconstr.nim8
4 files changed, 9 insertions, 46 deletions
diff --git a/tests/notnil/tmust_compile.nim b/tests/notnil/tmust_compile.nim
index a32c6c7ec..d09dda057 100644
--- a/tests/notnil/tmust_compile.nim
+++ b/tests/notnil/tmust_compile.nim
@@ -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]()
diff --git a/tests/notnil/tnotnil.nim b/tests/notnil/tnotnil.nim
index e392b155c..aff3f8959 100644
--- a/tests/notnil/tnotnil.nim
+++ b/tests/notnil/tnotnil.nim
@@ -1,5 +1,5 @@
 discard """
-  line: 22
+  line: 13
   errormsg: "type mismatch"
 """
 {.experimental: "notnil".}
@@ -8,16 +8,6 @@ type
   TObj = object
     x: int
 
-  MyString = string not nil
-
-#var x: PObj = nil
-
-proc p(x: string not nil): int =
-  result = 45
-
-proc q(x: MyString) = discard
 proc q2(x: string) = discard
 
 q2(nil)
-q(nil)
-
diff --git a/tests/notnil/tnotnil1.nim b/tests/notnil/tnotnil1.nim
index 7f9d02295..60666d64d 100644
--- a/tests/notnil/tnotnil1.nim
+++ b/tests/notnil/tnotnil1.nim
@@ -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
 
diff --git a/tests/notnil/tnotnil_in_objconstr.nim b/tests/notnil/tnotnil_in_objconstr.nim
index d33709906..f0d5c1ae2 100644
--- a/tests/notnil/tnotnil_in_objconstr.nim
+++ b/tests/notnil/tnotnil_in_objconstr.nim
@@ -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