xxxxxxxxxx
void main()
{
Vec preds = Vec(0xDEAD);
void* ptr1 = &preds;
void* ptr2 = &preds[0];
assert(ptr1 == ptr2);
}
struct Vec
{
uint item;
ref uint opIndex(size_t index)
{
return item;
// commenting next line fixes bug
foreach(ref val; range()) return val;
assert(false);
}
}
struct range
{
int opApply(scope int delegate(ref uint) dg) { return 0; }
}