- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Serious problem at Enumeration.values
Thu, 2010-12-09, 23:27
Hi,
it seems that 'Enumeration.values' in 2.8.1 contains one extra value 'Value'.
It does not show on first invocation, but on second and latter
Here is test case:
object EnumTest {
def main(args:Array[String]){
object WeekDay extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
WeekDay.values.foreach(s=>print(s+", "))
// >> Mon, Tue, Wed, Thu, Fri, Sat, Sun,
println("")
WeekDay.values.foreach(s=>print(s+", "))
// >> Mon, Tue, Wed, Thu, Fri, Sat, Sun, Value,
println("")
println("Enum size: "+WeekDay.values.size)
// >> Enum size: 8
//assertion fails
assert(WeekDay.values.size == 7)
}
}
Should I report this?
Regards,
Jan Kotek
Searching for "enumeration values" in trac gives you among top results
#3687.
Thanks,
hubert
On 12/09/2010 11:27 PM, Jan Kotek wrote:
> Hi,
>
> it seems that 'Enumeration.values' in 2.8.1 contains one extra value 'Value'.
> It does not show on first invocation, but on second and latter
>
> Here is test case:
>
> object EnumTest {
> def main(args:Array[String]){
>
> object WeekDay extends Enumeration {
> type WeekDay = Value
> val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
> }
>
> WeekDay.values.foreach(s=>print(s+", "))
> //>> Mon, Tue, Wed, Thu, Fri, Sat, Sun,
> println("")
> WeekDay.values.foreach(s=>print(s+", "))
> //>> Mon, Tue, Wed, Thu, Fri, Sat, Sun, Value,
> println("")
> println("Enum size: "+WeekDay.values.size)
> //>> Enum size: 8
> //assertion fails
> assert(WeekDay.values.size == 7)
>
>
> }
> }
>
>
> Should I report this?
>
> Regards,
> Jan Kotek