Issue #8966 has been updated by nobu (Nobuyoshi Nakada).

Description updated

What should happen in that case?
Printing "foo", or raising a NameError?
----------------------------------------
Bug #8966: SEGV when a refined method is undefined by undef
https://bugs.ruby-lang.org/issues/8966#change-42082

Author: shugo (Shugo Maeda)
Status: Assigned
Priority: Normal
Assignee: shugo (Shugo Maeda)
Category: core
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-09-27 trunk 43073) [i686-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


=begin
The following code causes SEGV:

  module Foo
    refine Object do
      def foo
        puts "foo"
      end
    end
  end
  
  using Foo
  
  class Object
    undef foo
  end
  
  foo

I guess undef is not aware of refinements.
=end


-- 
http://bugs.ruby-lang.org/