summary refs log blame commit diff stats
path: root/tests/ccgbugs/t13062.nim
blob: fed32a1f7363a3f529a75c89adab5c032c51cd6a (plain) (tree)


























                                    
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