Closed
Description
minimized code
abstract class Test extends (Int => Int) {
def impl(i: Int): Int
def apply(i: Int): Int = -1
}
// ...
object Macros {
inline def dummy : Test =
(i: Int) => i + 1
inline def test : Int =
${ testImpl }
def testImpl(using: QuoteContext): Expr[Int]
Expr.betaReduce('{ dummy })('{ 5 })
}
// ...
object Test {
def main(argv: Array[String]): Unit =
println(s"${ Macros.test }")
}
Runtime output
6
expectation
-1