mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
44 lines
759 B
Nim
44 lines
759 B
Nim
discard """
|
|
output: "yay"
|
|
cmd: "nim c --gc:arc $file"
|
|
"""
|
|
|
|
# bug #15122
|
|
|
|
import tables
|
|
|
|
type
|
|
BENodeKind* = enum
|
|
tkEof,
|
|
tkBytes,
|
|
tkList,
|
|
tkDict
|
|
|
|
BENode* = object
|
|
case kind: BENodeKind
|
|
of tkBytes: strVal: string
|
|
of tkList: listVal: seq[BENode]
|
|
of tkDict: dictVal*: Table[string, BENode]
|
|
else:
|
|
discard
|
|
|
|
proc unused(s: string): BENode =
|
|
# bad:
|
|
result = BENode(kind: tkBytes, strVal: "abc")
|
|
|
|
proc main =
|
|
var data = {
|
|
"examples": {
|
|
"values": BENode(
|
|
kind: tkList,
|
|
listVal: @[BENode(kind: tkBytes, strVal: "test")]
|
|
)
|
|
}.toTable()
|
|
}.toTable()
|
|
|
|
# For ARC listVal is empty for some reason
|
|
doAssert data["examples"]["values"].listVal[0].strVal == "test"
|
|
|
|
main()
|
|
echo "yay"
|