Issue #10731 has been updated by Usaku NAKAMURA.

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE to 2.0.0: DONE, 2.1: REQUIRED, 2.2: DONE

ruby_2_0_0 r49425 merged revision(s) 49221.
test is a little changed to get rid of a warning about refinement on 2.0.0.

----------------------------------------
Bug #10731: Segmentation fault when create alias to refined method
https://bugs.ruby-lang.org/issues/10731#change-51239

* Author: Seiei Higa
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-01-12 trunk 49218) [x86_64-darwin14]
* Backport: 2.0.0: DONE, 2.1: REQUIRED, 2.2: DONE
----------------------------------------
following code cause segmentation fault, both `foo` and `bar` is not defined in refined class, in trunk and 2.2.0, 2.1.5, 2.0.0

``` ruby
class C
end

module RefinementBug
  refine C do
    def foo
    end

    def bar
    end
  end
end

class C
  alias foo bar
end
```

it should be raise a NameError if the original method of the refined method is not exist, like undef (#8966).

---Files--------------------------------
ruby_2015-01-12-135103_Nil.crash (11.3 KB)
bug.rb (128 Bytes)
0001-vm_method.c-raise-a-NameError-when-create-alias-to-r.patch (1.77 KB)


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