On Monday, 23 December 2013 at 11:58:06 UTC, Dicebot wrote:
Also having both types at the same time will cause difficulties with template algorithms currently present in std.typetuple - having some defined in terms of raw argument list and others in terms of packed TemplateArgumentList is just another learning curve damage.

OK, I convinced. It's definetly bad to have both `auto-expansion TypeTuple` and `TemplateArgumentList without auto-expansion` template algorithms. So, I totally agree with this DIP, we need only `TemplateArgumentList without auto-expansion`.

BTW, I was very surprised when I saw the code from `std.typetuple.TypeTuple`:

alias TL = TypeTuple!(int, double);

alias Types = TypeTuple!(TL, char);
static assert(is(Types == TypeTuple!(int, double, char)));

It's definitely better to have `.expand` property:

alias Types = TypeTuple!(TL.expand, char);

Reply via email to