[MacRuby] #1132: Reopening a class modifies it

MacRuby ruby-noreply at macosforge.org
Thu Jan 27 18:26:07 PST 2011


#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/>



More information about the macruby-tickets mailing list