From: Yusuke ENDOH Date: 2010-12-07T21:00:06+09:00 Subject: [ruby-dev:42715] Re: 1.9.x release and trunk branch policy 遠藤です。 2010年12月7日0:47 NARUSE, Yui : > (2010/12/07 0:34), Yusuke ENDOH wrote: >> まず確認ですが、 >> >> - ruby_1_9 は当分切らない (少なくとも 1.9.3 リリースまでは) >> - trunk のブランチから次に出るリリースは 1.9.3 >> - 1.9.x 中で互換性は壊れない (キーワードの追加とかはまずない) >> - 2.0 も compatible を目指すということですし >> >> というのは確定ということでよいでしょうか。 > > 「1.9.x 中で互換性」の「互換性」を「後方互換性」にすれば理解通りです。 ありがとうございます。ただ、この確認については authority (まつもとさん・ Yugui さん) の言質が欲しいと思っています。 >> そこで、experimental であることを機能として示すのはどうでしょう。 >> 具体的には、 >> >> 1. RubyVM.enable_experimental_feature というメソッドを呼ばないと >> 使えない >> 2. require "experimental.so" しないと使えない >> 3. --experimental-feature というオプションを与えないと使えない >> 4. experimental feature gem を入れないと使えない >> 5. CFLAGS=-DEXPERIMENTAL_FEATURE でビルドしないと使えない >> >> などが考えられると思います。 > > 3, 5 は「Ruby はビルドによって挙動が異なるべきでない」という方針に反しますね。 わかりにくかったですが 3 は ruby 実行ファイルへのオプションです。 > 一方で、1, 2 は Rails とかが内部で ON にするようにした時点で崩壊します。 > 4 でさえも Rails が experimental gem に依存した時点で終了でしょう。 彼らは (コーナーケースが仕様かどうかの) 空気を読むのは下手ですが、 ドキュメントなど自然言語は重視するので、こういうメソッド名やファイル名 ならその心配はない気がします。が、 > というわけで、 > 6. experimental な feature では warning を出す > を追加で 確かにこれが最もローコストで効果的ですね。 -- Yusuke Endoh