The below code compiles fine (it is a simple companion object tutorial)
scala> :paste
// Entering paste mode (ctrl-D to finish)
trait Colours { def printColour: Unit }
object Colours {
private class Red extends Colours { override def printColour = { println ("colour is Red")} }
def apply : Colours = new Red
}
// Exiting paste mode, now interpreting.
defined trait Colours
defined object Colours
when i try
val r = Colours
it works fine, but when i use
r.printColour
I get an error
<console>:17: error: value printColour is not a member of object Colours
r.printColour