DIP54 : revamp of Phobos tuple types
monarch_dodra
monarchdodra at gmail.com
Mon Dec 23 05:23:38 PST 2013
> 5 Algorithms from `std.typetuple` are re-written to accept
> non-expanding template argument lists and form base for
> `std.meta.` package.
Why? This seems to me like it would create duplication for
nothing. These templates would do the expanding themselves?
Unless I'm mistaken, the `TemplateArgumentList`represents a
packaged and convenient to use type. You only unpack it when you
actually pass around the types.
If anything, this would create ambiguity. If the algorithms from
typetuple accept a TemplateArgumentList, and expand it
themselves, then we'd be creating ambiguity:
eg:
staticIndexOf(int, TemplateArgumentList!(int, double), int);
Produces 1? 2? 3?
I really don't know.
I think TemplateArgumentList should be handled as what it is: a
*type*, and not unpackaged by clients receiving the type, but by
providers of the type.
More information about the Digitalmars-d
mailing list