Pregunta

What's the difference between something being defined in the scala package object and in Predef?

Is Predef just a relic from pre-2.8 when package objects didn't exist, or is there some other reason why we need both?

¿Fue útil?

Solución

According to the ScalaDoc,

"The Predef object provides definitions that are accessible in all Scala compilation units without explicit qualification"

So, it is not a package object itself, but acts as one in terms of providing functionality to "all Scala compilation units"

As for why the situation exists, I think you are right, looks to be a legacy issue

As for why it persists, there may continue to be limitations of package objects that prevent PreDef from being merged.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top