diff options
-rw-r--r-- | spec/ruby/core/symbol/to_proc_spec.rb | 8 | ||||
-rw-r--r-- | vm_insnhelper.c | 1 |
2 files changed, 5 insertions, 4 deletions
diff --git a/spec/ruby/core/symbol/to_proc_spec.rb b/spec/ruby/core/symbol/to_proc_spec.rb index 81939e0046..6d9c4bc622 100644 --- a/spec/ruby/core/symbol/to_proc_spec.rb +++ b/spec/ruby/core/symbol/to_proc_spec.rb @@ -58,8 +58,8 @@ describe "Symbol#to_proc" do @a = [] singleton_class.class_eval(&body) tap(&:pub) - proc{tap(&:pro)}.should raise_error(NoMethodError) - proc{tap(&:pri)}.should raise_error(NoMethodError) + proc{tap(&:pro)}.should raise_error(NoMethodError, /protected method `pro' called/) + proc{tap(&:pri)}.should raise_error(NoMethodError, /private method `pri' called/) @a.should == [:pub] @a = [] @@ -67,8 +67,8 @@ describe "Symbol#to_proc" do o = c.new o.instance_variable_set(:@a, []) o.tap(&:pub) - proc{tap(&:pro)}.should raise_error(NoMethodError) - proc{o.tap(&:pri)}.should raise_error(NoMethodError) + proc{tap(&:pro)}.should raise_error(NoMethodError, /protected method `pro' called/) + proc{o.tap(&:pri)}.should raise_error(NoMethodError, /private method `pri' called/) o.a.should == [:pub] end end diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 68362ddf60..3c41adcdc9 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -3256,6 +3256,7 @@ vm_call_symbol(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, return vm_call_method_each_type(ec, reg_cfp, calling); case METHOD_VISI_PRIVATE: vm_cc_method_missing_reason_set(cc, MISSING_PRIVATE); + break; case METHOD_VISI_PROTECTED: vm_cc_method_missing_reason_set(cc, MISSING_PROTECTED); break; |