Skip to content

Instantly share code, notes, and snippets.

@joescii
Created March 12, 2016 23:56
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 joescii/06ac44261a50c53812a3 to your computer and use it in GitHub Desktop.
Save joescii/06ac44261a50c53812a3 to your computer and use it in GitHub Desktop.
Non-exhaustive pattern match warning
package com.joescii.sbtjs
import com.gargoylesoftware.htmlunit. { BrowserVersion => HUBrowserVersion }
import HUBrowserVersion._
sealed trait Browser
object Browsers extends Browsers
trait Browsers {
case object Firefox38 extends Browser
case object InternetExplorer8 extends Browser
case object InternetExplorer11 extends Browser
case object Chrome extends Browser
case object Edge extends Browser
}
private [sbtjs] object BrowserVersion {
import Browsers._
def apply(b:Browser):HUBrowserVersion = b match {
case Firefox38 => FIREFOX_38
case InternetExplorer8 => INTERNET_EXPLORER_8
case InternetExplorer11 => INTERNET_EXPLORER_11
case Chrome => CHROME
case Edge => EDGE
}
}
[warn] C:\code\sbt-js-test\src\main\scala\com\joescii\sbtjs\Browser.scala:20: match may not be exhaustive.
[warn] It would fail on the following inputs: Chrome, Edge, Firefox38, InternetExplorer11, InternetExplorer8
[warn] def apply(b:Browser):HUBrowserVersion = b match {
[warn] ^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment