This commit is contained in:
Araq
2013-05-31 02:27:05 +02:00
parent 1c6ce881ec
commit 24955f8358
2 changed files with 7 additions and 4 deletions

View File

@@ -920,7 +920,7 @@ proc builtinFieldAccess(c: PContext, n: PNode, flags: TExprFlags): PNode =
result = check
elif ty.kind == tyTuple and ty.n != nil:
f = getSymFromList(ty.n, i)
if f != nil:
if f != nil:
n.sons[0] = makeDeref(n.sons[0])
n.sons[1] = newSymNode(f)
n.typ = f.typ
@@ -1582,6 +1582,7 @@ proc semTupleFieldsConstr(c: PContext, n: PNode, flags: TExprFlags): PNode =
flags*{efAllowDestructor})
var f = newSymS(skField, n.sons[i].sons[0], c)
f.typ = skipIntLit(n.sons[i].sons[1].typ)
f.position = i
rawAddSon(typ, f.typ)
addSon(typ.n, newSymNode(f))
n.sons[i].sons[0] = newSymNode(f)

View File

@@ -1,5 +1,8 @@
# Test various aspects
var x = (x: 42, y: (a: 8, z: 10))
echo x.y
import
mvarious
@@ -31,7 +34,7 @@ var
r.b.a.x = 0
global = global + 1
exportme()
write(stdout, "Hallo wie hei<EFBFBD>t du? ")
write(stdout, "Hallo wie heißt du? ")
write(stdout, getPA().x)
s = readLine(stdin)
i = 0
@@ -39,5 +42,4 @@ while i < s.len:
if s[i] == 'c': write(stdout, "'c' in deinem Namen gefunden\n")
i = i + 1
write(stdout, "Du hei<EFBFBD>t " & s)
write(stdout, "Du heißt " & s)