Scala 2 version of the code that compiles - Scastie - An interactive playground for Scala
Same code in Scala 3 does not compile - Scastie - An interactive playground for Scala
What is the reason for not allowing this in Scala 3?
Scala 2 version of the code that compiles - Scastie - An interactive playground for Scala
Same code in Scala 3 does not compile - Scastie - An interactive playground for Scala
What is the reason for not allowing this in Scala 3?
My intuition is that Scala 3 does the right thing - if I mark the constructor private, I probably want the generated apply()
to be private, too. Otherwise it should be marked private[Foo]
.
Perhaps a manifestation of this issue? At least the -Xsource
options mentioned there seem to make this fail in 2.13, as well.
UPDATE: This code creates an infinite loop on the apply
method. Adding “new” is required. Please see my reply below for the fixed Scastie.
Here’s the code that “cures” the issue in Scala 3:
I think you made Zoo.apply
loop infinitely.
Ah. I think you may be right. Do I need to put “new” in front of it, like this?
Adding “new” seemed to work.