http://d.puremagic.com/issues/show_bug.cgi?id=11344
--- Comment #2 from [email protected] 2013-10-25 02:08:16 PDT --- Seems that there is something wrong with the array specialization. This prints almost the same error messages: ----- import std.stdio; struct vec2f { public: float[2] values; alias values this; } void foo(T)(ref T obj) if (is(T == struct)) { writeln("#1"); } void foo(T : U[n], U, size_t n)(ref T obj) { writeln("#2"); } void main() { vec2f v; foo!vec2f(v); foo(v); foo(v.values); } ---- But this works fine: ---- import std.stdio; import std.traits; struct vec2f { public: float[2] values; alias values this; } void foo(T)(ref T obj) if (is(T == struct)) { writeln("#1"); } void foo(T)(ref T obj) if (isStaticArray!T) { writeln("#2"); } void main() { vec2f v; foo!vec2f(v); foo(v); foo(v.values); } ---- And prints the expected result: #1 #1 #2 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
