File tree Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Expand file tree Collapse file tree 2 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ fn (mut p Parser) check_expr(precedence int) !ast.Expr {
53
53
} else if p.tok.kind == .question && p.peek_tok.kind == .amp {
54
54
node = p.prefix_expr ()
55
55
} else if p.inside_for_expr && p.tok.kind == .name && p.tok.lit[0 ].is_capital ()
56
- && p.peek_tok.kind == .lcbr && p.peek_token (2 ).kind == . name {
56
+ && p.peek_tok.kind == .lcbr && p.peek_token (2 ).kind in [.rcbr, . name] {
57
57
node = p.struct_init (p.mod + '.' + p.tok.lit, .normal, false )
58
58
} else {
59
59
if p.inside_comptime_if && p.is_generic_name () && p.peek_tok.kind != .dot {
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ fn (mut iter Iterator) next() ?int {
11
11
return none
12
12
}
13
13
14
- fn test_main () {
14
+ fn test_iterator_with_field_init () {
15
15
for k, x in Iterator{
16
16
counter: 10
17
17
} {
@@ -24,3 +24,24 @@ fn test_main() {
24
24
}
25
25
}
26
26
}
27
+
28
+ //
29
+
30
+ struct OddNumberIterator {
31
+ mut :
32
+ current i64
33
+ }
34
+
35
+ fn (mut i OddNumberIterator) next () ? i64 {
36
+ i.current + = 2
37
+ return i.current + 1
38
+ }
39
+
40
+ fn test_iterator_without_field_init () {
41
+ for x in OddNumberIterator{} {
42
+ dump (x)
43
+ if x > 10 {
44
+ break
45
+ }
46
+ }
47
+ }
You can’t perform that action at this time.
0 commit comments