Files
Nim/tests/ccgbugs/tlvalueconv.nim
Clyybber 3cbc80045d Fix #14325 (#17308)
* Fix #14325
* Refactor and fix
2021-03-11 14:03:25 +01:00

33 lines
542 B
Nim

discard """
matrix: "--gc:refc; --gc:arc"
"""
# bug #14160
type
TPassContext = object of RootObj
PPassContext = ref TPassContext
PCtx = ref object of TPassContext
a: int
ModuleGraph = object
vm: RootRef
proc main() =
var g = ModuleGraph(vm: new(Pctx))
PCtx(g.vm) = nil #This generates invalid C code
doAssert g.vm == nil
main()
# bug #14325
proc main2() =
var g = ModuleGraph(vm: new(Pctx))
PPassContext(PCtx(g.vm)) = nil #This compiles, but crashes at runtime with gc:arc
doAssert g.vm == nil
main2()