Skip to content

Commit 2019aab

Browse files
authored
Merge pull request #491 from scala/backport-lts-3.3-23484
Backport "Add regression test for issue 22585" to 3.3 LTS
2 parents fb700f3 + 4e8c35c commit 2019aab

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)