Issue #10773 has been updated by Koichi Sasada.


Where is "meth_in_m"?


----------------------------------------
Feature #10773: nested module should work in instance_eval
https://bugs.ruby-lang.org/issues/10773#change-51242

* Author: roro co
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
see my code:

~~~
module M
  module M2

  end
end

class C
  include M

  def ivk_m2(*args, &blk)
    M2
  end
end

C.new.ivk_m2 # work
C.new.instance_eval do
  meth_in_m # work
  M2 # not work
end

~~~

and output

~~~
Uncaught exception: uninitialized constant M2
	/home/roroco/Dropbox/rbs/ro_btc/exe.rb:22:in `block in <top (required)>'
	/home/roroco/Dropbox/rbs/ro_btc/exe.rb:20:in `instance_eval'
	/home/roroco/Dropbox/rbs/ro_btc/exe.rb:20:in `<top (required)>'
~~~

in above code,  i think ```C.new.instance { M2 }``` should invoke M::M2 in syntax since it's in "instance block" or "main"




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