Skip to content

Commit 2769196

Browse files
committed
Cleanup tests
1 parent 689ac77 commit 2769196

File tree

5 files changed

+23
-4
lines changed

5 files changed

+23
-4
lines changed

tests/run/erased-inline-product.scala renamed to tests/run/erased-inline-product-1.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ inline def size[T]: Long =
1818
case _ => error(s"unsupported type")
1919

2020
@main def Test =
21-
println(size[(Int, Long)])
21+
assert(size[(Int, Long)] == 12)

tests/run/erased-inline-product-2.check

Lines changed: 0 additions & 1 deletion
This file was deleted.

tests/run/erased-inline-product-2.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ inline def size[T]: Long =
1818
case _ => error(s"unsupported type")
1919

2020
@main def Test =
21-
println(size[(Int, Long)])
21+
assert(size[(Int, Long)] == 12)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import scala.compiletime.{erasedValue, summonInline, error}
2+
3+
inline def sizeTuple[T <: Tuple](): Long =
4+
inline erasedValue[T] match
5+
case _: EmptyTuple => 0
6+
case _: (h *: t) => size[h] + sizeTuple[t]()
7+
8+
inline def sizeProduct[T](m: scala.deriving.Mirror.ProductOf[T]): Long =
9+
sizeTuple[m.MirroredElemTypes]()
10+
11+
inline def size[T]: Long =
12+
inline erasedValue[T] match
13+
case _: Char => 2
14+
case _: Int => 4
15+
case _: Long => 8
16+
case _: Double => 8
17+
case _: Product => sizeProduct[T](summonInline[scala.deriving.Mirror.ProductOf[T]])
18+
case _ => error(s"unsupported type")
19+
20+
@main def Test =
21+
assert(size[(Int, Long)] == 12)

tests/run/erased-inline-product.check

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)