Nim/tests/ccgbugs/t13062.nim

27 lines
409 B
Nim

discard """
output: "[p = nil]"
targets: "c cpp"
"""
import atomics
type
Pledge* {.exportc.} = object
p: PledgePtr
PledgeKind {.exportc.} = enum
Single
Iteration
PledgePtr {.exportc.} = ptr object
case kind: PledgeKind
of Single:
impl: PledgeImpl
of Iteration:
discard
PledgeImpl {.exportc.} = object
fulfilled: Atomic[bool]
var x: Pledge
echo x.repr