Thread overview
[Issue 197] New: mixin mixin repeated twice when error.
Jun 16, 2006
d-bugmail
Jun 16, 2006
Derek Parnell
Jul 01, 2006
d-bugmail
June 16, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=197

           Summary: mixin mixin repeated twice when error.
           Product: D
           Version: 0.160
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: trivial
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: huangl@tfol.net


the programe :

interface Interface
{
    void Method();
};

template CInterfaceImpl(Host)
{
    void Method()
    {
        printf("hello");
    }
}

class ClassOne : Interface
{
    mixin CInterfaceImpl!(ClassOne, Interface);
};

int main(char[][] argv)
{
    Interface p = new ClassOne;
    p.Method();

    return 0;
}

compile error normally but give a confusing error:

iftest.d(17): mixin mixin CInterfaceImpl!(ClassOne,Interface);
 does not match any template declaration

what's the "mixin mixin"?


-- 

June 16, 2006
On Fri, 16 Jun 2006 01:50:23 +0000 (UTC), d-bugmail@puremagic.com wrote:

> http://d.puremagic.com/issues/show_bug.cgi?id=197
> 
>            Summary: mixin mixin repeated twice when error.
>            Product: D
>            Version: 0.160
>           Platform: PC
>         OS/Version: Windows
>             Status: NEW
>           Severity: trivial
>           Priority: P2
>          Component: DMD
>         AssignedTo: bugzilla@digitalmars.com
>         ReportedBy: huangl@tfol.net
> 
> the programe :
> 
> interface Interface
> {
>     void Method();
> };
> 
> template CInterfaceImpl(Host)
> {
>     void Method()
>     {
>         printf("hello");
>     }
> }
> 
> class ClassOne : Interface
> {
>     mixin CInterfaceImpl!(ClassOne, Interface);
> };
> 
> int main(char[][] argv)
> {
>     Interface p = new ClassOne;
>     p.Method();
> 
>     return 0;
> }
> 
> compile error normally but give a confusing error:
> 
> iftest.d(17): mixin mixin CInterfaceImpl!(ClassOne,Interface);
>  does not match any template declaration
> 
> what's the "mixin mixin"?

Poor formatting ;-) The message should read more like ...

iftest.d(17): The mixin statement "mixin
CInterfaceImpl!(ClassOne,Interface);" does not match any template
declaration.

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
"Down with mediocrity!"
16/06/2006 11:53:57 AM
July 01, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=197


bugzilla@digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from bugzilla@digitalmars.com  2006-06-30 20:30 -------
Fixed DMD 0.162


--