[Issue 7418] New: Overloading doesn't work with aliases declared inside templates

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 1 11:34:06 PST 2012


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

           Summary: Overloading doesn't work with aliases declared inside
                    templates
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: siegelords_abode at yahoo.com


--- Comment #0 from siegelords_abode at yahoo.com 2012-02-01 11:34:05 PST ---
void test(uint a)
{

}

void test(char[] a)
{

}

template _test1(T = void)
{
    alias test _test1;
}

alias test _test2;

void main()
{
    _test2("a".dup);
    _test2(1U);

    _test1!()("a".dup); // Error: cannot implicitly convert expression
(_adDupT(&_D12TypeInfo_Aya6__initZ,cast(string)"a")) of type char[] to uint
    _test1!()(1U);
}

Note how the alias outside the template works fine, but the one inside the
alias only picks up the lexically first match. Note that this works fine in D1.

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


More information about the Digitalmars-d-bugs mailing list