12345678910111213141516171819202122232425262728293031 |
- discard """
- matrix: "--mm:refc; --mm:orc"
- 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
- when defined(gcRefc):
- doAssert x.repr == "[p = nil]"
- elif not defined(cpp): # fixme # bug #20081
- doAssert x.repr == "Pledge(p: nil)"
|