Comment #0 by verylonglogin.reg — 2011-10-03T22:32:03Z
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)
}
---