Skip to content

Commit 63e70bc

Browse files
committed
Add test cases for erased parameters
1 parent 7a1c9fd commit 63e70bc

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
case erased: [erased case]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import scala.quoted.*
2+
3+
inline def testExpr(inline body: Any) = ${ testExprImpl('body) }
4+
def testExprImpl(body: Expr[Any])(using Quotes): Expr[String] =
5+
body match
6+
// Erased Types
7+
case '{ def erasedfn(y: String) = "placeholder"; $a(erasedfn): String } =>
8+
Expr("This case should not match")
9+
case '{ def erasedfn(erased y: String) = "placeholder"; $a(erasedfn): String } =>
10+
'{ $a((erased z: String) => "[erased case]") }
11+
case _ => Expr("not matched")
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@main def Test: Unit =
2+
println("case erased: " + testExpr { def erasedfn1(erased x: String) = "placeholder"; erasedfn1("arg1")})

0 commit comments

Comments
 (0)