File: tnotnil4.nim

package info (click to toggle)
nim 0.19.4-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 462,356 kB
  • sloc: sh: 11,089; ansic: 4,699; makefile: 706; python: 309; sql: 297; asm: 141; xml: 13
file content (22 lines) | stat: -rw-r--r-- 358 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
discard ""
type
   TObj = ref object

{.experimental: "notnil".}

proc check(a: TObj not nil) =
  echo repr(a)

proc doit() =
   var x : array[0..1, TObj]

   if x[0] != nil:
      check(x[0])

doit()

# bug #2352

proc p(x: proc() {.noconv.} not nil) = discard
p(proc() {.noconv.} = discard)
# Error: cannot prove 'proc () {.noconv.} = discard ' is not nil