diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/notnil/tnotnil_in_generic.nim | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/notnil/tnotnil_in_generic.nim b/tests/notnil/tnotnil_in_generic.nim new file mode 100644 index 000000000..1e2d8b940 --- /dev/null +++ b/tests/notnil/tnotnil_in_generic.nim @@ -0,0 +1,27 @@ +discard """ + errormsg: "cannot prove 'x' is not nil" +""" + +# bug #2216 + +type + A[T] = ref object + x: int + ud: T + +proc good[T](p: A[T]) = + discard + +proc bad[T](p: A[T] not nil) = + discard + + +proc go() = + let s = A[int](x: 1) + + good(s) + bad(s) + var x: A[int] + bad(x) + +go() |