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

           Summary: Using TypeTuple with (const/in/ref etc.) changes it
                    forever
           Product: D
           Version: D1 & D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nob...@puremagic.com
        ReportedBy: verylonglogin....@gmail.com


--- Comment #0 from Denis <verylonglogin....@gmail.com> 2011-10-03 22:32:03 PDT 
---
If any two from r/i/o functions are uncommented a compiler try to add mutually
exclusive storage classes and fails with "Assertion failure: '0' on line 8438
in file 'mtype.c'"
---
template TypeTuple(TList...)
{
    alias TList TypeTuple;
}

alias TypeTuple!(int) T;

void f(      T) { }
void c(const T) { }  ///T now is (const int)
void r(ref   T) { }  ///T now is(ref const int)
/*
void i(in    T) { }  ///Uncomment to get an Assertion failure in 'mtype.c'
void o(out   T) { }  ///ditto
*/

void main()
{
    f(0); //With D2: Error: function main.f ((ref const const(int) _param_0))
is not callable using argument types (int)
}
---

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

Reply via email to