Issue #6502 has been reported by mame (Yusuke Endoh). ---------------------------------------- Bug #6502: include Syslog https://bugs.ruby-lang.org/issues/6502 Author: mame (Yusuke Endoh) 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 `<main>' r35737 前はこのコードで SEGV していたようなので、改善されたのは確かです。 -- Yusuke Endoh <mame@tsg.ne.jp>
on 2012-05-26 19:54
on 2013-02-18 05:23
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 https://bugs.ruby-lang.org/issues/6502#change-36490 Author: mame (Yusuke Endoh) 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 `<main>' r35737 前はこのコードで SEGV していたようなので、改善されたのは確かです。 -- Yusuke Endoh <mame@tsg.ne.jp>
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.