2.11.0-M8、もしくは、これ書いてる2014-2-12現在のmasterのみで発生。
2.11.0-M7以前や、2.10では発生しないっぽい。
https://issues.scala-lang.org/browse/SI-8264
2.11.0-M7からM8にかけて、以下の様にいくつかの最適化が行われたみたいだが
https://github.com/scala/scala/commit/afcfba02edf342
https://github.com/scala/scala/commit/034f6b9452265
たぶんそれでバグったのではないかな。
バグをしらないユーザーにとっては、かなり意味不明な挙動だし、デフォルトのimmutableなHashSetなので使う頻度多いし、わりと深刻なバグだと思う。まぁ原因はっきりしてそうなので、すぐ直るとはおもうけど。
なおったみたいです https://github.com/scala/scala/pull/3527
ところで、結局見つけたのは(Scalazをいじってる最中に)Scalacheckが見つけたので
- Scalaの開発に貢献したければ、とにかく最新versionいじってみる
- Scalacheckを積極的に活用
が効果的ですね