Project

General

Profile

Bug #7018

unexpected behavior that constant is overridden and redefined

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

Status:
Rejected
Priority:
Normal
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

History

Updated by naruse (Yui NARUSE) about 7 years ago

  • Status changed from Open to Rejected

Ruby 1.9.2's normal maintenance is finished.
https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering

Also available in: Atom PDF