From: matz@... Date: 2020-06-18T05:27:46+00:00 Subject: [ruby-core:98854] [Ruby master Bug#11669] inconsitent behavior of refining frozen class Issue #11669 has been updated by matz (Yukihiro Matsumoto). Refinement should be able to apply to frozen classes. Go ahead. Matz. ---------------------------------------- Bug #11669: inconsitent behavior of refining frozen class https://bugs.ruby-lang.org/issues/11669#change-86216 * Author: naruse (Yui NARUSE) * Status: Assigned * Priority: Normal * Assignee: matz (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/ Unsubscribe: