[MacRuby] #1132: Reopening a class modifies it
#1132: Reopening a class modifies it ------------------------------------------+--------------------------------- Reporter: justin@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 0.9 Component: MacRuby | Keywords: ------------------------------------------+--------------------------------- I have tried to create an example that doesn't rely on an external Gem, but so far this is the best test case I have to reproduce this---- Install BinData gem (used v1.3.1): {{{ macgem install bindata }}} Run the following w/ MacRuby r5191: {{{ require 'rubygems' require 'bindata' class MyRecord < BinData::Record uint16be :a_field end }}} No output-- good. Now run this modified code, that simply reopens the BinData::Base class but does not intentionally modify it: {{{ require 'rubygems' require 'bindata' class BinData::Base end class MyRecord < BinData::Record uint16be :a_field end }}} /Users/justin/.rvm/gems/ruby-1.9.1-p378/gems/bindata-1.3.1/lib/bindata/dsl.rb:158:in `dsl_raise:': unknown type 'uint16be' in MyRecord (TypeError) This is a regression--- running this same code in MacRuby 0.8 produces no exceptions, nor does running it under CRuby 1.9.2. -- Ticket URL: <http://www.macruby.org/trac/ticket/1132> MacRuby <http://macruby.org/>
#1132: Reopening a class modifies it ------------------------------------------+--------------------------------- Reporter: justin@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 1.0 Component: MacRuby | Keywords: 0.9-blocker ------------------------------------------+--------------------------------- Changes (by lsansonetti@…): * keywords: => 0.9-blocker * milestone: MacRuby 0.9 => MacRuby 1.0 Comment: This should be fixed in 0.9. Adding 0.9-blocker keyword. -- Ticket URL: <http://www.macruby.org/trac/ticket/1132#comment:1> MacRuby <http://macruby.org/>
#1132: Reopening a class modifies it ------------------------------------------+--------------------------------- Reporter: justin@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 1.0 Component: MacRuby | Keywords: 0.9-blocker ------------------------------------------+--------------------------------- Comment(by watson1978@…): It seems that this problem occurs since r5032 (for fixing #1045). -- Ticket URL: <http://www.macruby.org/trac/ticket/1132#comment:2> MacRuby <http://macruby.org/>
#1132: Reopening a class modifies it ------------------------------------------+--------------------------------- Reporter: justin@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: MacRuby 1.0 Component: MacRuby | Keywords: 0.9-blocker ------------------------------------------+--------------------------------- Comment(by lsansonetti@…): It looks like that we will have to introduce a LLVM gvar to store the current opened outer and use it for const lookups/sets. -- Ticket URL: <http://www.macruby.org/trac/ticket/1132#comment:3> MacRuby <http://macruby.org/>
#1132: Reopening a class modifies it ------------------------------------------+--------------------------------- Reporter: justin@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: blocker | Milestone: MacRuby 0.9 Component: MacRuby | Resolution: fixed Keywords: 0.9-blocker | ------------------------------------------+--------------------------------- Changes (by lsansonetti@…): * status: new => closed * resolution: => fixed * milestone: MacRuby 1.0 => MacRuby 0.9 Comment: Should be fixed in r5236. -- Ticket URL: <http://www.macruby.org/trac/ticket/1132#comment:4> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby