Skip to content

Commit 5422ac2

Browse files
committed
Add more testcases for this PR
1 parent b2697e7 commit 5422ac2

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

tests/pos/i4345.scala

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,54 @@ class Context {
33
type Tree
44
}
55

6-
class Test {
6+
class TestSimple {
77
@tailrec
88
final def loop(c: Context)(trees: List[c.Tree]): Boolean =
99
loop(c)(trees)
1010

1111
@tailrec
1212
final def loop2(c: Context, trees: List[c.Tree]): Boolean =
1313
loop2(c, trees)
14+
15+
@tailrec
16+
final def loop3[A <: Context](c: A, trees: List[c.Tree]): Boolean =
17+
loop3(c, trees)
18+
}
19+
20+
class TestVCParameterized[C <: Context](val classC: C) extends AnyVal {
21+
@tailrec
22+
final def loop(c: C)(trees: List[c.Tree]): List[c.Tree] =
23+
loop(c)(trees)
24+
25+
@tailrec
26+
final def loop2(c: C, trees: List[c.Tree]): List[c.Tree] =
27+
loop2(c, trees)
28+
29+
@tailrec
30+
final def loop3[A <: C](c: A, trees: List[c.Tree]): List[c.Tree] =
31+
loop3(c, trees)
32+
33+
@tailrec
34+
final def loop4(trees: List[classC.Tree]): List[classC.Tree] =
35+
loop4(trees)
36+
37+
def loopNonRec(c: C)(trees: List[c.Tree]): List[c.Tree] = {
38+
loopNonRec(c)(trees)
39+
loopNonRec(c)(trees)
40+
}
41+
42+
def loopNonRec2(c: C, trees: List[c.Tree]): List[c.Tree] = {
43+
loopNonRec2(c, trees)
44+
loopNonRec2(c, trees)
45+
}
46+
47+
def loopNonRec3[A <: Context](c: A, trees: List[c.Tree]): List[classC.Tree] = {
48+
loopNonRec3(c, trees)
49+
loopNonRec3(c, trees)
50+
}
51+
52+
def loopNonRec4(trees: List[classC.Tree]): List[classC.Tree] = {
53+
loopNonRec4(trees)
54+
loopNonRec4(trees)
55+
}
1456
}

0 commit comments

Comments
 (0)