mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 18:02:05 +00:00
41 lines
432 B
Nim
41 lines
432 B
Nim
discard """
|
|
errormsg: "'y' is provably nil"
|
|
line:38
|
|
"""
|
|
|
|
import strutils
|
|
|
|
|
|
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) =
|
|
nil
|
|
|
|
proc p() =
|
|
var x: pointer
|
|
if not x.isNil:
|
|
q(x)
|
|
|
|
let y = x
|
|
if not y.isNil:
|
|
q(y)
|
|
else:
|
|
q(y)
|
|
|
|
p()
|