たぶんScala2.12.0-M3のコンパイラのバグ見つけた

https://issues.scala-lang.org/browse/SI-9542


とあるライブラリの2.12.0-M3ビルドしてみようとする
https://github.com/xuwei-k/Lenses/commit/22683bc46d119b6

変なエラー出る。変なエラーとは、具体的には

  • 2.12.0-M3以外ではコンパイル通る
  • type mismatchのエラーメッセージだが、foundとrequiredの型が、見た目上どう見ても同じ
  • 単なるコンパイルエラーの状態ではなく、実質crashした状態で終了してる?

もともとライブラリのコード少なかったけど、もう少しコード少なくしてわかりやすくしてみる

https://github.com/xuwei-k/probably-scalac-bug

  • package objectだからか?と思ったけど、関係なさそう
  • value classは関係あるっぽい

上記のgithubのURLをscalaコミッターの人がいるgitterに「これって既知のissueです?」って投稿

https://gitter.im/scala/contributors?at=5631bc0190cea42a0584123e

どうやら既知ではないらしい?なんだったら中の人がissue作ってくれるか、一瞬で直してくれればー、とおもったけど、どうやら作ってくれてないようなので、自分でJIRAのチケット作成(イマココ

https://issues.scala-lang.org/browse/SI-9542




ここから余談(?)

やはり、こういうバグはありえるので、scala-js対応より、最新のマイルストーンScalaのビルドを早めにやって、本体のバグ発見にできるだけ貢献していきたい。
scala-jsさん、scalatestやscalacheckやshapelessなどがscala-js対応していることにより、何よりもはやく2.12のマイルストーン出たら対応してほしいのに、動きが遅くてモヤモヤしますね・・・

https://github.com/scala-js/scala-js/pull/1942#issuecomment-148965077