struct Foo { float* what; float opIndex(size_t idx) { return what[idx]; } }
Foo* foo; float x = foo[idx]; // ****** <source>(68): Error: cannot implicitly convert expression `foo[cast(ulong)idx]` of type `Foo` to `float`
IE, pointer indexing of 'foo' takes precedence over the opIndex of foo. Is this expected?