File tree 3 files changed +18
-5
lines changed
tests/run-custom-args/run-macros-erased
3 files changed +18
-5
lines changed Original file line number Diff line number Diff line change 1
1
case erased: [erased case]
2
- case erased nested: -10
2
+ case erased nested: c
3
+ case erased nested 2: d
Original file line number Diff line number Diff line change @@ -9,12 +9,17 @@ def testExprImpl(body: Expr[Any])(using Quotes): Expr[String] =
9
9
case ' { def erasedfn (erased y : String ) = " placeholder" ; $a(erasedfn): String } =>
10
10
' { $a((erased z : String ) => " [erased case]" ) }
11
11
case ' {
12
- def erasedfn (a : Int )( b : Int ): Int = a
12
+ def erasedfn (a : String , b : String )( c : String , d : String ): String = a
13
13
$y(erasedfn): String
14
14
} => Expr (" This should not match" )
15
15
case ' {
16
- def erasedfn (a : Int )(erased b : Int ): Int = a
16
+ def erasedfn (a : String , erased b : String )(erased c : String , d : String ): String = a
17
17
$y(erasedfn): String
18
18
} =>
19
- ' { $y((a : Int ) => (erased b : Int ) => - a) }
19
+ ' { $y((a : String , erased b : String ) => (erased c : String , d : String ) => d) }
20
+ case ' {
21
+ def erasedfn (a : String , erased b : String )(c : String , erased d : String ): String = a
22
+ $y(erasedfn): String
23
+ } =>
24
+ ' { $y((a : String , erased b : String ) => (c : String , erased d : String ) => c) }
20
25
case _ => Expr (" not matched" )
Original file line number Diff line number Diff line change 1
1
@ main def Test : Unit =
2
2
println(" case erased: " + testExpr { def erasedfn1 (erased x : String ) = " placeholder" ; erasedfn1(" arg1" )})
3
- println(" case erased nested: " + testExpr { def erasedfn2 (p : Int )(erased q : Int ) = p; erasedfn2(10 )(0 ).toString() })
3
+ println(" case erased nested: " + testExpr {
4
+ def erasedfn2 (p : String , erased q : String )(r : String , erased s : String ) = p
5
+ erasedfn2(" a" , " b" )(" c" , " d" )
6
+ })
7
+ println(" case erased nested 2: " + testExpr {
8
+ def erasedfn2 (p : String , erased q : String )(erased r : String , s : String ) = p
9
+ erasedfn2(" a" , " b" )(" c" , " d" )
10
+ })
You can’t perform that action at this time.
0 commit comments