Project

General

Profile

Bug #8855

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

Added by kachick (Kenichi Kamiya) over 6 years ago. Updated about 1 month ago.

Status:
Closed
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の間に違いが出る理由に思い至らなかったので、パッチを書いてみました。
御確認下さい。

Associated revisions

Revision d00551a7
Added by jeremyevans (Jeremy Evans) about 1 month ago

[ruby/forwardable] Make def_{instance,single}delegators skip :send_ and :id

Previously, send and id were skipped if provided as strings,
but not skipped if provided as symbols.

Fixes Ruby Bug 8855.

https://github.com/ruby/forwardable/commit/2e61c8c66c

History

Updated by kachick (Kenichi Kamiya) over 6 years ago

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

Updated by usa (Usaku NAKAMURA) over 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) over 6 years ago

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

Updated by jeremyevans0 (Jeremy Evans) 4 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

#5

Updated by jeremyevans0 (Jeremy Evans) about 1 month ago

  • Status changed from Assigned to Closed

Updated by nagachika (Tomoyuki Chikanaga) about 1 month ago

merged into ruby core at d00551a7bb1d5dbabb0a8c95d6bd2d9d4e86934a

Also available in: Atom PDF