scalaz7.1とspecs2の2.4より前のversionおよびplay2.3以前のテストモジュールはバイナリ互換ないので同時に使えません

結構Scalaz勉強会でここ強調して言ったつもりだったけど、1日で2人もハマってる人みかけたので


specs2の2.3.x以前はscalaz7.0.xに依存してます。specs2の2.4.0以降はscalaz7.1.xに依存してます。
play2のテストモジュールは、play2.3以前はずっとspecs2(の2.3以前)に依存してます。

よって、標題の通り、最新のscalaz7.1と組み合わせて使えません。

これ

https://github.com/playframework/playframework/pull/3330

がmergeされたので、play2.4ではおそらくscalaz7.1.xが使えるようになるでしょう(逆にscalaz7.0.xとは互換性なくなります)。また、あくまでのplay2のspecs2依存はテストのモジュールのみなので、それやspecs2を使わなければ、playのversionに関係なく好きなscalazのversionが使えます。



追記: あと、play2.4からplayのtestのモジュールがspecs2に依存する部分としない部分に分かれてより使いやすくなりました。


stack overflow にも同じ質問あったので答えておいた
http://stackoverflow.com/a/25494902/605582