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 33 34 35 36 37 38 39
|
discard """
output: "came here"
"""
#BUG
type
TAnyKind = enum
nkInt,
nkFloat,
nkString
TAny = object
case kind: TAnyKind
of nkInt: intVal: int
of nkFloat: floatVal: float
of nkString: strVal: string
var s: TAny
s = TAny(kind: nkString, strVal: "test")
var nr: TAny
s = TAny(kind: nkInt, intVal: 78)
# s = nr # works
nr = s # fails!
echo "came here"
block: # bug #12464
type
Foo = object
case isFunc: bool
of false: nil
of true:
fun: proc(): int
const i = Foo(isFunc: false)
let j = i
doAssert not j.isFunc
|