Open
Description
A simple example of enumeration
object Test {
object MyEnum extends Enumeration {
val Z = Value(12)
}
import MyEnum._
def main(args: Array[String]) {
println(MyEnum.values)
}
}
produces (as expected):
MyEnum.ValueSet(Z)
Add another value to the enumeration:
val Foo = Value(2000000000)
produces:
MyEnum.ValueSet()
But this gets even better when you add
val Bar = Value(-2000000000)
because it gives you
java.lang.IllegalArgumentException: requirement failed
at scala.Predef$.require(Predef.scala:204)
at scala.collection.mutable.BitSet.add(BitSet.scala:74)
at scala.collection.mutable.BitSet.$plus$eq(BitSet.scala:92)
at scala.Enumeration$ValueSet$$anon$1.$plus$eq(Enumeration.scala:283)
at scala.Enumeration$ValueSet$$anon$1.$plus$eq(Enumeration.scala:281)
at scala.collection.generic.Growable$$anonfun$$plus$plus$eq$1.apply(Growable.scala:48)
at scala.collection.generic.Growable$$anonfun$$plus$plus$eq$1.apply(Growable.scala:48)
at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:107)
at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:107)
at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:204)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
at scala.collection.mutable.HashMap$$anon$2.foreach(HashMap.scala:107)
at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
at scala.Enumeration$ValueSet$$anon$1.$plus$plus$eq(Enumeration.scala:281)
at scala.Enumeration.values(Enumeration.scala:93)
at Test$.main(t5588.scala:10)
at Test.main(t5588.scala)