http://d.puremagic.com/issues/show_bug.cgi?id=1951
--- Comment #3 from Kenji Hara <[email protected]> 2012-11-16 00:53:12 PST --- (In reply to comment #2) > --------------- > struct Test { > alias int foo; > } > > void f(T)(T.foo x) {} // Definition #1 > > void f(T)(T x) {} // Definition #2 > > void main() { > f!(Test)(10); // Call #1. > f!(int)(10); // C++ No error (even though there is no int::foo) thanks to > SFINAE. > } > ------------ > bug.d(5): Error: no property 'foo' for type 'int' > bug.d(5): Error: T.foo is used as a type > ------------ I think that is not a lack SFINAE, rather the type deduction mechanism issue. In current, T.foo is not treated as a *partially parameterized* type name. I recently filed bug 9022 to support such type deduction. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
