[#37959] [Bug:trunk] I can modify literals — Yusuke ENDOH <mame@...>

遠藤です。

13 messages 2009/02/10

[#38005] Is URI.decode() broken? — MOROHASHI Kyosuke <moronatural@...>

もろはしです。いつもお世話になっております。

39 messages 2009/02/14
[#38006] Re: Is URI.decode() broken? — Nobuyoshi Nakada <nobu@...> 2009/02/14

なかだです。

[#38009] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/02/14

成瀬です、

[#38016] Re: Is URI.decode() broken? — Fujioka <fuj@...> 2009/02/15

xibbarこと藤岡です。

[#38017] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/02/15

成瀬です。

[#38040] Re: Is URI.decode() broken? — akira yamada / やまだあきら <akira@...> 2009/02/17

NARUSE, Yui さんは書きました:

[#38124] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/03/03

成瀬です。

[#39214] Re: Is URI.decode() broken? — akira yamada / やまだあきら <akira@...> 2009/09/02

(2009年03月03日 22:45), NARUSE, Yui さんは書きました:

[#39218] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/09/02

成瀬です。

[#39236] Re: Is URI.decode() broken? — Tanaka Akira <akr@...> 2009/09/05

In article <4A9E44DD.6050706@airemix.jp>,

[#39242] Re: Is URI.decode() broken? — KOSAKI Motohiro <kosaki.motohiro@...> 2009/09/07

小崎@思いつきを適当に書いてみるテスト

[#39246] Re: Is URI.decode() broken? — Tanaka Akira <akr@...> 2009/09/07

In article <20090907091830.2C7A.A69D9226@jp.fujitsu.com>,

[#38096] 多重代入やメソッド引数の展開でto_aが呼ばれます — nagachika <nagachika00@...>

nagachika と申します。

10 messages 2009/02/26

[#38098] ブロック引数と括弧・引数なしsuper — Shugo Maeda <shugo@...>

前田です。

12 messages 2009/02/27

[ruby-dev:37969] Re: [Bug:trunk] I can modify literals

From: Yukihiro Matsumoto <matz@...>
Date: 2009-02-12 01:34:51 UTC
List: ruby-dev #37969
まつもと ゆきひろです

In message "Re: [ruby-dev:37959] [Bug:trunk] I can modify literals"
    on Wed, 11 Feb 2009 02:16:05 +0900, Yusuke ENDOH <mame@tsg.ne.jp> writes:

|ObjectSpace を使うと種々のリテラルを書き換えることができてしまうようですが、
|仕様でしょうか。

うーん、ObjectSpaceってのはかなり裏技なんで、それを使って
「まずいこと」ができた場合、それを仕様と呼ぶのもバグと呼ぶの
も抵抗があります。

|バグだとして、リテラルを freeze するパッチを書きましたが、IRC では
|
|  - freeze で解決するのが正しいやり方なのか
|  - freeze しても finalizer が付け替えできるのではないか
|
|という感じの指摘がありました。どう直すのがよいでしょう。

後者はうささんに直してもらいました。前者については

  * ObjectSpaceは裏技。やる方が悪い(からバグじゃない)
  * 禁止できるものなら禁止した方がよい(からバグ)

の両方の考え方ができると思います。

....

いろいろ考えましたが、過去にもObjectSpaceの「まずいこと」に
手当てしてきた経緯がありますし、バグとみなすことにします。で、
その場合の修正方法ですが、freezeで構わないと思います。

パッチをコミットしてください。

In This Thread