Scala 2.11.3 が生まれる前に死んでしまった話

↓に関して、https://gitter.im/scalajp/public で盛り上がってた内容をまとめました。

avatar

なぜこんなことになってしまうのだろう(未調査) https://github.com/skinny-framework/skinny-framework/issues/193

avatar

これ Skinny 側で何か work around できないですかね https://github.com/skinny-framework/skinny-framework/issues/193#issuecomment-58773130

avatar

2.11.3 を指定して build した Scalatra を scalaVersion := "2.11.0" なアプリから利用するのは問題なさそうだった。となると Scalatra に 2.11.3 でビルドした 2.3.1 を出してもらうようお願いするのが手っ取り早いのかな。こういう問題への対処、それでいいのかという気はするけど、ユーザが困ってしまうので。

avatar

Scalatra に issue 立てるのはまだ早いのでまずは scala-lang の JIRA へ...

avatar

2.11.3 の scala.collection.TraversableLike の呼び出すメソッドが変わったってこと,,?

avatar

bincompat-backward.whitelist.conf に

+    // see github.com/scala/scala/pull/3925, SI-8627, SI-6440
+    {
+        matchName="scala.collection.TraversableLike.filterImpl"
+        problemName=MissingMethodProblem
+    },

というのが増えてるな

avatar

これは影響範囲が大きすぎるような。

avatar

これが該当の変更かな? https://github.com/scala/scala/pull/3949 なぜ例外が起きるのかわかってないけど。

avatar

privateからprivate[scala]にすると、どちらにしろソース上はprivateだから問題なさそうに見えるけど、内部表現結構変わるとかそういう...

avatar

scalatraが標準ライブラリのコレクションを継承してることも一因だろうか。まぁ本当にあの変更が原因なら、scala本体側が明らかに悪そうだけど

avatar

2.11.3 はまだ様子見しよう...

avatar

これ、confに書いてるから確信犯だよなー。そんなに重要な修正だった and/or 他に修正方法なかったのだろうか。dbuildは全部同じversionでビルドやり直すから、こういう問題は多分検知されないし

avatar

キタコレ! play2でも trait Cookies extends Traversable[Cookie] というのあるから、Scala 2.11.3 使って、request.cookies.filter とかするとAbstractMethodError 発生する! https://github.com/playframework/playframework/blob/2.3.5/framework/src/play/src/main/scala/play/api/mvc/Http.scala#L683

avatar

@xuwei-k 2.11.3 はお蔵入り決定ですね

avatar

キタ━━━━(゜∀゜)━━━━ッ!!

gakuzzzz

キタ━━━━(゜∀゜)━━━━ッ!!

seraphr

2.11.3 生まれる前に死んでしまったか…

avatar

R.I.P. 2.11.3

avatar

scala-internalsのメーリングリストで SI-8899 の話が始まらないのだけど、(時差とかあるし)まだ気づいてないか問題の重要性認識してる人が少ないのか、いやこの程度なら予定通り出すのか、それともclosedなところでtypesafeの人たちは既に話を始めているのか。もうしばらく待って(待たなくても?) 「えっ、明らかにバイナリ互換崩れてるのに、予定通り 2.11.3 公式アナウンスするつもりなんですか?」って scala-internals のメーリングリストに誰か投稿したほうが?

avatar

スクリーンショット 2014-10-12 23.42.03.png

avatar

とりあえず知らせといた https://groups.google.com/d/msg/scala-internals/ZSx-ZW69BJA/bFF8PtjdzpsJ

avatar

お、はやい。ありがとうございます :+1:

avatar

:+1:

gakuzzzz

:+1:

avatar

おっ、このtweet https://twitter.com/xuwei_k/status/521272044663894016 がScalatra作者にretweetされたり、Scalazコミッターからmention来たりして広まってきた > /dev/null

avatar

お、「別の重要な問題も見つかったんだ」的な返信きてる・・・

avatar

"[SI-8900] Assertion failure in isAnonymousOrLocalClass - Scala" https://issues.scala-lang.org/browse/SI-8900

avatar

元のやつも、バグのPriorityをコミッターの人が1番上か2番目?に上げてるし、まぁ重要性は伝わってるみたいなので、あとは見守るしかないな

avatar

:pray:

avatar

BlockerでFix versionが2.11.4ってことは2.11.3はこのままお蔵入りか

avatar

2.11.3のtagできててcentralにもあがってるから、2.11.3がtarget versionのままではおかしいから、とりあえずtarget versionを2.11.4にあげただけで、お蔵入りかどうかなどの詳細はまだ決まってなさそう(というあくまでも予想)

アルパカの人より自分のほうがdbuildの仕組みとか把握してるっぽい https://twitter.com/extempore2/status/521379266789797888 し、とりあえずrevetして https://github.com/scala/scala/pull/4048 2.11.4 をはやめに出す方向になりそう?だし、大体予想通りなので言うこと無い > /dev/null

avatar

https://github.com/scalaz/scalaz/commit/6a1354d74#commitcomment-8130530 a few daysらしい

avatar

Also note 2.11.3 wasn't fully released (pushing binaries to Sonatype isn't the last step in the process).

アナウンスするまでがリリースってことかな

avatar

とりあえず、ぎりぎり公式アナウンス前に地雷踏んでくれた瀬良さんに感謝ですね・・・

avatar

ですね。アナウンス前なのでさほど混乱はなさそう。