1 // https://issues.dlang.org/show_bug.cgi?id=23651
3 template isCallable(alias callable)
5 static if (is(typeof(&callable!())))
6 enum bool isCallable = isCallable!(typeof(&callable!()));
8 enum bool isCallable = true;
13 template FunctionTypeOf(alias func)
16 alias FunctionTypeOf = typeof(foo);
19 template ReturnType(alias func)
21 static if (is(FunctionTypeOf!func R == return))
25 template isAttrRange()
27 alias NameType = ReturnType!((string r) => r);
28 //pragma(msg, "isAttrRange ", NameType, " ", string);
29 static assert(is(NameType == string));
31 enum isAttrRange = is(NameType == string);
34 static assert(isAttrRange!());