Domanda

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?

È stato utile?

Soluzione

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top