123456789101112131415161718192021222324252627 |
- discard """
- errormsg: "'mainUnsafe' is not GC-safe as it performs an indirect call here"
- line: 26
- cmd: "nim $target --hints:on --threads:on $options $file"
- """
- # bug #6955
- var global_proc: proc(a: string): int {.nimcall.} = nil
- proc myproc(i: int) {.gcsafe.} =
- if global_proc != nil:
- echo "a"
- if isNil(global_proc):
- return
- proc mymap(x: proc ()) {.effectsOf: x.} =
- x()
- var
- myglob: string
- proc mainSafe() {.gcsafe.} =
- mymap(proc () = echo "foo")
- proc mainUnsafe() {.gcsafe.} =
- mymap(proc () = myglob = "bar"; echo "foo", myglob)
|