diff --git a/compiler/test/dotc/pos-test-pickling.blacklist b/compiler/test/dotc/pos-test-pickling.blacklist index d1dd83f36ff7..86b14e584d15 100644 --- a/compiler/test/dotc/pos-test-pickling.blacklist +++ b/compiler/test/dotc/pos-test-pickling.blacklist @@ -94,3 +94,6 @@ i4176-gadt.scala i13974a.scala java-inherited-type1 + +# recursion limit exceeded +i7445b.scala diff --git a/tests/pos/i7445a.scala b/tests/pos/i7445a.scala new file mode 100644 index 000000000000..2b54166de3f0 --- /dev/null +++ b/tests/pos/i7445a.scala @@ -0,0 +1,10 @@ +// https://github.com/lampepfl/dotty/issues/7445 + +object Main { + type O1[A] = { + type OutInner[X] = Unit + type Out = OutInner[A] + } + + def f1: O1[Int]#Out = ??? +} diff --git a/tests/pos/i7445b.scala b/tests/pos/i7445b.scala new file mode 100644 index 000000000000..1d49479ef0a5 --- /dev/null +++ b/tests/pos/i7445b.scala @@ -0,0 +1,12 @@ +// https://github.com/lampepfl/dotty/issues/7445 + +type O1[A] = { + type OutInner[Ts] <: Tuple = Ts match { + case EmptyTuple => EmptyTuple + case h *: t => h *: OutInner[t] + } + + type Out = OutInner[A] +} + +def f1: O1[(Int, Int)]#Out = ???