blob: b2cb11eefb5dfcbe63fa3a90e49b7e47ffa98d42 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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()
|