Howdy, any idea what Im doing wrong? Given a type T i want to
test the presence of certain methods. I looked in phobos to see
how isInputRange was defined but it didnt really help as all the
methods have no parameters and it used some weird lamda stuff i
think.
template isPathType(T)
{
alias FloatType = ReturnType!(T.x);
enum isPathType = (isFloatOrDouble!(FloatType)
&& (is(typeof(&T.x) == FloatType delegate(size_t idx)))
&& (is(typeof(&T.y) == FloatType delegate(size_t idx)))
&& (is(typeof(&T.cmd) == PathCmd delegate(size_t idx)))
&& (is(typeof(&T.points) == Point!FloatType
delegate(size_t idx)))
&& (is(typeof(&T.length) == size_t delegate())));
}