[MacRuby] #1403: Modules included indirectly get included twice

MacRuby ruby-noreply at macosforge.org
Fri Oct 7 16:15:04 PDT 2011


#1403: Modules included indirectly get included twice
----------------------------------------+-----------------------------------
 Reporter:  ernest.prabhakar@…          |       Owner:  lsansonetti@…        
     Type:  defect                      |      Status:  new                  
 Priority:  major                       |   Milestone:  MacRuby 0.11         
Component:  MacRuby                     |    Keywords:                       
----------------------------------------+-----------------------------------
 If module Bar includes Foo, then anything that includes Bar includes Foo
 twice.

 {{{
 #!/usr/bin/env ruby
 module Foo
   def singleton; class << self; self; end; end
 end

 module Bar
   include Foo
 end

 class Array
   include Bar
 end
 puts Array.ancestors
 s = "\nDone\n".extend(Bar)
 puts s
 puts s.singleton.ancestors
 }}}

 {{{
 prabhaka$ rvm current
 macruby-0.10

 prabhaka$ ruby spec/include_test.rb
 Array
 Bar
 Foo
 Foo
 NSMutableArray
 NSArray
 Enumerable
 NSObject
 Kernel
 }}}
 This does not have with 1.8 or 1.9. It may be related to #718

 {{{
 prabhaka$ rvm current
 ruby-1.9.2-p180

 prabhaka$ ruby spec/include_test.rb
 Array
 Bar
 Foo
 Enumerable
 Object
 Kernel
 BasicObject
 }}}

 This occurs whether the module is included in a class or extending an
 instance.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1403>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list