Project

General

Profile

Actions

Bug #7018

closed

unexpected behavior that constant is overridden and redefined

Added by qianthinking (Leon Li) over 11 years ago. Updated over 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
ruby -v:
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux]
Backport:
[ruby-core:47503]

Description

module Foo
module Bar
end
end

include Foo

m = Bar

#Bar expected being opened, instead, it is overridden and redefined only in 1.9.2-p320
module Bar
end

puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}: #{m == Bar}"

$ rvm 1.8.7,1.9.2-p180,1.9.2-p290,1.9.2-p320,1.9.3-p0,1.9.3-p194 do ruby -e 'module Foo; module Bar; end; end; include Foo; m = Bar; module Bar; end; puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}: #{m == Bar}"'

1.8.7-p357: true
1.9.2-p180: true
1.9.2-p290: true
1.9.2-p320: false
1.9.3-p0: true
1.9.3-p194: true

Actions

Also available in: Atom PDF

Like0
Like0