リファクタリングした
http://bitbucket.org/mzp/scalet/
思いつくまま書いていたら、だいぶコードがへんな臭いを発するようになってきた。なので、Scala特有のimplicit converionやExtractorを使ってばりばり書き直してみた。
その間に、「Extracotrの挙動が変だー」とTwitterで叫んでたら、id:kmizushimaさんが逆コンパイルして確認して、Tracに登録までしてくれた。しかもチケットに載っているコードもボクが作った最小コードよりも短かくて分かりやすくなっている。実にありがたい話です。
ところで、バグの原因としてコンパイラを疑うことはよくあるけど、ホントにコンパイラが原因だったのはこれが初めてかもしれない。
#1697(Compiler generates wrong code from some code using extractor)