[MacRuby] #1326: Cannot create nested modules with names used by Cocoa classes when using the C API

MacRuby ruby-noreply at macosforge.org
Mon Jun 13 07:13:42 PDT 2011


#1326: Cannot create nested modules with names used by Cocoa classes when using
the C API
------------------------------------+---------------------------------------
 Reporter:  mrada@…                 |       Owner:  lsansonetti@…        
     Type:  defect                  |      Status:  new                  
 Priority:  minor                   |   Milestone:                       
Component:  MacRuby                 |    Keywords:                       
------------------------------------+---------------------------------------
 Referring to: https://gist.github.com/66da73fa9f138ff49882

 If you use rb_define_module_under() to create a new module in a different
 module, it will fail if the new modules name is the same as a Cocoa class
 (e.g. "NSString"):
 {{{
 mTest = rb_define_module("Test");
 rb_define_module_under(mTest, "NSString");
 // TypeError: Test::NSString:Class is not a module
 }}}

 The weird part is that this will not fail if you wrote the code in pure
 Ruby:
 {{{
 module Test
   module NSString
   end
 end
 }}}

 This is an inconsistency.

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



More information about the macruby-tickets mailing list