diff --git a/tests/init/neg/i12544.scala b/tests/init/neg/i12544.scala new file mode 100644 index 000000000000..2692c27134e0 --- /dev/null +++ b/tests/init/neg/i12544.scala @@ -0,0 +1,19 @@ +enum Enum: + case Case + case Case2(x: Int) + +def g(b: Enum.B): Int = b.foo() + +object Enum: + object nested: + val a: Enum = Case + + val b: Enum = f(nested.a) + + def f(e: Enum): Enum = e + + class B() { def foo() = n + 1 } + g(new B()) // error + val n: Int = 10 + +@main def main(): Unit = println(Enum.b) diff --git a/tests/init/pos/i12544.scala b/tests/init/pos/i12544.scala new file mode 100644 index 000000000000..e5e3c9a2ade2 --- /dev/null +++ b/tests/init/pos/i12544.scala @@ -0,0 +1,12 @@ +enum Enum: + case Case + +object Enum: + object nested: + val a: Enum = Case + + val b: Enum = f(nested.a) + + def f(e: Enum): Enum = e + +@main def main(): Unit = println(Enum.b)