Skip to content

Commit 84a5724

Browse files
committed
test clause interleaving and value class
1 parent 3b6e137 commit 84a5724

File tree

8 files changed

+107
-0
lines changed

8 files changed

+107
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//> using options -experimental
2+
3+
@main def Test: Unit =
4+
val u = Unrolled()
5+
TestV1().test(u)
6+
TestV2().test(u)
7+
TestV3().test(u)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//> using options -experimental
2+
3+
import scala.annotation.unroll
4+
5+
class Unrolled {
6+
final def foo(x: Int)[T](
7+
s: T,
8+
): String = "" + x + s
9+
}
10+
11+
class TestV1 {
12+
def test(u: Unrolled): Unit =
13+
assert(u.foo(0)("foo").startsWith("0foo"))
14+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//> using options -experimental
2+
3+
import scala.annotation.unroll
4+
5+
class Unrolled {
6+
final def foo(x: Int)[T](
7+
s: T,
8+
@unroll y: Boolean = true,
9+
): String = "" + x + s + y
10+
}
11+
12+
class TestV2 {
13+
def test(u: Unrolled): Unit =
14+
assert(u.foo(0)("foo").startsWith("0footrue"))
15+
assert(u.foo(0)("foo", false).startsWith("0foofalse"))
16+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//> using options -experimental
2+
3+
import scala.annotation.unroll
4+
5+
class Unrolled {
6+
final def foo(x: Int)[T](
7+
s: T,
8+
@unroll y: Boolean = true,
9+
@unroll i: Int = 0,
10+
): String = "" + x + s + y + i
11+
}
12+
13+
class TestV3 {
14+
def test(u: Unrolled): Unit =
15+
assert(u.foo(0)("foo").startsWith("0footrue0"))
16+
assert(u.foo(0)("foo", false).startsWith("0foofalse0"))
17+
assert(u.foo(0)("foo", false, 1).startsWith("0foofalse1"))
18+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//> using options -experimental
2+
3+
@main def Test: Unit =
4+
val u = Unrolled(0)
5+
TestV1().test(u)
6+
TestV2().test(u)
7+
TestV3().test(u)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//> using options -experimental
2+
3+
import scala.annotation.unroll
4+
5+
class Unrolled(val x: Int) extends AnyVal {
6+
final def foo(
7+
s: String,
8+
): String = "" + x + s
9+
}
10+
11+
class TestV1:
12+
def test(u: Unrolled): Unit =
13+
assert(u.foo("foo").startsWith("0foo"))
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//> using options -experimental
2+
3+
import scala.annotation.unroll
4+
5+
class Unrolled(val x: Int) extends AnyVal {
6+
final def foo(
7+
s: String,
8+
@unroll y: Boolean = true,
9+
): String = "" + x + s + y
10+
}
11+
12+
class TestV2:
13+
def test(u: Unrolled): Unit =
14+
assert(u.foo("foo").startsWith("0footrue"))
15+
assert(u.foo("foo", false).startsWith("0foofalse"))
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//> using options -experimental
2+
3+
import scala.annotation.unroll
4+
5+
class Unrolled(val x: Int) extends AnyVal {
6+
final def foo(
7+
s: String,
8+
@unroll y: Boolean = true,
9+
@unroll i: Int = 0
10+
): String = "" + x + s + y + i
11+
}
12+
13+
class TestV3:
14+
def test(u: Unrolled): Unit =
15+
assert(u.foo("foo").startsWith("0footrue0"))
16+
assert(u.foo("foo", false).startsWith("0foofalse0"))
17+
assert(u.foo("foo", false, 1).startsWith("0foofalse1"))

0 commit comments

Comments
 (0)