summary refs log blame commit diff stats
path: root/tests/effects/tgcsafe3.nim
blob: 5137efe4c58b2f0fd65c46b417896f9e69ff0465 (plain) (tree)




















                                                                                                       
discard """
  errormsg: "'myproc' is not GC-safe as it accesses 'global_proc' which is a global using GC'ed memory"
  line: 12
  cmd: "nim $target --hints:on --threads:on $options $file"
"""

var useGcMem = "string here"

var global_proc: proc(a: string) {.nimcall.} = proc (a: string) =
  echo useGcMem

proc myproc(i: int) {.gcsafe.} =
  when false:
    if global_proc != nil:
      echo "a"
    if isNil(global_proc):
      return

  global_proc("ho")

myproc(0)