Proposal to add top-level definitions (and replace package objects)

I want to understand something. Say I have:

\\File myLibTop.scala
trait JustALib {
  val foo : Int = 1
}
object myLib extends JustALib
\\File myLib.scala
package myLib
val foo2 : Int = foo

Will the above code compile? If not, why not?