summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/semexprs.nim3
-rw-r--r--tests/compile/tvarious.nim8
2 files changed, 7 insertions, 4 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim
index e07821d1f..03730f30c 100644
--- a/compiler/semexprs.nim
+++ b/compiler/semexprs.nim
@@ -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)
diff --git a/tests/compile/tvarious.nim b/tests/compile/tvarious.nim
index 52dd46184..087233226 100644
--- a/tests/compile/tvarious.nim
+++ b/tests/compile/tvarious.nim
@@ -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ß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ßt " & s)

-

+write(stdout, "Du heißt " & s)