www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 711] New: combining mixins and overriding causes inifite loops

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=711

           Summary: combining mixins and overriding causes inifite loops
           Product: D
           Version: 0.177
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: thomas-dloop kuehne.cn


(Originally posted by Chris Miller <chris dprogramming.com>
on 2006-01-30 as news:op.s36xvez5po9bzi moe)

#
# import std.stdio;
#
# template Mixer(){
#    void test(){
#       writefln("Mixer.test");
#    }
# }
#
# class Foo{
#    void test(){
#       writefln("Foo.test");
#    }
# }
#
# class Bar : Foo{
#    mixin Mixer!() mixer;
#
#    void test(){
#       writefln("Bar.test");
#       mixer.test();
#    }
# }
#
# void main(){
#    Bar f = new Bar();
#    f.test();
# }
#

output:
 Bar.test
 Bar.test
 Bar.test
 [...]

expected output:
 Bar.test
 Mixer.test

test cases: http://dstress.kuehne.cn/run/m/mixin_16_A.d http://dstress.kuehne.cn/run/m/mixin_16_B.d http://dstress.kuehne.cn/run/m/mixin_16_C.d http://dstress.kuehne.cn/run/m/mixin_16_D.d --
Dec 22 2006
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=711


Andrei Alexandrescu <andrei metalanguage.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |andrei metalanguage.com
         AssignedTo|nobody puremagic.com        |bugzilla digitalmars.com


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 26 2010