Skip to content

Commit f6e171b

Browse files
Add tests for constructor arguments with side effects
1 parent 7e2952c commit f6e171b

4 files changed

+55
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
0
2+
0
3+
1
4+
0
5+
1
6+
2
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
inline trait A(i: Int):
2+
val x = i
3+
val y = i
4+
5+
class B(i: Int) extends A(i)
6+
7+
@main def Test =
8+
var c = 0
9+
10+
val b1 = new B({
11+
for i <- 0 to c
12+
do println(i)
13+
c += 1
14+
c
15+
})
16+
val b2 = new B({
17+
for i <- 0 to c
18+
do println(i)
19+
c += 1
20+
c
21+
})
22+
val b3 = new B({
23+
for i <- 0 to c
24+
do println(i)
25+
c += 1
26+
c
27+
})
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
0
2+
0
3+
1
4+
0
5+
1
6+
2
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
inline trait A(i: Int):
2+
val x = i
3+
val y = i
4+
5+
class B(i: Int) extends A(i)
6+
7+
@main def Test =
8+
var c = 0
9+
10+
for _ <- 0 until 3
11+
do new B({
12+
for i <- 0 to c
13+
do println(i)
14+
c += 1
15+
c
16+
})

0 commit comments

Comments
 (0)