[ruby-dev:31720] Re: [BUG] non-initialized struct

From: "U.Nakamura" <usa@...>
Date: 2007-09-03 02:42:40 UTC
List: ruby-dev #31720
こんにちは、なかむら(う)です。

In message "[ruby-dev:31719] Re: [BUG] non-initialized struct"
    on Sep.03,2007 11:35:47, <nobu@ruby-lang.org> wrote:
| > 1.8でも同様なのでとりあえず1.8で見てみましたが、こんな感じで
| > しょうか?
| 
| rb_struct_s_members()でチェックすることにして、[BUG]じゃなくて
| TypeErrorかなにかにするというのはどうでしょうか。

ArgumentErrorなのはMarshal.loadの他のパターンでも同様っぽいの
でそうしたのですが、rb_struct_s_members()の方で例外にするなら
TypeErrorでしょうね。

しかし、そもそもStructじゃない物に対してrb_struct_s_members()
を呼ぶというコードはどう考えてもバグってるわけで、そこで[BUG]
が出るのもmarshal側でチェックすべきだというのも正当な考え方と
いう気もします。


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>



In This Thread