From: naruse@... Date: 2015-11-09T05:38:35+00:00 Subject: [ruby-core:71391] [Ruby trunk - Bug #11669] [Assigned] inconsitent behavior of refining frozen class Issue #11669 has been reported by Yui NARUSE. ---------------------------------------- Bug #11669: inconsitent behavior of refining frozen class https://bugs.ruby-lang.org/issues/11669 * Author: Yui NARUSE * Status: Assigned * Priority: Normal * Assignee: Yukihiro Matsumoto * ruby -v: ruby 2.3.0dev (2015-10-26 trunk 52291) [x86_64-darwin15] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Is this expected behavior? ```ruby class C def foo p 1 end end module Foo refine C do def foo p 2 end end end using Foo C.new.foo #=> 2 C.freeze module Foo refine C do def foo p 3 end def bar #=> can't modify frozen class (RuntimeError) p 3 end end end C.new.foo C.new.bar ``` ``` ruby 2.3.0dev (2015-10-26 trunk 52291) [x86_64-darwin15] 2 test.rb:21:in `block in ': can't modify frozen class (RuntimeError) from test.rb:17:in `refine' from test.rb:17:in `' from test.rb:16:in `
' ``` -- https://bugs.ruby-lang.org/