Issue #6502 has been reported by mame (Yusuke E.).
Bug #6502: include Syslog
Author: mame (Yusuke E.)
Status: Assigned
Priority: Low
Assignee: knu (Akinori MUSHA)
Category:
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-05-26 trunk 35811) [i686-linux]
knu さん
http://d.hatena.ne.jp/nagachika/20120521#r35737
で指摘されていますが、Syslog#inspect が rb_define_module_function なのは意図的でしょうか。
rb_define_singleton_method の方が適切なように思います。
具体的には、以下のように include したクラスが inspect できません。
$ ruby -rsyslog -e ‘class A; include Syslog; end; p A.new’
-e:1:in inspect': wrong argument type A (expected Module) (TypeError) from -e:1:in
p’
from -e:1:in `’
r35737 前はこのコードで SEGV していたようなので、改善されたのは確かです。
–
Yusuke E. [email protected]
Issue #6502 has been updated by knu (Akinori MUSHA).
Target version changed from 2.0.0 to 2.1.0
これ、Syslogをクラスからモジュールに変えた大昔のコードですね。
もはやSyslogは継承できないのでそれが正しそうです。2.1.0までに直します。
Bug #6502: include Syslog
Author: mame (Yusuke E.)
Status: Assigned
Priority: Low
Assignee: knu (Akinori MUSHA)
Category:
Target version: 2.1.0
ruby -v: ruby 2.0.0dev (2012-05-26 trunk 35811) [i686-linux]
knu さん
http://d.hatena.ne.jp/nagachika/20120521#r35737
で指摘されていますが、Syslog#inspect が rb_define_module_function なのは意図的でしょうか。
rb_define_singleton_method の方が適切なように思います。
具体的には、以下のように include したクラスが inspect できません。
$ ruby -rsyslog -e ‘class A; include Syslog; end; p A.new’
-e:1:in inspect': wrong argument type A (expected Module) (TypeError) from -e:1:in
p’
from -e:1:in `’
r35737 前はこのコードで SEGV していたようなので、改善されたのは確かです。
–
Yusuke E. [email protected]