mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-22 00:41:28 +00:00
fixes #2134
This commit is contained in:
@@ -156,7 +156,7 @@ proc semForFields(c: PContext, n: PNode, m: TMagic): PNode =
|
||||
dec(c.p.nestedLoopCounter)
|
||||
# for TR macros this 'while true: ...; break' loop is pretty bad, so
|
||||
# we avoid it now if we can:
|
||||
if hasSonWith(stmts, nkBreakStmt):
|
||||
if containsNode(stmts, {nkBreakStmt}):
|
||||
var b = newNodeI(nkBreakStmt, n.info)
|
||||
b.add(ast.emptyNode)
|
||||
stmts.add(b)
|
||||
|
||||
33
tests/fields/tfields_with_break.nim
Normal file
33
tests/fields/tfields_with_break.nim
Normal file
@@ -0,0 +1,33 @@
|
||||
discard """
|
||||
output: '''(one: 1, two: 2, three: 3)
|
||||
1
|
||||
2
|
||||
3
|
||||
(one: 4, two: 5, three: 6)
|
||||
4
|
||||
(one: 7, two: 8, three: 9)
|
||||
7
|
||||
8
|
||||
9'''
|
||||
"""
|
||||
|
||||
# bug #2134
|
||||
type
|
||||
TestType = object
|
||||
one: int
|
||||
two: int
|
||||
three: int
|
||||
|
||||
var
|
||||
ab = TestType(one:1, two:2, three:3)
|
||||
ac = TestType(one:4, two:5, three:6)
|
||||
ad = TestType(one:7, two:8, three:9)
|
||||
tstSeq = [ab, ac, ad]
|
||||
|
||||
for tstElement in mitems(tstSeq):
|
||||
echo tstElement
|
||||
for tstField in fields(tstElement):
|
||||
#for tstField in [1,2,4,6]:
|
||||
echo tstField
|
||||
if tstField == 4:
|
||||
break
|
||||
Reference in New Issue
Block a user