Bug #8855

{Single}Forwardable#def_delegators が、Stringでメソッド名を渡された時だけ __id__ と __send__ が取り除かれる

Added by Kenichi Kamiya 8 months ago. Updated 8 months ago.

[ruby-dev:47689]
Status:Assigned
Priority:Normal
Assignee:Keiju Ishitsuka
Category:lib
Target version:-
ruby -v:ruby 2.1.0dev (2013-08-27 trunk 42710) [x86_64-linux] Backport:1.9.3: UNKNOWN, 2.0.0: UNKNOWN

Description

https://github.com/ruby/ruby/pull/385

Forwardable#defdelegators と SingleForwardable#defdelegators ですが、
Stringでメソッド名を渡された時だけ idsend を取り除いているようです。
ここでStringとSymbolの間に違いが出る理由に思い至らなかったので、パッチを書いてみました。
御確認下さい。

History

#1 Updated by Kenichi Kamiya 8 months ago

すみません、タイトル等の編集途中に誤って送信してしまったのですが、修正する方法がわかりません・・・
またパッチと再現コードはgithub側へ添付済みなのですが、こちらへコピーした方がいいのでしょうか?

#2 Updated by Usaku NAKAMURA 8 months ago

  • Subject changed from {Single}Forwardable#def_delegators が、Stringでメソッド名を渡された時だけ __id__ to__send__ as String names. to {Single}Forwardable#def_delegators が、Stringでメソッド名を渡された時だけ __id__ と __send__ が取り除かれる
  • Status changed from Open to Assigned

たぶん権限がないとtitleは変更できないんじゃないかと思うので、変更しました。

githubにあるコードはURLの提示があるわけなので、いちいちコピーしなくてもいいと思います。

#3 Updated by Kenichi Kamiya 8 months ago

御対応ありがとうございます!
お手数をお掛けしました。

Also available in: Atom PDF