Create a gist now

Instantly share code, notes, and snippets.

object FooExample {
sealed trait Foo {
def i: Int
private case class SecretFoo(i: Int) extends Foo
/* Without the explicit return type, we'd get this compiler error:
* <console>:14: error: private class SecretFoo escapes its defining scope...
def buildFoo(i: Int): Either[String, Foo] = if (i < 0)
Left("Need non-negative integer!")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment