DMD(2.059HEAD) rejects UFCS with an explicitly instantiated template function called as a property. ---- void f(T)(T a) { } void main() { int x; x.f; // accepted x.f(); // accepted x.f!int; // rejected -- "f(x) isn't a template" x.f!int(); // accepted }
https://github.com/D-Programming-Language/dmd/pull/812