diff options
author | Araq <rumpf_a@web.de> | 2014-02-14 23:47:06 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-02-14 23:47:06 +0100 |
commit | 2b9311e9f185c5cb95a7ce70035efce63b4e6d89 (patch) | |
tree | 0d9badb43095eda89f351b3594c232d3a0554219 /tests | |
parent | cf544f6a850e2d3cf4ffe9640a57ada7aaa502dc (diff) | |
download | Nim-2b9311e9f185c5cb95a7ce70035efce63b4e6d89.tar.gz |
fixes #584
Diffstat (limited to 'tests')
-rw-r--r-- | tests/effects/teffects6.nim | 2 | ||||
-rw-r--r-- | tests/notnil/tnotnil3.nim | 35 |
2 files changed, 36 insertions, 1 deletions
diff --git a/tests/effects/teffects6.nim b/tests/effects/teffects6.nim index 54200f2c3..47c85c160 100644 --- a/tests/effects/teffects6.nim +++ b/tests/effects/teffects6.nim @@ -4,7 +4,7 @@ type PMenuItem = ref object proc createMenuItem*(menu: PMenu, label: string, - action: proc (i: PMenuItem, p: pointer) {.cdecl.}) = nil + action: proc (i: PMenuItem, p: pointer) {.cdecl.}) = discard var s: PMenu createMenuItem(s, "Go to definition...", diff --git a/tests/notnil/tnotnil3.nim b/tests/notnil/tnotnil3.nim new file mode 100644 index 000000000..b7c7a811d --- /dev/null +++ b/tests/notnil/tnotnil3.nim @@ -0,0 +1,35 @@ +discard """ + errormsg: "cannot prove 'variable' is not nil" + line: 31 +""" + +# bug #584 +# Testprogram for 'not nil' check + +const testWithResult = true + +type + A = object + B = object + C = object + a: ref A + b: ref B + + +proc testNotNil(c: ref C not nil) = + discard + + +when testWithResult: + proc testNotNilOnResult(): ref C = + new(result) + #result.testNotNil() # Here 'not nil' can't be proved + + +var variable: ref C +new(variable) +variable.testNotNil() # Here 'not nil' is proved + +when testWithResult: + discard testNotNilOnResult() + |