Skip to content

Instantly share code, notes, and snippets.

@darkfrog26
Created November 28, 2018 17:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darkfrog26/f28a8f8d56cce8345aa8ef7f069fe8fc to your computer and use it in GitHub Desktop.
Save darkfrog26/f28a8f8d56cce8345aa8ef7f069fe8fc to your computer and use it in GitHub Desktop.
sealed trait MyOption[+A] extends Any {
def isEmpty: Boolean
def isDefined: Boolean
}
class MySome[+A](val value: A) extends AnyVal with MyOption[A] {
def isEmpty: Boolean = false
def isDefined: Boolean = true
}
object MyNone extends MyOption[Nothing] {
def isEmpty: Boolean = true
def isDefined: Boolean = false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment