blob: 4c3c38ca58beb6604fdd3ef7fc3e53b6474f0495 (
plain) (
blame)
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
|