On 9/23/11, Jonathan M Davis <[email protected]> wrote: > Though given that allSatisfy!(isNumeric, int, short) will work with > std.traits.isNumeric and not std.string.isNumeric, I suspect that a template > constraint could be added which would fix the problem simply by checking > whether the compilation succeeds or not with the given arguments.
I'm not sure if allSatisfy was meant to be used with regular functions, it's used with templates and types (hence it's in typetuple). I think an alternative "all" template for runtime arguments was already proposed. My problem is not the name clashes but the fact that the error message is in the body of the allSatisfy template, and this is exactly where constraints come in handy. It took me a while before I figured out that std.string had the same function name, but I'm using an alias now to remedy this.
