Project

General

Profile

Bug #8855

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

Added by kachick (Kenichi Kamiya) about 6 years ago. Updated 2 months ago.

Status:
Assigned
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.1.0dev (2013-08-27 trunk 42710) [x86_64-linux]
Backport:
[ruby-dev:47689]

Description

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

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

History

Updated by kachick (Kenichi Kamiya) about 6 years ago

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

Updated by usa (Usaku NAKAMURA) about 6 years 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の提示があるわけなので、いちいちコピーしなくてもいいと思います。

Updated by kachick (Kenichi Kamiya) about 6 years ago

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

Updated by jeremyevans0 (Jeremy Evans) 2 months ago

  • Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN)

This bug is still present in the master branch. I've submitted a pull request to fix it: https://github.com/ruby/forwardable/pull/4

Also available in: Atom PDF