Summary: Using TypeTuple with (const/in/ref etc.) changes it
           Product: D
           Version: D1 & D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD

--- Comment #0 from Denis <> 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:
------- You are receiving this mail because: -------

Reply via email to