On Sunday, 7 February 2016 at 12:51:07 UTC, Ola Fosheim Grøstad wrote:
On Sunday, 7 February 2016 at 12:28:07 UTC, tsbockman wrote:
That is surprising indeed, but I don't see how fixing it would solve the Tuple.slice() memory alignment issues.

Why won't a reinterpret cast work?

struct tupleX {
  T0 _0;
  T1 _1;
}

struct tupleX_slice_1_2 {
  T0 _dummy0;
  T1 _0
}

That is essentially what my PR does. But, some people are unhappy with the thought of a slice's type not matching the type of the equivalent standard Tuple:

Tuple!(int, bool, string) foo;
const bar = foo.slice!(1, 3)();

static assert(! is(typeof(bar) == Tuple!(bool, string)));

Reply via email to