Project

General

Profile

Actions

Feature #10773

closed

nested module should work in instance_eval

Feature #10773: nested module should work in instance_eval

Added by roroco (roro co) almost 11 years ago. Updated over 10 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:67761]

Description

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"

Actions

Also available in: PDF Atom