Issue #3080 has been updated by nobu (Nobuyoshi Nakada). Status changed from Assigned to Closed ---------------------------------------- Bug #3080: class_variable_set issue with duped Module https://bugs.ruby-lang.org/issues/3080#change-35124 Author: dolzenko (Evgeniy Dolzhenko) Status: Closed Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: Target version: 2.0.0 ruby -v: ruby 1.9.2dev (2010-04-02 trunk 27162) [i686-linux] =begin Below is the test case which is failing for me on ruby 1.9.2dev (2010-04-02 trunk 27162) [i686-linux] but works on ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux]: --- module Original @@cvar = nil def self.module_get_cvar @@cvar end def function_get_cvar @@cvar end end Duped = Original.dup Original.send(:class_variable_set, :@@cvar, "cvar in Original") Duped.send(:class_variable_set, :@@cvar, "cvar in Duped") class IncludesOriginal include Original end class IncludesDuped include Duped end puts IncludesOriginal.new.function_get_cvar # => cvar in Original puts IncludesDuped.new.function_get_cvar # => cvar in Duped puts Original.module_get_cvar # => cvar in Original puts Duped.module_get_cvar # => 19_duped_module_class_variable_set_bug.rb:3: warning: class variable access from toplevel # 19_duped_module_class_variable_set_bug.rb:3:in `get_cvar': uninitialized class variable @@cvar in Object (NameError) # from 19_duped_module_class_variable_set_bug.rb:13:in `<main>' --- =end
on 2012-12-28 13:39
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.