From: james@... Date: 2016-10-11T18:45:34+00:00 Subject: [ruby-core:77591] [Ruby trunk Bug#12832] Calling Object#method hangs for private method defined on module then made public once it's been used to extend class Issue #12832 has been reported by James Mead. ---------------------------------------- Bug #12832: Calling Object#method hangs for private method defined on module then made public once it's been used to extend class https://bugs.ruby-lang.org/issues/12832 * Author: James Mead * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0] onwards * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- ~~~ ruby module Foo private def foo "foo" end end class Bar extend Foo class << self public :foo end end Bar.foo # => "foo" Bar.method(:foo) # => # module Baz end class Bar class << self prepend Baz end end Bar.method(:foo) # => hangs! ~~~ ## Runs OK * ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-darwin14.5.0] * ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin14.0] * ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin14.0] * ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0] ## Hangs on last line * ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0] * ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0] * ruby 2.1.10p492 (2016-04-01 revision 54464) [x86_64-darwin14.0] * ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin14] * ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14] * ruby 2.4.0preview2 (2016-09-09 trunk 56129) [x86_64-darwin14] -- https://bugs.ruby-lang.org/ Unsubscribe: