parent
16e8005031
commit
d430216288
2 changed files with 23 additions and 0 deletions
|
|
@ -719,6 +719,8 @@ proc getConstExpr(m: PSym, n: PNode; g: ModuleGraph): PNode =
|
||||||
result.typ = n.typ
|
result.typ = n.typ
|
||||||
of nkBracketExpr: result = foldArrayAccess(m, n, g)
|
of nkBracketExpr: result = foldArrayAccess(m, n, g)
|
||||||
of nkDotExpr: result = foldFieldAccess(m, n, g)
|
of nkDotExpr: result = foldFieldAccess(m, n, g)
|
||||||
|
of nkCheckedFieldExpr:
|
||||||
|
result = foldFieldAccess(m, n[0], g)
|
||||||
of nkStmtListExpr:
|
of nkStmtListExpr:
|
||||||
var i = 0
|
var i = 0
|
||||||
while i <= n.len - 2:
|
while i <= n.len - 2:
|
||||||
|
|
|
||||||
|
|
@ -223,3 +223,24 @@ type MyObj = object
|
||||||
var a = MyObj(kind: false, x0: 1234)
|
var a = MyObj(kind: false, x0: 1234)
|
||||||
a.kind = true
|
a.kind = true
|
||||||
doAssert(a.x1 == "")
|
doAssert(a.x1 == "")
|
||||||
|
|
||||||
|
block:
|
||||||
|
# bug #15532
|
||||||
|
type Kind = enum
|
||||||
|
k0, k1
|
||||||
|
|
||||||
|
type Foo = object
|
||||||
|
y: int
|
||||||
|
case kind: Kind
|
||||||
|
of k0: x0: int
|
||||||
|
of k1: x1: int
|
||||||
|
|
||||||
|
const j0 = Foo(y: 1, kind: k0, x0: 2)
|
||||||
|
const j1 = Foo(y: 1, kind: k1, x1: 2)
|
||||||
|
|
||||||
|
doAssert j0.y == 1
|
||||||
|
doAssert j0.kind == k0
|
||||||
|
doAssert j1.kind == k1
|
||||||
|
|
||||||
|
doAssert j1.x1 == 2
|
||||||
|
doAssert j0.x0 == 2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue