From: nobu@... Date: 2016-09-22T03:03:49+00:00 Subject: [ruby-core:77345] [Ruby trunk Bug#12782] Forwardable breaks on private methods in ruby 2.4 Issue #12782 has been updated by Nobuyoshi Nakada. I suspect that it was a bug to able to delegate a private method. ---------------------------------------- Bug #12782: Forwardable breaks on private methods in ruby 2.4 https://bugs.ruby-lang.org/issues/12782#change-60589 * Author: Jeremy Evans * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0preview2 (2016-09-09 trunk 56129) [i386-openbsd] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Due to an optimization in r55376, attempting to forward to private methods no longer works in ruby 2.4. Among other things, this breaks haml template support in tilt. Example: ~~~ ruby require 'forwardable' class Foo private def foo; :foo end extend Forwardable def_delegator :itself, :foo, :bar end p Foo.new.bar ~~~ On ruby 2.3, this outputs :foo, on 2.4.0preview2 it raises NoMethodError. I think r55376 should be reverted, as the optimization it uses does not appear to be able to handle private method calls. -- https://bugs.ruby-lang.org/ Unsubscribe: