@@ -1687,4 +1687,40 @@ class InlayHintsSuite extends BaseInlayHintsSuite {
16871687 |}
16881688 |""" .stripMargin
16891689 )
1690+
1691+ @ Test def `xray-metals-i8021` =
1692+ check(
1693+ """ |object Main:
1694+ |
1695+ | case class Order(id: String, amount: BigDecimal)
1696+ | case class User(name: String, orders: List[Order])
1697+ |
1698+ | val users = List(
1699+ | User("Alice", List(Order("A1", 100), Order("A2", 50))),
1700+ | User("Bob", List(Order("B1", 200)))
1701+ | )
1702+ |
1703+ | val total = users
1704+ | .filter(_.name.startsWith("A"))
1705+ | .flatMap(_.orders)
1706+ | .map(_.amount)
1707+ | .sum
1708+ |""" .stripMargin,
1709+ """ |object Main:
1710+ |
1711+ | case class Order(id: String, amount: BigDecimal)
1712+ | case class User(name: String, orders: List[Order])
1713+ |
1714+ | val users/*: List<<scala/collection/immutable/List#>>[User<<(4:13)>>]*/ = List/*[User<<(4:13)>>]*/(
1715+ | /*elems = */User(/*name = */"Alice", /*orders = */List/*[Order<<(3:13)>>]*/(/*elems = */Order(/*id = */"A1", /*int2bigDecimal<<scala/math/BigDecimal.int2bigDecimal().>>(*//*amount = */100/*)*/), Order(/*id = */"A2", /*int2bigDecimal<<scala/math/BigDecimal.int2bigDecimal().>>(*//*amount = */50/*)*/))),
1716+ | User(/*name = */"Bob", /*orders = */List/*[Order<<(3:13)>>]*/(/*elems = */Order(/*id = */"B1", /*int2bigDecimal<<scala/math/BigDecimal.int2bigDecimal().>>(*//*amount = */200/*)*/)))
1717+ | )
1718+ |
1719+ | val total/*: BigDecimal<<scala/math/BigDecimal#>>*/ = users
1720+ | .filter(/*p = */_.name.startsWith("A"))/*: List<<scala/collection/immutable/List#>>[User<<(4:13)>>]*/
1721+ | .flatMap/*[Order<<(3:13)>>]*/(/*f = */_.orders)/* : List<<scala/collection/immutable/List#>>[Order<<(3:13)>>]*/
1722+ | .map/*[BigDecimal<<scala/math/BigDecimal#>>]*/(/*f = */_.amount)/* : List<<scala/collection/immutable/List#>>[BigDecimal<<scala/math/BigDecimal#>>]*/
1723+ | .sum/*[BigDecimal<<scala/math/BigDecimal#>>]*//*(using BigDecimalIsFractional<<scala/math/Numeric.BigDecimalIsFractional.>>)*//* : BigDecimal<<scala/math/BigDecimal#>>*/
1724+ |""" .stripMargin
1725+ )
16901726}
0 commit comments