On Saturday, 17 August 2013 at 00:25:44 UTC, H. S. Teoh wrote:
One interesting effect is that t is an RT-tuple, then typeof(t)
is a
CT-tuple, but since they're the same thing, then the type of a
tuple is
another tuple.
Currently it is not the case. typeof(tuple(1,2)) is
Tuple!(int,int), not TypeTuple!(int, int). But
typeof(TypeTuple(1,2)) is TypeTyple!(int, int) :)
As I have already said it is not really about RT vs CT, it is
more like "pure abstraction" vs "ABI-meaningful type".
std.typecons.Tuple is normal templated struct so it has a proper
symbol name, mangling and defined ABI for parameter-passing.
Built-in one is just a syntax sugar, it has no meaning across
object file borders.