ScalaのHashSetのバグ見つけた

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を積極的に活用

が効果的ですね