What should be the exact output? In Ruby 1.9.1, I see the following output: $ ruby test.rb "A" "B" "C" "D" Note: When <class>.new is called allocate method is called. Then the object's initialize method is called and the instance is returned to the caller. $ macruby test.rb "HasInit" "A" "HasInit" "B" "C" Segmentation fault Now, changing the init methods to initialize, the following output is generated: $ ruby test.rb "HasInit" "A" "HasInit" "B" "C" "D" $ macruby test.rb "HasInit" "A" "HasInit" "B" "C" "D" Next, will there be an implementation of BasicObject in MacRuby as it is in Ruby 1.9.x? -Conrad On Mon, Oct 5, 2009 at 7:45 PM, Laurent Sansonetti <lsansonetti@apple.com>wrote:
Thanks for the report, I added your snippet in our test suite.
At a glance it looks like an infinite loop in the dispatcher. Definitely a bug :)
Laurent
On Oct 5, 2009, at 6:37 PM, Michael Shapiro wrote:
Hi all,
I searched a few months of the list archives and trac, but wasn't able to find reference to this.
Calling `super` inside of an overridden #init function where no ruby ancestors define #init causes a segmentation fault. If I'm not mistaken, shouldn't the init: message be passed to NSObject?
--------------------------------------------------------- class HasInit def init super p 'HasInit' self end end
class A < HasInit; end
class B < A; end
A.new p 'A' B.new p 'B'
class HasNoInit; end
class C < HasNoInit; end
class D < C def init super self end end
C.new p 'C' D.new p 'D' ---------------------------------------------------------
You should see the segfault happen when trying to init D, but HasInit passes the message through to NSObject just fine, it seems.
Tested with the 2009-10-05-1158 nightly.
Thanks! --Mike _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel