On Friday, 11 May 2012 at 17:19:28 UTC, kenji hara wrote:
This is expected behavior.
'alias this' works as proper super type.
struct S { T[] data; alias data this; }
In this code, S behaves as it is derived from T[] .
Following to this view, the definition of opIndex in S
overrides (and
hides) T[]'s opIndex completely.
Kenji Hara
How do you overcome this, in the case where you don't know the
data type of 'data' (so you don't know what the overloads might
look like, maybe because it's a template)?