[MacRuby-devel] Segmentation fault for classes with multiple modules chained with super

Eloy Duran eloy.de.enige at gmail.com
Tue Sep 1 14:00:26 PDT 2009


Added in r2452, thanks!

Btw: I prefer a git format-patch diff :)

Eloy

On 1 sep 2009, at 20:58, Alexey Borzenkov wrote:

> On Tue, Sep 1, 2009 at 1:12 AM, Laurent Sansonetti<lsansonetti at apple.com 
> > wrote:
>> Hi Alexey,
>>
>> Looks like you found a bug in super :) Would you be willing to  
>> contribute a
>> snippet for test_vm/dispatch.rb? This is where we keep all these  
>> weird cases
>> to make sure we won't forget to fix them.
>
> Here it is. Works on both MRI 1.8 and 1.9:
>
> diff --git a/test_vm/dispatch.rb b/test_vm/dispatch.rb
> index 052f5f5..dee4376 100644
> --- a/test_vm/dispatch.rb
> +++ b/test_vm/dispatch.rb
> @@ -371,3 +371,11 @@ assert "42", %{
>   class Y < X; def foo(x); 1.times { |; x| x = 1; super; } end; end
>   Y.new.foo(42)
> }
> +
> +assert "true", %{
> +  class X; def foo(x); x; end; end
> +  module M1; def foo(x); super(true); end; end
> +  module M2; def foo(x); return false if x; super; end; end
> +  class Y < X; include M1; include M2; def foo; super(false); end;  
> end
> +  p Y.new.foo
> +}
> _______________________________________________
> 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