http://d.puremagic.com/issues/show_bug.cgi?id=9235


Maksim Zholudev <maxim...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |maxim...@gmail.com


--- Comment #2 from Maksim Zholudev <maxim...@gmail.com> 2013-01-30 05:49:59 
PST ---
http://dlang.org/template-mixin.html
"Alias declarations can be used to overload together functions declared in
different mixins"

Unfortunately this doesn't work:
-------------------
mixin template mixA()
{
    void foo(string s)() if(s == "a") {}
}

mixin template mixB()
{
    void foo(string s)() if(s == "b") {}
}

struct Foo
{
    mixin mixA A;
    mixin mixB B;
    alias A.foo foo;
    alias B.foo foo;
}

void main()
{
    Foo f;
    f.foo!"a"();
}
-------------------
test.d(16): Error: alias test.Foo.foo conflicts with alias test.Foo.foo at
test.d(15)
-------------------

It looks like signature constraints are ignored in this case.

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

Reply via email to