Skip to content

Commit 8598403

Browse files
committed
Add regression test
1 parent 0e36bb7 commit 8598403

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

tests/pos-macros/i22585/Macro.scala

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import scala.quoted.*
2+
3+
trait Hammer[I, O] {
4+
def hammer(input: I): O
5+
}
6+
7+
object Hammer {
8+
inline def makeProductHammerMacro[I, O](): Hammer[I, O] =
9+
${ makeProductHammerMacroImpl[I, O] }
10+
11+
def makeProductHammerMacroImpl[I: Type, O: Type](using Quotes): Expr[Hammer[I, O]] =
12+
'{ makeHammer[I, O]() }
13+
14+
inline def makeHammer[S, O](): Hammer[S, O] =
15+
new Hammer[S, O] {
16+
lazy val (hammer: Hammer[?, Int], idx: Int) = ???
17+
18+
override def hammer(input: S): O = {
19+
hammer.hammer(???.asInstanceOf).asInstanceOf[O]
20+
}
21+
}
22+
}

tests/pos-macros/i22585/Main.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
object HammerSpec {
2+
case class A(x: Int)
3+
case class B(x: Int)
4+
Hammer.makeProductHammerMacro[A, B]()
5+
}

0 commit comments

Comments
 (0)