[MacRuby-devel] Super not passing init: through to NSObject correctly?
Laurent Sansonetti
lsansonetti at apple.com
Mon Oct 5 20:08:41 PDT 2009
On Oct 5, 2009, at 8:01 PM, Conrad Taylor wrote:
> What should be the exact output? In Ruby 1.9.1, I see the following
> output:
>
> $ ruby test.rb
> "A"
> "B"
> "C"
> "D"
[snip]
#init is actually a NSObject thing. MacRuby's default initializer
calls it.
The mainstream Ruby doesn't, which explains your output.
> Next, will there be an implementation of BasicObject in MacRuby as
> it is in Ruby 1.9.x?
There is one already (maybe not 100% compatible):
$ macruby -e "p BasicObject"
BasicObject
Laurent
> On Mon, Oct 5, 2009 at 7:45 PM, Laurent Sansonetti <lsansonetti at 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 at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
More information about the MacRuby-devel
mailing list